clMathLibraries / clBLAS

a software library containing BLAS functions written in OpenCL
Apache License 2.0
843 stars 237 forks source link

Compilation error #176

Closed swails closed 9 years ago

swails commented 9 years ago

I tried building this on a machine with NVIDIA cards and the CUDA 6.5 toolkit (with nVidia drivers 346.35 on a CentOS 6.5 box) and got the following error:

clBLAS/src/library/blas/xtrsm.cc:238: error: ‘clEnqueueFillBuffer’ was not declared in this scope

More context:

/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/trtri/triple_dgemm_update_128_ABOVE64_PART3_L.cpp:9: note: #pragma message: #define KERNEL_TRIPLE_DGEMM_UPDATE_128_ABOVE64_PART3_L_SRC_CPP.
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc: In function ‘cl_int clearBuffer(_cl_command_queue*, _cl_mem*, size_t)’:
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:238: error: ‘clEnqueueFillBuffer’ was not declared in this scope
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc: In function ‘clblasStatus gpu_dtrsm192(clblasOrder, clblasSide, clblasUplo, clblasTranspose, clblasDiag, size_t, size_t, double, _cl_mem*, size_t, size_t, _cl_mem*, size_t, size_t, cl_uint, _cl_command_queue**, cl_uint, _cl_event* const*, _cl_event**, bool&)’:
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:616: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:624: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:631: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc: At global scope:
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:513: warning: unused parameter ‘numCommandQueues’
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:513: warning: unused parameter ‘numEventsInWaitList’
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:513: warning: unused parameter ‘eventWaitList’
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc: In function ‘clblasStatus gpu_dtrsm128(clblasOrder, clblasSide, clblasUplo, clblasTranspose, clblasDiag, size_t, size_t, double, _cl_mem*, size_t, size_t, _cl_mem*, size_t, size_t, cl_uint, _cl_command_queue**, cl_uint, _cl_event* const*, _cl_event**, bool&)’:
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1186: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1191: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1195: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1264: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1270: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1274: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1354: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1360: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1364: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1384: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1390: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1394: warning: comparison between signed and unsigned integer expressions
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc: At global scope:
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1084: warning: unused parameter ‘numCommandQueues’
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1084: warning: unused parameter ‘numEventsInWaitList’
/casegroup/u1/scratch/swails/src/clBLAS/src/library/blas/xtrsm.cc:1084: warning: unused parameter ‘eventWaitList’
make[2]: *** [library/CMakeFiles/clBLAS.dir/blas/xtrsm.cc.o] Error 1
make[1]: *** [library/CMakeFiles/clBLAS.dir/all] Error 2

This is with GCC 4.4.7. This worked just fine on a different CentOS 6.5 machine, but with CUDA 7.5 (and nVidia drivers 352.41). Any ideas what's happening here, or what I should look for?

Google wasn't much help.

Thanks!

swails commented 9 years ago

I should add, I tried this with both the develop and master branches -- the error shown here is from develop

TimmyLiu commented 9 years ago

I think you are seeing the same issue as reported in issue #117 . You would need to download cl 1.2 headers manually on NV system since apparently they do not ship them.

swails commented 9 years ago

It seems that they do ship them in CUDA 7.5.

Once I installed the CUDA 7.5 toolkit on the machine, the build worked just fine...

Thanks!