Message boards :
Number crunching :
Linux AMD - no GPU support ?
Message board moderation
Author | Message |
---|---|
Falken Send message Joined: 18 May 99 Posts: 21 Credit: 1,457,137 RAC: 4 ![]() |
I'm fairly sure this should work, because #lpci | grep VGA 00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Wani [Radeon R5/R6/R7 Graphics] (rev 84) and #clinfo |grep 'loader Profile' Device open failed, aborting... Device open failed, aborting... Device open failed, aborting... Device open failed, aborting... Device open failed, aborting... ICD loader Profile OpenCL 2.2 but still boinc reports : ... OpenCL CPU: pthread-AMD Opteron(tm) X3421 APU (OpenCL driver vendor: The pocl project, driver version 1.2, ... No usable GPUs found |
![]() ![]() ![]() Send message Joined: 30 Nov 05 Posts: 282 Credit: 6,916,194 RAC: 60 ![]() ![]() |
Seems like we're having all sorts of problems with AMD GPUs. Is this coming from the event log? Are you able to download any GPU tasks? This may be unrelated, but we've been trying to troubleshoot some problems with AMD APUs/GPUs not computing tasks at all here: https://setiathome.berkeley.edu/forum_thread.php?id=83829 Seti@home classic: 1,456 results, 1.613 years CPU time |
![]() ![]() ![]() Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 ![]() ![]() |
I think the issue is either the drivers necessary for the Opteron APU or the type of AMD device is not recognized by the BOINC code as a AMD device. Seti@Home classic workunits:20,676 CPU time:74,226 hours ![]() ![]() A proud member of the OFA (Old Farts Association) |
Juha Send message Joined: 7 Mar 04 Posts: 388 Credit: 1,857,738 RAC: 0 ![]() |
First of all, show logs or command outputs in full. By giving us only a line or two you omitted the part that would have shown that OpenCL GPU drivers are not installed. Second, what do you have installed? |
Falken Send message Joined: 18 May 99 Posts: 21 Credit: 1,457,137 RAC: 4 ![]() |
How do I get fuller logs ? Since moving to systemd (Fedora 2x-something) the only way I know is using a 3rd party ('boinctui') program. /var/log/boinc is missing as far as I can tell. How can I tell if I'm trying to download GPU tasks ? I assume if the client says "no GPU support" it won't even try ? What library could I be missing ? What does setiathome/boinc need to find ? |
![]() ![]() ![]() Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 ![]() ![]() |
Do you have the BOINC Manager installed? In the Manager is a menu choice to display the Event Log. We need to see the first 30 lines in the Event Log after first BOINC startup. This will show the gpus detected by the client and what drivers are installed for them by the system. We are looking whether you have the AMD OpenCL drivers installed or just the stock video drivers. There are two different components to the drivers, one for displaying graphics and one for compute. If the compute component is missing you won't be able to use the card for BOINC. Seti@Home classic workunits:20,676 CPU time:74,226 hours ![]() ![]() A proud member of the OFA (Old Farts Association) |
![]() ![]() ![]() Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 ![]() ![]() |
You have only downloaded and crunched cpu tasks so far. You would see a gpu task identified with a 8.22 (opencl) type for the application if you downloaded the gpu application for your card and received tasks for it. Since I see none in your list of tasks I assume BOINC does not recognize any valid gpu available and therefore hasn't downloaded an application yet. I just remembered a thread at Einstein with detailed instructions on how to install the OpenCL drivers for AMD. https://einsteinathome.org/it-it/content/quick-guide-how-install-opencl-amd-gpus-linux-kubuntu-1804-and-similar-distro Seti@Home classic workunits:20,676 CPU time:74,226 hours ![]() ![]() A proud member of the OFA (Old Farts Association) |
Juha Send message Joined: 7 Mar 04 Posts: 388 Credit: 1,857,738 RAC: 0 ![]() |
How do I get fuller logs ? Easy. Don't pipe the output to grep. Since moving to systemd (Fedora 2x-something) the only way I know is using a 3rd party ('boinctui') program. The logs are probably handled by systemd-journald now. sudo journald boinc-client (or maybe just boinc, I can't remember) should give you the logs. Now, the stuff you have installed. You have installed Fedora 29 (according to your host list), BOINC (since the host is listed here) and pocl (according to your opening post). pocl is OpenCL seePU library. No project that I know of has OpenCL CPU apps which makes pocl pretty useless but it shouldn't cause any harm either. What else? Have you installed any package with amd in name, or mesa, or opencl, or anything at all? |
Falken Send message Joined: 18 May 99 Posts: 21 Credit: 1,457,137 RAC: 4 ![]() |
This machine runs headless. X is not running. So the manager is a bit pointless ? I have these packages # rpm -qa|grep -i opencl mesa-libOpenCL-18.2.8-1.fc29.x86_64 opencl-filesystem-1.0-8.fc29.noarch mesa-libOpenCL-devel-18.2.8-1.fc29.x86_64 I'm trying the weird extra AMD bits from https://einsteinathome.org/it-it/content/quick-guide-how-install-opencl-amd-gpus-linux-kubuntu-1804-and-similar-distro but this doesn't appear to be supported for Fedora 29 ? Thanks to you guys, I can now get logs with "journalctl --unit=boinc-client |less" : -- Reboot -- Feb 09 14:38:29 bookcase systemd[1]: Started Berkeley Open Infrastructure Network Computing Client. Feb 09 14:38:52 bookcase boinc[862]: 09-Feb-2019 14:38:52 [---] cc_config.xml not found - using defaults Feb 09 14:38:52 bookcase boinc[862]: 09-Feb-2019 14:38:52 [---] Starting BOINC client version 7.14.2 for x86_64-pc-linux-gnu Feb 09 14:38:52 bookcase boinc[862]: 09-Feb-2019 14:38:52 [---] log flags: file_xfer, sched_ops, task Feb 09 14:38:52 bookcase boinc[862]: 09-Feb-2019 14:38:52 [---] Libraries: libcurl/7.61.1 OpenSSL/1.1.1a zlib/1.2.11 brotli/1.0.5 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) lib ssh/0.8.6/openssl/zlib nghttp2/1.34.0 Feb 09 14:38:52 bookcase boinc[862]: 09-Feb-2019 14:38:52 [---] Data directory: /var/lib/boinc Feb 09 14:38:55 bookcase boinc[862]: 09-Feb-2019 14:38:55 [---] OpenCL CPU: pthread-AMD Opteron(tm) X3421 APU (OpenCL driver vendor : The pocl project, driver version 1.2, device version OpenCL 1.2 pocl HSTR: pthread-x86_64-unknown-linux-gnu-bdver4) Feb 09 14:38:55 bookcase boinc[862]: 09-Feb-2019 14:38:55 [---] No usable GPUs found Feb 09 14:38:55 bookcase boinc[862]: 09-Feb-2019 14:38:55 [---] [libc detection] gathered: 2.28, GNU libc |
![]() ![]() ![]() Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 ![]() ![]() |
You'll have to search for Fedora answers on how to install the official AMD drivers FROM AMD. Only the official AMD drivers have compute OpenCL that is usable by BOINC. Seti@Home classic workunits:20,676 CPU time:74,226 hours ![]() ![]() A proud member of the OFA (Old Farts Association) |
Juha Send message Joined: 7 Mar 04 Posts: 388 Credit: 1,857,738 RAC: 0 ![]() |
Mesa OpenCL seems to be slowly maturing. There is at least one Einstein participant who is using it. Though judging from his posts Mesa OpenCL has a habit of going from broken to working to broken from one release to another. But in his case detecting always worked. It's the science apps that don't always work. That said, AMD's own drivers might work better. @Falken Could you post the full clinfo output sothat we can see what it found. It maybe that running headless is the problem here. It's often X that is responsible for loading drivers but you don't run X. If it's easy could you start X and restart BOINC client service to see if that fixes anything. Please get the clinfo output before and after loading X. |
![]() ![]() ![]() Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 ![]() ![]() |
Since AMD has endorsed the open software mission, their efforts for gpu compute seem to be directed toward the ROCm initiative. But ROCm seems to be only available and working in the latest kernel releases. I see the most news about ROCm on the Phoronix.com website. https://www.phoronix.com/scan.php?page=search&q=ROCm This article highlights some of the issues with Fedora and ROCm https://www.phoronix.com/scan.php?page=news_item&px=ROCm-Possible-For-Fedora Seti@Home classic workunits:20,676 CPU time:74,226 hours ![]() ![]() A proud member of the OFA (Old Farts Association) |
Falken Send message Joined: 18 May 99 Posts: 21 Credit: 1,457,137 RAC: 4 ![]() |
clinfo [root@bookcase rra]# clinfo Device open failed, aborting... Device open failed, aborting... cl_get_gt_device(): error, unknown device: ffffffff Device open failed, aborting... Device open failed, aborting... cl_get_gt_device(): error, unknown device: ffffffff Number of platforms 3 Platform Name Portable Computing Language Platform Vendor The pocl project Platform Version OpenCL 1.2 pocl 1.2 RelWithDebInfo, LLVM 7.0.0, SLEEF, DISTRO, POCL_DEBUG Platform Profile FULL_PROFILE Platform Extensions cl_khr_icd Platform Extensions function suffix POCL Platform Name Clover Platform Vendor Mesa Platform Version OpenCL 1.1 Mesa 18.2.8 Platform Profile FULL_PROFILE Platform Extensions cl_khr_icd Platform Extensions function suffix MESA Platform Name Intel Gen OCL Driver Platform Vendor Intel Platform Version OpenCL 2.0 beignet 1.3 Platform Profile FULL_PROFILE Platform Extensions 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_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_intel_subgroups_short cl_khr_gl_sharing Platform Extensions function suffix Intel Device open failed, aborting... cl_get_gt_device(): error, unknown device: ffffffff Platform Name Portable Computing Language Number of devices 1 Device Name pthread-AMD Opteron(tm) X3421 APU Device Vendor AuthenticAMD Device Vendor ID 0x6c636f70 Device Version OpenCL 1.2 pocl HSTR: pthread-x86_64-unknown-linux-gnu-bdver4 Driver Version 1.2 Device OpenCL C Version OpenCL C 1.2 pocl Device Type CPU Device Available Yes Device Profile FULL_PROFILE Max compute units 4 Max clock frequency 2100MHz Device Partition (core) Max number of sub-devices 4 Supported partition types equally, by counts Max work item dimensions 3 Max work item sizes 4096x4096x4096 Max work group size 4096 Compiler Available Yes Linker Available Yes Preferred work group size multiple 8 Preferred / native vector sizes char 16 / 16 short 16 / 16 int 8 / 8 long 4 / 4 half 0 / 0 (n/a) float 8 / 8 double 4 / 4 (cl_khr_fp64) Half-precision Floating-point support (n/a) Single-precision Floating-point support (core) Denormals Yes Infinity and NANs Yes Round to nearest Yes Round to zero Yes Round to infinity Yes IEEE754-2008 fused multiply-add Yes Support is emulated in software No Correctly-rounded divide and sqrt operations Yes Double-precision Floating-point support (cl_khr_fp64) Denormals Yes Infinity and NANs Yes Round to nearest Yes Round to zero Yes Round to infinity Yes IEEE754-2008 fused multiply-add Yes Support is emulated in software No Address bits 64, Little-Endian Global memory size 5643812864 (5.256GiB) Error Correction support No Max memory allocation 2147483648 (2GiB) Unified memory for Host and Device Yes Minimum alignment for any data type 128 bytes Alignment of base address 1024 bits (128 bytes) Global Memory cache type Read/Write Global Memory cache size 1048576 (1024KiB) Global Memory cache line size 64 bytes Image support Yes Max number of samplers per kernel 16 Max size for 1D images from buffer 134217728 pixels Max 1D or 2D image array size 2048 images Max 2D image size 8192x8192 pixels Max 3D image size 2048x2048x2048 pixels Max number of read image args 128 Max number of write image args 128 Local memory type Global Local memory size 524288 (512KiB) Max constant buffer size 524288 (512KiB) Max number of constant args 8 Max size of kernel argument 1024 Queue properties Out-of-order execution No Profiling Yes Prefer user sync for interop Yes Profiling timer resolution 1ns Execution capabilities Run OpenCL kernels Yes Run native kernels Yes printf() buffer size 16777216 (16MiB) Built-in kernels Device Extensions cl_khr_byte_addressable_store 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_3d_image_writes cl_khr_fp64 cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp64 Platform Name Clover Number of devices 0 Platform Name Intel Gen OCL Driver Number of devices 0 NULL platform behavior clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Portable Computing Language clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [POCL] clCreateContext(NULL, ...) [default] Success [POCL] clCreateContext(NULL, ...) [other] <error: no devices in non-default plaforms> clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1) Platform Name Portable Computing Language Device Name pthread-AMD Opteron(tm) X3421 APU clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) Success (1) Platform Name Portable Computing Language Device Name pthread-AMD Opteron(tm) X3421 APU clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1) Platform Name Portable Computing Language Device Name pthread-AMD Opteron(tm) X3421 APU ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.2.12 ICD loader Profile OpenCL 2.2 |
![]() ![]() ![]() Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 ![]() ![]() |
The problem is that the Pocl driver is only for cpus and does not handle AMD gpus. The Mesa driver is a work in progress for OpenCL compute apparently. I found this quote from someone who manages a university compute cluster. POCL is a mediocre substitute, but it's not a vendor solution. It doesn't have any interop capabilities, neither can it be paired with any GPUs context. Any app of mine that could make use of CPU and GPU at the same time (well made load balancing with CPU sub-device to break off a part of it to manage the GPUs) now has to be made multi-platform code, not just multi-device. THIS SUCKS! Seti@Home classic workunits:20,676 CPU time:74,226 hours ![]() ![]() A proud member of the OFA (Old Farts Association) |
Juha Send message Joined: 7 Mar 04 Posts: 388 Credit: 1,857,738 RAC: 0 ![]() |
Well, clinfo didn't find the AMD GPU either so it's not a problem with just BOINC. That's some sort of a good thing I suppose. The only AMD GPU you have is the one integrated with the CPU, right? I think at this point it would be best that you grab a spare monitor and keyboard somewhere and troubleshoot things as if the machine was going to be a normal daily use machine. Right now it's hard to tell if the problem is coming from incompatible drivers or trying to run the machine headless. |
Falken Send message Joined: 18 May 99 Posts: 21 Credit: 1,457,137 RAC: 4 ![]() |
This: # lspci|grep VGA 00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Wani [Radeon R5/R6/R7 Graphics] (rev 84) is a Opteronâ„¢ X3421 So yes ? |
Falken Send message Joined: 18 May 99 Posts: 21 Credit: 1,457,137 RAC: 4 ![]() |
Hmm. So reading around it seems AMD's driver is now (4.20.x) in the upsteam kernel. But their userland (==opencl libraries) are not in Fedora. Or very well packaged. I'm going to try https://github.com/RadeonOpenCompute/Experimental_ROC/tree/master/distro_install_scripts/Fedora/Fedora_29/rpm_install (found on https://github.com/RadeonOpenCompute/ROCm/issues/567) later... |
Falken Send message Joined: 18 May 99 Posts: 21 Credit: 1,457,137 RAC: 4 ![]() |
I'm not sure if it was the half-aborted install of https://github.com/RadeonOpenCompute/Experimental_ROC/tree/master/distro_install_scripts/Fedora/Fedora_29/rpm_install or my removal of a "nomodeset" from the kernel command line options (turns out this doesn't lead to a dead display any more, probably been there for years !), but now : # sudo journalctl --unit=boinc-client |grep -i opencl says Feb 16 12:08:51 bookcase boinc[865]: 16-Feb-2019 12:08:51 [---] OpenCL: AMD/ATI GPU 0: AMD Radeon R7 Graphics (CARRIZO, DRM 3.27.0, 4.20.5-200.fc29.x86_64, LLVM 7.0.0) (driver version 18.2.8, device version OpenCL 1.1 Mesa 18.2.8, 3072MB, 3072MB available, 512 GFLOPS peak) Feb 16 12:08:51 bookcase boinc[865]: 16-Feb-2019 12:08:51 [---] OpenCL CPU: pthread-AMD Opteron(tm) X3421 APU (OpenCL driver vendor: The pocl project, driver version 1.2, device version OpenCL 1.2 pocl HSTR: pthread-x86_64-unknown-linux-gnu-bdver4) ... Requesting new tasks for CPU and AMD/ATI GPU hurrah ! Is there an easy way to see a workunit is GPU-enabled ? |
![]() ![]() ![]() ![]() Send message Joined: 1 Dec 99 Posts: 2786 Credit: 685,657,289 RAC: 835 ![]() ![]() |
I don't see any GPU tasks assigned to that computer. https://setiathome.berkeley.edu/results.php?hostid=4441643&offset=80&show_names=0&state=1&appid= ![]() |
![]() ![]() ![]() Send message Joined: 1 Jun 01 Posts: 1282 Credit: 187,688,550 RAC: 182 ![]() ![]() |
Go to Project/Account/Tasks and it will show you there. ![]() SETI@home classic workunits 4,019 SETI@home classic CPU time 34,348 hours |
©2025 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.