在Ubuntu上安装AMD OpenCL

4

我想安装fglrx并使用GPU,但安装不成功。我正在使用ubuntu 14.04.03 Trusty。

这里是lspci输出:

[thomas@elsa:~]$ lspci | grep -i --color 'vga'
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th 
Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] 
Oland XT [Radeon HD 8670 / R7 250/350]

我已经尝试按照这个这个这个的步骤安装它了。我有什么遗漏吗?还需要安装其他东西吗?您有什么想法吗?非常感谢。

面临什么错误/问题? - Prabindh
在Ubuntu上安装了fglrx之后,重启后出现了黑屏。我没有忘记执行sudo amdconfig --initial -f命令。当我卸载flgrx时,一切恢复正常。我错过了什么? - Thomas BRAUD
2个回答

5

显示驱动程序:(注意:在AMD GPU上运行OpenCL不需要此项要求)

以下是您可以尝试安装AMD驱动程序的其他链接:安装AMD驱动1安装AMD驱动2

我发现(使用Nvidia驱动程序),当X没有正确配置时会出现黑屏,因此您必须正确地遵循这些步骤。

第一个链接建议使用fglrxinfo检查AMD驱动程序的状态,因此我假设如果您没有遇到黑屏问题,请检查AMD驱动程序是否正常工作。

OpenCL:(只需要AMD APP SDK)

要使用AMD GPU和OpenCL,您不需要显示驱动程序,(请注意,您引用的第一篇文档(安装指南)第4页上有一部分写着“如果未安装Catalyst”),您只需要OpenCL运行时驱动程序(libOpenCL - 用于在GPU上运行编译后的OpenCL代码)和头文件(用于实际开发和编译OpenCL代码)。这两者都随附于AMD APP SDK中。只需按照安装指南进行安装(如果不需要GPU进行显示,则可以尝试不使用Catalyst驱动程序)。

检查/opt/AMDAPPSDK-3.0/是否具有二进制文件,它应该包括一个lib目录,在其中可以找到libOpenCL.so,以及一个include/CL目录,其中可以找到所有头文件。

此外,该SDK将具有一个clinfo二进制文件(至少我在Arch上的安装中有),位于SDK的bin目录中,因此请运行:

/path/to/AMDAPPSDK/bin/clinfo

为了检查您的GPU是否可以被检测到,以下是我安装时使用clinfo命令的一些输出结果(检测到Intel CPU):

Number of platforms:                 2
  Platform Profile:              FULL_PROFILE
  Platform Version:              OpenCL 2.0 AMD-APP (1800.8)
  Platform Name:                 AMD Accelerated Parallel Processing
  Platform Vendor:               Advanced Micro Devices, Inc.
  Platform Extensions:               cl_khr_icd cl_amd_event_callback cl_amd_offline_devices 
  Platform Profile:              FULL_PROFILE
  Platform Version:              OpenCL 1.2 LINUX
  Platform Name:                 Intel(R) OpenCL
  Platform Vendor:               Intel(R) Corporation

# Some other information

# Information about a platform -- you should see AMD and Xeon
  Platform Name:                 AMD Accelerated Parallel Processing
Number of devices:               1
  Device Type:                   CL_DEVICE_TYPE_CPU
  Vendor ID:                     1002h
  Board name:                    
  Max compute units:                 8
  Max work items dimensions:             3
    Max work items[0]:               1024
    Max work items[1]:               1024
    Max work items[2]:               1024
  Max work group size:               1024

# Rest of information

3

我遇到了与AMD A10-6800K相同的问题。我发现唯一让OpenCL在此上工作的解决方案是:

  1. 如果您拥有更新的LTS,请使用Ubuntu 14.04。我已经尝试过16.04,但官方不再支持fglrx驱动。我也没有运气使用实验性的AMDGPU-PRO或类似的驱动程序。最终我安装了一个新的14.04。

  2. 您需要一个驱动程序。直接从Ubuntu软件中心安装驱动程序。您也可以在“附加驱动程序”中安装它。不要从amd.com下载最新的驱动程序。它会有编译错误。您可能最终可以找到解决方案。但如果您只想进行OpenCL编码,请退回到Ubuntu自带的驱动程序。安装clinfo,您应该能够找到GPU。

  3. 不要使用AMD APP SDK 3.0中的OpenCL库。当您安装驱动程序时,您的系统已经有了OpenCL库。我以root身份安装了SDK 3.0,允许其用随SDK提供的库替换旧库。突然间,所有的OpenCL API调用都挂起了,包括clinfo。我卸载了SDK,一切又回到了正常。我猜这也可能是由驱动程序引起的?无论如何,如果您需要SDK编译文件,您总是可以像普通用户一样安装它。

  4. 现在clinfo应该可以工作并享受OpenCL!顺便说一下,AMD APU运行OpenCL时的性能很差....


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接