StreamHPC / gromacs

OpenCL porting of the GROMACS molecular simulation toolkit
http://www.gromacs.org
Other
25 stars 4 forks source link

GMX with Mesa Opencl on radeon #67

Open alexxy opened 9 years ago

alexxy commented 9 years ago

I tryed to run opencl enabled mdrun with Mesa opencl however it seems that it cannot run opencl code due to undefined vars alexxy@fermi ~/Tests/speptide $ cat nbnxn_ocl_kernels.cl.FAILED Compilation of source file failed! -- Used build options: -DWARP_SIZE_TEST=1 -D_WARPLESSSOURCE -Iopencl --------------LOG START--------------- In file included from input.cl:57: In file included from opencl/nbnxn_ocl_kernels.clh:60: In file included from opencl/nbnxn_ocl_kernel_utils.clh:36: opencl/vectype_ops.clh:74:12: warning: implicit declaration of function 'distance' is invalid in C99 opencl/vectype_ops.clh:91:18: warning: implicit declaration of function 'atomic_cmpxchg' is invalid in C99 In file included from input.cl:57: In file included from opencl/nbnxn_ocl_kernels.clh:60: opencl/nbnxn_ocl_kernel_utils.clh:59:44: error: use of undeclared identifier 'CLK_NORMALIZED_COORDS_FALSE' opencl/nbnxn_ocl_kernel_utils.clh:60:47: error: use of undeclared identifier 'CLK_ADDRESS_NONE' opencl/nbnxn_ocl_kernel_utils.clh:61:47: error: use of undeclared identifier 'CLK_FILTER_NEAREST' In file included from input.cl:60: In file included from opencl/nbnxn_ocl_kernels.clh:140: opencl/nbnxn_ocl_kernel_nowarp.clh:482:76: warning: implicit declaration of function 'erf' is invalid in C99 ---------------LOG END---------------- alexxy@fermi ~/Tests/speptide $ grep CLK_NORMALIZED_COORDS_FALSE * -R nbnxn_ocl_kernels.cl.FAILED:opencl/nbnxn_ocl_kernel_utils.clh:59:44: error: use of undeclared identifier 'CLK_NORMALIZED_COORDS_FALSE' opencl/nbnxn_ocl_kernel_utils.clh:constant sampler_t generic_sampler = CLK_NORMALIZED_COORDSFALSE /* Natural coords / alexxy@fermi ~/Tests/speptide $ grep CLK_NORMALIZED_COORDSFALSE ~/Src/gromacs/ -R /home/alexxy/Src/gromacs/src/gromacs/mdlib/nbnxn_ocl/nbnxn_ocl_kernel_utils.clh:constant sampler_t generic_sampler = CLK_NORMALIZED_COORDS_FALSE /* Natural coords */

ancahamuraru commented 9 years ago

Are you running the latest version? Did you set correctly the OCL_FILE_PATH environment variable?

If not, try with the latest version from the scdev branch and follow the instructions here: https://github.com/StreamComputing/gromacs/wiki/GROMACS-GPU-ACCELERATION-USING-OPENCL#OpenCL_Setup

Are you running on the same machine as the one mentioned here: #35 ?

What does the output say about detected GPUs and the device selected for the current run? It should be similar to what you have previously send us: 2 GPUs detected:

0: name: AMD TURKS, vendor: X.Org device version: OpenCL 1.1 MESA 10.4.0-devel, comp. units: 6, stat: compatible

1: name: AMD TURKS, vendor: X.Org device version: OpenCL 1.1 MESA 10.4.0-devel, comp. units: 6, stat: compatible


1 GPU auto-selected for this run. Mapping of GPU ID to the 1 PP rank in this node: AMD TURKS

dkarkoulis commented 9 years ago

Alexy,

distance, atomiccmpxchg and erf are all OpenCL built-in function so are the CLK* names (type __constant sampler_t) Check the OpenCL 1.1 reference card!

Are they implemented in the MESA driver?

alexxy commented 9 years ago

Hi! They may be missing in MESA opencl driver. I'll ask MESA devs about it.

PS yes machine was the same as in previous report