我安装了AMD APP SDK,这是我的问题。 OpenCL示例不会检测到GPU。 HelloWorld给我这个:

[thomas@Clemence:/opt/AMDAPP/samples/opencl/bin/x86_64]$ ./HelloWorld
No GPU device available.
Choose CPU as default device.
input string:
GdkknVnqkc

output string:
HelloWorld
Passed!


这里的clinfo输出可以使用GPU?提前致谢。我正在使用Ubuntu 14.04.3 LTS Trusty Kernel 3.9

我的图形卡在这里:

[thomas@Clemence:~/Documents/radeontop]$ clinfo
Number of platforms:                 1
Platform Profile:                FULL_PROFILE
Platform Version:                OpenCL 1.2 AMD-APP (1214.3)
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 Name:               AMD Accelerated Parallel Processing
Number of devices:               1
Device Type:                     CL_DEVICE_TYPE_CPU
Device ID:                   4098
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
Preferred vector width char:             16
Preferred vector width short:            8
Preferred vector width int:          4
Preferred vector width long:             2
Preferred vector width float:            8
Preferred vector width double:       4
Native vector width char:            16
Native vector width short:           8
Native vector width int:             4
Native vector width long:            2
Native vector width float:           8
Native vector width double:          4
Max clock frequency:                 3633Mhz
Address bits:                    64
Max memory allocation:           4182872064
Image support:               Yes
Max number of images read arguments:         128
Max number of images write arguments:        8
Max image 2D width:              8192
Max image 2D height:                 8192
Max image 3D width:              2048
Max image 3D height:                 2048
Max image 3D depth:              2048
Max samplers within kernel:          16
Max size of kernel argument:             4096
Alignment (bits) of base address:        1024
Minimum alignment (bytes) for any datatype:  128
Single precision floating point capability
Denorms:                     Yes
Quiet NaNs:                  Yes
Round to nearest even:           Yes
Round to zero:               Yes
Round to +ve and infinity:           Yes
IEEE754-2008 fused multiply-add:         Yes
Cache type:                  Read/Write
Cache line size:                 64
Cache size:                  32768
Global memory size:              16731488256
Constant buffer size:                65536
Max number of constant args:             8
Local memory type:               Global
Local memory size:               32768
Kernel Preferred work group size multiple:   1
Error correction support:            0
Unified memory for Host and Device:      1
Profiling timer resolution:          1
Device endianess:                Little
Available:                   Yes
Compiler available:              Yes
Execution capabilities:              
Execute OpenCL kernels:          Yes
Execute native function:             Yes
Queue properties:                
Out-of-Order:                No
Profiling :                  Yes
Platform ID:                     0x00007f4ef63f0fc0
Name:                        Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
Vendor:                  GenuineIntel
Device OpenCL C version:             OpenCL C 1.2 
Driver version:              1214.3 (sse2,avx)
Profile:                     FULL_PROFILE
Version:                     OpenCL 1.2 AMD-APP (1214.3)
Extensions:                  cl_khr_fp64 cl_amd_fp64     cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt 


#1 楼

我应该警告您,我对Linux或编程或设备驱动程序一无所知,但是我曾经遇到过您的确切问题。

这可能是udev规则问题。您的用户组可能无权写入gpu设备或任何libOpenCL.so。 $ sudo clinfo是否找到gpu?

您的程序可能未使用正确的opencl库。我认为有一些提供libopencl.so的ubuntu软件包。您不想使用它们,他们将不知道如何与您的GPU通话。您能否发布:

$ ldd /opt/AMDAPP/samples/opencl/bin/x86_64/HelloWorld


如果libOpenCL.so *行(有时为libcl.so *)没有指向AMD库,则需要找到AMD libOpenCL.so库,并确保在运行时使用的库之前先找到它。

然后我会做$ sudo updatedb

$ locate libOpenCL.so




$ locate libcl.so


您的./HelloWorld尝试链接到的链接。然后将LD_LIBRARY_PATH设置到首选库的父文件夹。

$ export LD_LIBRARY_PATH=/path to lib*cl.so* that was installed by AMD driver/ 
$ clinfo
$ ./HelloWorld


评论


$ \ begingroup $
clinfo不起作用,但是sudo clinfo对我有用。
$ \ endgroup $
– nair.ashvin
17年6月8日在14:20

#2 楼

我也无法通过clinfo看到我的GPU。

对我来说,修复是在BIOS中禁用了安全启动,这不允许Ubuntu内核加载DKMS代码。安装驱动程序后甚至出现ncurses警告,在我的情况下为Ubuntu 16.10上的AMDGPU PRO 16.60。

我希望这会有所帮助!