Make CP2K OpenCL GPU support work on Clover and RadeonSI (requires parts of OpenCL 1.2)
Submitted by Vedran Miletić
Assigned to Vedran Miletić
Description
CP2K is a popular quantum chemistry software that provides limited/prototype support for GPU acceleration using OpenCL, but would be interested in expanding if there are users interested in using it: https://www.cp2k.org/dev:todo
Running CP2K with OpenCL results in:
input.cl:54:12: error: call to 'atom_cmpxchg' is ambiguous /usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h:1:29: note: candidate function /usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h:2:38: note: candidate function /usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h:1:29: note: candidate function /usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h:2:38: note: candidate function @@@@@@@@@ END BUILD-DATA, SIZE=466 @@@@@@@@@ Error in: clCreateKernel -46 Error in: clSetKernelArg(0) -48 Error in: clSetKernelArg(1) -48 Error in: clSetKernelArg(2) -48 Error in: clSetKernelArg(3) -48 Error in: clEnqueueNDRangeKernel -48 CL user error: clEnqueueFillBuffer() requires OpenCL version 1.2 or greater. 9835 OPENCL RT Error line: 552, ERROR_CODE: -30
- ___ *
- / \ *
- [ABORT] *
- ___/ acc_devmem_setzero: failed *
- | *
- O/| *
- /| | *
- / \ acc/acc_devmem.F:423 *
===== Routine Calling Stack =====
8 dbcsr_mm_accdrv_process
7 cannon_multiply_low_multrec
6 cannon_multiply_low
5 dbcsr_mm_cannon_multiply
4 test_multiplies_multiproc
3 dbcsr_run_tests
2 lib_test
1 CP2K
Version: git