我無法運行包裝CUDA代碼的python腳本。它告訴我更新我的CUDA SDK,但我認爲問題在於cuda文件正在讀取而不是同名的cuda文件。有人知道怎麼修這個東西嗎?CUDA錯誤:MapSMtoCores未定義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.
我敢肯定,我使用CUDA-5雖然。要進行檢查,根據this,我需要
$ cd $(SDK)
$ make
$ ./C/bin/linux/release/deviceQuery
我沒有root訪問權限,所以我不得不
$ 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。它有兩個版本: ./C/common/inc/helper_cuda.h
,包含錯誤中提及的所有變量的cuda C文件頭, ./CUDALibraries/common/inc/helper_cuda.h
,包含錯誤中提及的變量的cuda C++文件頭。
我也看了一下grep "is undefined (please update to the latest SDK)!" -r ~/CUDA_SDK
其中的文件可能會輸出錯誤(在頂部提到),開始所有這些,而且令人驚訝的是,helper_cuda.h是其中的一個。
如果我可以讀取C++ helper_cuda.h而不是C helper_cuda.h,我估計我贏了。我應該使用環境變量嗎?
cuda代碼封裝在python腳本中,取自[這裏](https://github.com/dnouri/noccn)和[here](https://github.com/dnouri/cuda-convnet)。另外,讓我知道你是否想要整個生成文件 –
在你的機器中是否有計算能力3.5的設備? SDK可能已經被設置爲僅支持可用的。 –
你有什麼'nvcc'版本?我猜它已經老了,你需要將它更新到5.0或更高版本。 – ahmad