Message boards : GPUs : Linux, AMD Kaveri GPU recognition
Message board moderation
Author | Message |
---|---|
Send message Joined: 25 Mar 14 Posts: 7 |
Are there any plans is which version Kaveri supported under Linux? Only boinc does not recognize the GPU, everything else works. On my System Debian testing. Kernel: 3.13-1-amd64 fglrx-driver from Repo: 1:14.2~beta1.3-1 boinc: 7.2.42 x86_64-pc-linux-gnu lspci -nn: 00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R7 200 Series] [1002:130f] clinfo: Number of platforms: 1 Platform Profile: FULL_PROFILE Platform Version: OpenCL 1.2 AMD-APP (1411.4) 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 cl_amd_hsa Platform Name: AMD Accelerated Parallel Processing Number of devices: 2 Device Type: CL_DEVICE_TYPE_GPU Device ID: 4098 Board name: AMD Radeon(TM) R7 Graphics Device Topology: PCI[ B#0, D#1, F#0 ] Max compute units: 8 Max work items dimensions: 3 Max work items[0]: 256 Max work items[1]: 256 Max work items[2]: 256 Max work group size: 256 Preferred vector width char: 4 Preferred vector width short: 2 Preferred vector width int: 1 Preferred vector width long: 1 Preferred vector width float: 1 Preferred vector width double: 1 Native vector width char: 4 Native vector width short: 2 Native vector width int: 1 Native vector width long: 1 Native vector width float: 1 Native vector width double: 1 Max clock frequency: 720Mhz Address bits: 32 Max memory allocation: 552861696 Image support: Yes Max number of images read arguments: 128 Max number of images write arguments: 8 Max image 2D width: 16384 Max image 2D height: 16384 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: 1024 Alignment (bits) of base address: 2048 Minimum alignment (bytes) for any datatype: 128 Single precision floating point capability Denorms: No 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: 16384 Global memory size: 2032140288 Constant buffer size: 65536 Max number of constant args: 8 Local memory type: Scratchpad Local memory size: 32768 Kernel Preferred work group size multiple: 64 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: No Queue properties: Out-of-Order: No Profiling : Yes Platform ID: 0x00007f40b8c77500 Name: Spectre Vendor: Advanced Micro Devices, Inc. Device OpenCL C version: OpenCL C 1.2 Driver version: 1411.4 (VM) Profile: FULL_PROFILE Version: OpenCL 1.2 AMD-APP (1411.4) 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_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_spir Device Type: CL_DEVICE_TYPE_CPU Device ID: 4098 Board name: Max compute units: 4 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: 3700Mhz Address bits: 64 Max memory allocation: 2147483648 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: 16384 Global memory size: 7208714240 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: 0x00007f40b8c77500 Name: AMD A10-7850K APU with Radeon(TM) R7 Graphics Vendor: AuthenticAMD Device OpenCL C version: OpenCL C 1.2 Driver version: 1411.4 (sse2,avx,fma4) Profile: FULL_PROFILE Version: OpenCL 1.2 AMD-APP (1411.4) 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 cl_khr_spir cl_amd_svm |
Send message Joined: 29 Aug 05 Posts: 15552 |
Forwarded to development. Although it would require detection support for any platform, not just Linux. So... any future BOINC. |
Send message Joined: 26 Aug 05 Posts: 164 |
Cirrussc, What does the core client report when running through the OpenCL detection phase? Running clinfo implies that you have a functioning OpenCL driver and it is supported. So, as near as I can tell, it should be supported right now under BOINC. ----- Rom BOINC Development Team, U.C. Berkeley My Blog |
Send message Joined: 25 Mar 14 Posts: 7 |
What does the core client report when running through the OpenCL detection phase? Di 25 Mär 2014 00:18:18 CET | | Starting BOINC client version 7.2.42 for x86_64-pc-linux-gnu Di 25 Mär 2014 00:18:18 CET | | log flags: file_xfer, sched_ops, task Di 25 Mär 2014 00:18:18 CET | | Libraries: libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 libssh2/1.4.3 librtmp/2.3 Di 25 Mär 2014 00:18:18 CET | | Data directory: /var/lib/boinc-client Di 25 Mär 2014 00:18:18 CET | | No usable GPUs found Di 25 Mär 2014 00:18:18 CET | SETI@home | Found app_info.xml; using anonymous platform Di 25 Mär 2014 00:18:18 CET | | Host name: Host Di 25 Mär 2014 00:18:18 CET | | Processor: 4 AuthenticAMD AMD A10-7850K APU with Radeon(TM) R7 Graphics [Family 21 Model 48 Stepping 1] Di 25 Mär 2014 00:18:18 CET | | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb xsaveopt hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold fsgsbase bmi1 Di 25 Mär 2014 00:18:18 CET | | OS: Linux: 3.13-1-amd64 But it will probably be just as Ageless wrote, it is simply can not be detected. |
Send message Joined: 20 Nov 12 Posts: 801 |
Enable <coproc_debug>, restart the client and post the messages again. |
Send message Joined: 25 Mar 14 Posts: 7 |
Enable <coproc_debug>, restart the client and post the messages again.Ok. Do 27 Mär 2014 22:36:39 CET | | Starting BOINC client version 7.2.42 for x86_64-pc-linux-gnu Do 27 Mär 2014 22:36:39 CET | | log flags: file_xfer, sched_ops, task, coproc_debug Do 27 Mär 2014 22:36:39 CET | | Libraries: libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 libssh2/1.4.3 librtmp/2.3 Do 27 Mär 2014 22:36:39 CET | | Data directory: /var/lib/boinc-client Do 27 Mär 2014 22:36:39 CET | | [coproc] launching child process at /usr/bin/boinc Do 27 Mär 2014 22:36:39 CET | | [coproc] relative to directory /var/lib/boinc-client Do 27 Mär 2014 22:36:39 CET | | [coproc] with data directory /var/lib/boinc-client Do 27 Mär 2014 22:36:39 CET | | No NVIDIA library found Do 27 Mär 2014 22:36:39 CET | | calInit() returned 1 Do 27 Mär 2014 22:36:39 CET | | No OpenCL library found Do 27 Mär 2014 22:36:39 CET | | No usable GPUs found Do 27 Mär 2014 22:36:39 CET | | Host name: Host Do 27 Mär 2014 22:36:39 CET | | Processor: 4 AuthenticAMD AMD A10-7850K APU with Radeon(TM) R7 Graphics [Family 21 Model 48 Stepping 1] Do 27 Mär 2014 22:36:39 CET | | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb xsaveopt hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold fsgsbase bmi1 Do 27 Mär 2014 22:36:39 CET | | OS: Linux: 3.13-1-amd64 Incidentally, the driver version has now, after an update, changed to 1:14.3~beta1.0-1 |
Send message Joined: 29 Aug 05 Posts: 15552 |
Do 27 Mär 2014 22:36:39 CET | | No OpenCL library found Do 27 Mär 2014 22:36:39 CET | | No usable GPUs found To speak with Adam Savage, there's your problem. Without OpenCL drivers for it, the AMD GPU will not be found. Or maybe that they are installed, but not available in a path that BOINC can read them in. I think you will want to try to download and install the 13.30 RC3 Beta drivers from AMD themselves. |
Send message Joined: 25 Mar 14 Posts: 7 |
I think you will want to try to download and install the 13.30 RC3 Beta drivers from AMD themselves.This Driver is old(er) (january!) and crashes the XServer immediately (so boinc don't work too). The newer beta work fine, because the necessary pciids have been added as well (otherwise the module would not load). As I said, everything works with the new driver (XServer, 3d acceleration, AMD-APP libraries). Clinfo proves that everything must be necessary yet. |
Send message Joined: 20 Nov 12 Posts: 801 |
BOINC tries to open libOpenCL.so . amd-libopencl1 contains libOpenCL.so.1 and used to contain a symlink libOpenCL.so->libOpenCL.so.1 . The symlink was moved from amd-libopencl1 to amd-opencl-dev in Debian package for fglrx 13.4. Looking at what others are doing, nvidia-libopencl1 contains libOpenCL.so.1 and the symlink has been moved to (currently non-existent) nvidia-opencl-dev; ocl-icd-libopencl1 contains both. I suppose trying to open a library without knowing its version is not a good idea - Khronos might decide to change the way the devices are queried in some future specification. But since I don't know the reason for BOINC using libOpenCL.so or why the Debian packagers moved the symlink to -dev packages I don't think I'm going to argue this issue either way. (The package names aren't exactly self-explanatory. amd-libopencl1, nvidia-libopencl1 and ocl-icd-libopencl1 are all OpenCL ICD loaders.) |
Send message Joined: 26 Aug 05 Posts: 164 |
If I understand what is supposed to be happening correctly... ocl-icd-libopencl1 contains libopencl.so, while amd-opencl-icd/nvidia-opencl-icd contain the ICDs. So instead of having a vendor specific implementation of libOpenCL.so they have a neutral version that loads the specific vendor's ICD at runtime. Like what happens on Windows/Mac. Both amd-opencl-icd and nvidia-opencl-icd drop an icd file in /etc/OpenCL/vendors/ which libOpenCL.so uses. ----- Rom BOINC Development Team, U.C. Berkeley My Blog |
Send message Joined: 26 Aug 05 Posts: 164 |
I would try installing the amd-opencl-icd package and verify that the amdocl64.icd is in /etc/OpenCL/vendors directory. I would make a backup copy of the existing libOpenCL.so.1 file to revert things back to if installing ocl-icd-libopencl1 causes things to go wonky. Then I would install ocl-icd-libopencl1. Restart BOINC and see what happens. ----- Rom BOINC Development Team, U.C. Berkeley My Blog |
Send message Joined: 20 Nov 12 Posts: 801 |
Yes, ocl-icd-libopencl1 contains libOpenCL.so so installing that would help. But I see that as a workaround only. amd-libopencl1 should work, at least based on its description, just as well for ICDs from any vendor as ocl-icd-libopencl1 does. It just happens to be written by AMD. The other issue is that instead of BOINC being happy with any ICD loader you are proposing that people should install one specific ICD loader. That conflicts pretty badly with the idea of vendor independent ICD loader. And considering that we are having this discussion seems that the package system picks AMD's ICD loader by default instead of ocl-icd-libopencl1. And furthermore, if you download fglrx package from AMD and install it, you'll get ICD loader with that. Installing another one makes no sense. Also, it looks like OpenCL apps link to libOpenCL.so.1, not libOpenCL.so. |
Send message Joined: 26 Aug 05 Posts: 164 |
Except that it is part of the OpenCL specification: http://www.khronos.org/registry/cl/specs/opencl-1.2-extensions.pdf Page 138. That is how the designers of OpenCL envisioned the system to work. ----- Rom BOINC Development Team, U.C. Berkeley My Blog |
Send message Joined: 20 Nov 12 Posts: 801 |
Sorry, they what? |
Send message Joined: 20 Nov 12 Posts: 801 |
I grabbed the ICD loader source from Khronos' website and compiled it. This is what I got: juha@mint ~/src/khronos-opencl-icd/icd/bin $ ls -l total 196 -rwxr-xr-x 1 juha juha 83920 huhti 2 20:37 icd_loader_test -rwxr-xr-x 1 juha juha 12991 huhti 2 20:37 libIcdLog.so -rwxr-xr-x 1 juha juha 54584 huhti 2 20:37 libOpenCLDriverStub.so lrwxrwxrwx 1 juha juha 14 huhti 2 20:37 libOpenCL.so -> libOpenCL.so.1 lrwxrwxrwx 1 juha juha 16 huhti 2 20:37 libOpenCL.so.1 -> libOpenCL.so.1.2 -rwxr-xr-x 1 juha juha 38585 huhti 2 20:37 libOpenCL.so.1.2 The Debian package amd-libopencl1 and fglrx package from AMD's website contains libOpenCL.so.1 binary. They don't have a link named libOpenCL.so pointing to anything. |
Send message Joined: 25 Mar 14 Posts: 7 |
I would try installing the amd-opencl-icd package and verify that the amdocl64.icd is in /etc/OpenCL/vendors directory. Due to the conflicts, the packets amd-libopencl1{a} amd-libopencl1:i386{a} amd-opencl-dev{a} amd-opencl-icd:i386{a} boinc{u} boinc-amd-opencl{a} opencl-headers{u} are removed automatically. (Before ocl-icd-libopencl1 installation.) # cat /etc/OpenCL/vendors/amdocl64.icd libamdocl64.so # locate libamdocl64.so /usr/lib/libamdocl64.so /usr/lib/x86_64-linux-gnu/libamdocl64.so # ls -l /usr/lib/libamdocl64.so lrwxrwxrwx 1 root root 40 Mär 28 00:22 /usr/lib/libamdocl64.so -> /usr/lib/x86_64-linux-gnu/libamdocl64.so # ls -l /usr/lib/x86_64-linux-gnu/libamdocl64.so -rw-r--r-- 1 root root 38M Mär 21 06:54 /usr/lib/x86_64-linux-gnu/libamdocl64.so No change after that (ocl-icd-libopencl1 installation): Mi 09 Apr 2014 21:47:19 CEST | | [coproc] launching child process at /usr/bin/boinc Mi 09 Apr 2014 21:47:19 CEST | | [coproc] relative to directory /var/lib/boinc-client Mi 09 Apr 2014 21:47:19 CEST | | [coproc] with data directory /var/lib/boinc-client Mi 09 Apr 2014 21:47:19 CEST | | OpenCL CPU: AMD A10-7850K APU with Radeon(TM) R7 Graphics (OpenCL driver vendor: Advanced Micro Devices, Inc., driver version 1411.4 (sse2,avx,fma4), device version OpenCL 1.2 AMD-APP (1411.4)) Mi 09 Apr 2014 21:47:19 CEST | | No NVIDIA library found Mi 09 Apr 2014 21:47:19 CEST | | calInit() returned 1 Mi 09 Apr 2014 21:47:19 CEST | | OpenCL library present but no OpenCL-capable GPUs found Mi 09 Apr 2014 21:47:19 CEST | | No usable GPUs found |
Send message Joined: 25 Mar 14 Posts: 7 |
***Problem solved!!!*** Because that was so not necessary on my main system, I have not even come up with the idea. While it was always necessary following command: xhost local:boinc But we must also be on the Kaveri system disables the access control (as user that is logged): xhost + Then also has boinc running as root access. Result (excerpt): Mi 21 Mai 2014 22:57:52 CEST | | Starting BOINC client version 7.2.42 for x86_64-pc-linux-gnu Mi 21 Mai 2014 22:57:52 CEST | | log flags: file_xfer, sched_ops, task, coproc_debug Mi 21 Mai 2014 22:57:52 CEST | | Libraries: libcurl/7.36.0 OpenSSL/1.0.1h zlib/1.2.8 libidn/1.28 libssh2/1.4.3 Mi 21 Mai 2014 22:57:52 CEST | | Data directory: /var/lib/boinc-client Mi 21 Mai 2014 22:57:52 CEST | | [coproc] launching child process at /usr/bin/boinc Mi 21 Mai 2014 22:57:52 CEST | | [coproc] relative to directory /var/lib/boinc-client Mi 21 Mai 2014 22:57:52 CEST | | [coproc] with data directory /var/lib/boinc-client Mi 21 Mai 2014 22:57:52 CEST | | OpenCL: AMD/ATI GPU 0: Spectre (driver version 1445.5 (VM), device version OpenCL 1.2 AMD-APP (1445.5), 1923MB, 1923MB available, 461 GFLOPS peak) Mi 21 Mai 2014 22:57:52 CEST | | OpenCL CPU: AMD A10-7850K APU with Radeon(TM) R7 Graphics (OpenCL driver vendor: Advanced Micro Devices, Inc., driver version 1445.5 (sse2,avx,fma4), device version OpenCL 1.2 AMD-APP (1445.5)) Mi 21 Mai 2014 22:57:52 CEST | | No NVIDIA library found Mi 21 Mai 2014 22:57:52 CEST | | calInit() returned 1 Mi 21 Mai 2014 22:57:52 CEST | | Processor: 4 AuthenticAMD AMD A10-7850K APU with Radeon(TM) R7 Graphics [Family 21 Model 48 Stepping 1] Mi 21 Mai 2014 22:57:52 CEST | | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb xsaveopt hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold fsgsbase bmi1 Mi 21 Mai 2014 22:57:52 CEST | | OS: Linux: 3.14-1-amd64 Mi 21 Mai 2014 22:57:52 CEST | | Memory: 6.71 GB physical, 2.64 GB virtual Mi 21 Mai 2014 22:57:52 CEST | | Disk: 27.37 GB total, 18.89 GB free I hope this helps someone who has the same problem. |
Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.