I'm failing to run a python script which wraps CUDA code. It's telling me to update my CUDA SDK, but I think that the problem is a cuda C file getting read instead of a cuda C++ file of the same name. Anyone know how to fix this?
The error message is:
MapSMtoCores undefined SM 3.5 is undefined (please update to the latest SDK)!
1.1...src/cudaconv2/filter_acts.cu(1179) : getLastCudaError() CUDA error :
filterActs: kernel execution failed : (9) invalid configuration argument.
I'm pretty sure I am using cuda-5 though. To check, according to this, I need to
$ cd $(SDK)
$ make
$ ./C/bin/linux/release/deviceQuery
I don't have root access so I had to
$ mkdir ~/CUDA_SDK
$ cp -r /usr/local/cuda/gpu_sdk ~/CUDA_SDK
$ cd ~/CUDA_SDK
$ make
However, this resulted in:
- many warnings of the form
../../common/inc/helper_cuda.h:246:12: warning: command line option ‘-Wimplicit’ is valid for C/ObjC but not for C++
../../common/inc/helper_cuda.h:246:12: warning: enumeration value ‘FOO’ not handled in switch
- many errors of the form
../../common/inc/helper_cuda.h:252:14: error: ‘FOO’ was not declared in this scope
I had a look with find -name
at helper_cuda.h. There exist 2 versions of it:
./C/common/inc/helper_cuda.h
, a header for cuda C files containing all of the variables mentioned in the errors,
./CUDALibraries/common/inc/helper_cuda.h
, a header for cuda C++ files containing none of the variables mentioned in the errors.
I also had a look with grep "is undefined (please update to the latest SDK)!" -r ~/CUDA_SDK
for which file might be outputting the error (mentioned at the top) which started all this, and strikingly, helper_cuda.h is one of only 2 files which do.
If I can get the C++ helper_cuda.h to be read instead of the C helper_cuda.h, I reckon I've won. Shall I use environment variables?