Я не могу запустить скрипт python, который обертывает код CUDA. Это говорит мне, что я обновляю свой CUDA SDK, но я думаю, что проблема в том, что Cuda C-файл читается вместо файла Cuda C++ с тем же именем. Кто-нибудь знает, как это исправить?Ошибка CUDA: MapSMtoCores undefined SM 3.5 не определено
Сообщение об ошибке:
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.
Я уверен, что я использую 5-CUDA, хотя. Для того, чтобы проверить, в соответствии с this, мне нужно
$ cd $(SDK)
$ make
$ ./C/bin/linux/release/deviceQuery
У меня нет корневого доступа, так что я должен был
$ mkdir ~/CUDA_SDK
$ cp -r /usr/local/cuda/gpu_sdk ~/CUDA_SDK
$ cd ~/CUDA_SDK
$ make
Однако это привело:
- много предупреждений о форма
../../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
- много ошибок вида
../../common/inc/helper_cuda.h:252:14: error: ‘FOO’ was not declared in this scope
Я имел взгляд с find -name
на helper_cuda.h. Существует 2 версии: ./C/common/inc/helper_cuda.h
, заголовок для C-файлов C, содержащих все переменные, упомянутые в ошибках, ./CUDALibraries/common/inc/helper_cuda.h
, заголовок для cuda-файлов C++, не содержащий ни одной из переменных, упомянутых в ошибках.
Я также посмотрел с grep "is undefined (please update to the latest SDK)!" -r ~/CUDA_SDK
, для которого файл может выводить ошибку (упомянутую в верхней части), которая начала все это, и поразительно, helper_cuda.h является одним из всего лишь 2 файлов.
Если я могу получить C++ helper_cuda.h для чтения вместо C helper_cuda.h, я считаю, что выиграл. Должен ли я использовать переменные среды?
Код cuda завернут в скрипт python, взятый из [здесь] (https://github.com/dnouri/noccn) и [здесь] (https://github.com/dnouri/cuda-convnet). также, дайте мне знать, хотите ли вы весь makefile –
Есть ли в вашем компьютере устройство вычислительной возможности 3.5? Возможно, SDK был настроен для поддержки только того, что доступно. –
Какая версия 'nvcc' у вас есть? Я думаю, он старый, и вам нужно обновить его до версии 5.0 или выше. – ahmad