Hello,
Any tasks that require the GPU fail to run on my system. Here are two examples:
https://einsteinathome.org/task/752416110
https://einsteinathome.org/task/752404726
Here are the first few lines from the BOINC event log:
Tue 01 May 2018 16:49:49 AEST | | Starting BOINC client version 7.8.3 for x86_64-pc-linux-gnu
Tue 01 May 2018 16:49:49 AEST | | log flags: file_xfer, sched_ops, task
Tue 01 May 2018 16:49:49 AEST | | Libraries: libcurl/7.55.1 OpenSSL/1.0.2g zlib/1.2.11 libidn2/2.0.2 libpsl/0.18.0 (+libidn2/2.0.2) librtmp/2.3
Tue 01 May 2018 16:49:49 AEST | | Data directory: /var/lib/boinc-client
Tue 01 May 2018 16:49:50 AEST | | OpenCL: AMD/ATI GPU 0: AMD CAYMAN (DRM 2.50.0 / 4.13.0-39-generic, LLVM 5.0.0) (driver version 17.2.8, device version OpenCL 1.1 Mesa 17.2.8, 2048MB, 2048MB available, 854 GFLOPS peak)
Tue 01 May 2018 16:49:50 AEST | | Host name: jolly-roger
Tue 01 May 2018 16:49:50 AEST | | Processor: 8 GenuineIntel Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz [Family 6 Model 42 Stepping 7]
Tue 01 May 2018 16:49:50 AEST | | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti retpoline spec_ctrl tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts
Tue 01 May 2018 16:49:50 AEST | | OS: Linux Ubuntu: Ubuntu 17.10 [4.13.0-39-generic]
Tue 01 May 2018 16:49:50 AEST | | Memory: 15.65 GB physical, 2.00 GB virtual
Tue 01 May 2018 16:49:50 AEST | | Disk: 173.83 GB total, 31.66 GB free
Tue 01 May 2018 16:49:50 AEST | | Local time is UTC +10 hours
Tue 01 May 2018 16:49:50 AEST | | Config: GUI RPCs allowed from:
Tue 01 May 2018 16:49:50 AEST | Einstein@Home | URL http://einstein.phys.uwm.edu/; Computer ID 12644316; resource share 100
Tue 01 May 2018 16:49:50 AEST | LHC@home | URL https://lhcathome.cern.ch/lhcathome/; Computer ID 10543409; resource share 100
Tue 01 May 2018 16:49:50 AEST | SETI@home | URL http://setiathome.berkeley.edu/; Computer ID 8506397; resource share 100
Tue 01 May 2018 16:49:50 AEST | Universe@Home | URL https://universeathome.pl/universe/; Computer ID 489180; resource share 100
Tue 01 May 2018 16:49:50 AEST | World Community Grid | URL http://www.worldcommunitygrid.org/; Computer ID 4634639; resource share 100
Tue 01 May 2018 16:49:50 AEST | Einstein@Home | General prefs: from Einstein@Home (last modified 29-Apr-2018 19:25:29)
Tue 01 May 2018 16:49:50 AEST | Einstein@Home | Host location: none
Tue 01 May 2018 16:49:50 AEST | Einstein@Home | General prefs: using your defaults
Tue 01 May 2018 16:49:50 AEST | | Reading preferences override file
Tue 01 May 2018 16:49:50 AEST | | Preferences:
Tue 01 May 2018 16:49:50 AEST | | max memory usage when active: 8012.21 MB
Tue 01 May 2018 16:49:50 AEST | | max memory usage when idle: 12018.32 MB
Tue 01 May 2018 16:49:50 AEST | | max disk usage: 10.00 GB
Tue 01 May 2018 16:49:50 AEST | | suspend work if non-BOINC CPU load exceeds 50%
Tue 01 May 2018 16:49:50 AEST | | (to change preferences, visit a project web site or select Preferences in the Manager)
Some of the last few lines in the tasks refer to FP64 support - I know that the 6970 has FP64 support
OpenCL compiling FAILED! : -11 . Error message: input.cl:7:26: error: unsupported OpenCL extension 'cl_khr_fp64' - ignoring input.cl:10:30: error: unknown type name 'double2'; did you mean 'double'? input.cl:10:30: error: use of type 'double' requires cl_khr_fp64 extension to be enabled OpenCL device has no FP64 support
The output from clinfo seems to say that FP64 is supported...
clinfo
Number of platforms 1
Platform Name Clover
Platform Vendor Mesa
Platform Version OpenCL 1.1 Mesa 17.2.8
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions function suffix MESA
Platform Name Clover
Number of devices 1
Device Name AMD CAYMAN (DRM 2.50.0 / 4.13.0-39-generic, LLVM 5.0.0)
Device Vendor AMD
Device Vendor ID 0x1002
Device Version OpenCL 1.1 Mesa 17.2.8
Driver Version 17.2.8
Device OpenCL C Version OpenCL C 1.1
Device Type GPU
Device Profile FULL_PROFILE
Max compute units 12
Max clock frequency 890MHz
Max work item dimensions 3
Max work item sizes 256x256x256
Max work group size 256
Preferred work group size multiple 64
Preferred / native vector sizes
char 16 / 16
short 8 / 8
int 4 / 4
long 2 / 2
half 0 / 0 (n/a)
float 4 / 4
double 2 / 2 (cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals No
Infinity and NANs Yes
Round to nearest Yes
Round to zero No
Round to infinity No
IEEE754-2008 fused multiply-add No
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
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
Correctly-rounded divide and sqrt operations No
Address bits 32, Little-Endian
Global memory size 2147483648 (2GiB)
Error Correction support No
Max memory allocation 1503238553 (1.4GiB)
Unified memory for Host and Device No
Minimum alignment for any data type 128 bytes
Alignment of base address 1024 bits (128 bytes)
Global Memory cache type None
Image support No
Local memory type Local
Local memory size 32768 (32KiB)
Max constant buffer size 1503238553 (1.4GiB)
Max number of constant args 13
Max size of kernel argument 1024
Queue properties
Out-of-order execution No
Profiling Yes
Profiling timer resolution 0ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Device Available Yes
Compiler Available Yes
Device 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_fp64
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Clover
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [MESA]
clCreateContext(NULL, ...) [default] Success [MESA]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1)
Platform Name Clover
Device Name AMD CAYMAN (DRM 2.50.0 / 4.13.0-39-generic, LLVM 5.0.0)
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 Clover
Device Name AMD CAYMAN (DRM 2.50.0 / 4.13.0-39-generic, LLVM 5.0.0)
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.11
ICD loader Profile OpenCL 2.1
I've had a look in the forums but couldn't find a way to enable FP64 support. Does anyone know how to do this?
Copyright © 2024 Einstein@Home. All rights reserved.
jolly-roger
)
I'm not a Linux guy so can't tell you how but I think it's your drivers, that support is provided thru the gpu drivers and you are using 'generic' ones:
"AMD AMD CAYMAN (DRM 2.50.0 / 4.13.0-39-generic, LLVM 5.0.0) (2048MB)" is what it says when I look at your pc drivers.
jolly-roger wrote:Any tasks
)
I run a lot of machines with AMD GPUs under Linux. I'm not a programmer, just a user so I can't tell you specifically what the app requires that your OpenCL implementation is not providing but I can make guesses (in general terms) and give suggestions on how to overcome the problem.
As a general comment, I've seen quite a few people having difficulty in getting the Einstein app working under Mesa/Clover, so I've never tried to go down that route. For hardware that is not supported by amdgpu, (eg your 6970 and my 7850s, R7 370s, etc) I've found that the simplest course is to stay with the particular version of your Linux distro of choice that supported the final version of fglrx, the proprietary driver from AMD.
In my case that's PCLinuxOS in the latter half of 2016. I know very little about other distros but I'm sure that many would have had support for fglrx up to the point that the Xorg changes deprecated that driver. My intention is to keep using fglrx until the Southern Islands support matures in amdgpu. I try to follow what is going on and my impression is that it will perhaps become usable for me in the not too distant future.
The architecture of Cayman GPUs (TeraScale) immediately preceeded that of my Southern Islands GPUs and, as I understand it, the new architecture (Graphics Core Next - GCN) was a big change from that. Reading between the lines, it seems likely that all variants of GCN are likely to be supported eventually, through the new amdgpu open source driver model, but I'm not sure about the intentions for the previous architecture (TeraScale). It is seemingly quite a big task but I do see quite a lot of praise for the way AMD (with the help of open source developers) is pushing on with it. The 6970 was a decent GPU performance wise so if you want to use it just for crunching, fglrx is certainly a workable way to go while waiting for amdgpu support.
Yes, of course the 6970 has FP64 support in the hardware. However, as the above message seems to suggest, it appears to be specific OpenCL support in the driver that is missing. As I say, I'm not a programmer so I have little detailed knowledge of how things work at this low level. Maybe someone who does understand these things can interpret the above and perhaps even suggest (for your distro) an extra package to install that would provide what is missing. You might even be able to find what is needed through google if you use specific parts of the above message in your search string.
I follow the forums fairly closely and I whilst I've seen this sort of problem posted before, I can't really recall a specific solution (though my memory is getting pretty lousy these days). There are a couple of people who post (fairly infrequently) who might be able to help but I would think your best help might come through google.
Good luck with your search and if you find a solution, it would be very nice if you would post the details :-).
Cheers,
Gary.