Ash*_*tla 11 nvidia compiling cuda
在运行命令时make pycaffe
,我遇到了以下错误:
NVCC src/caffe/solvers/adadelta_solver.cu nvcc fatal : Unsupported
gpu architecture 'compute_20' Makefile:594: recipe for target
'.build_release/cuda/src/caffe/solvers/adadelta_solver.o' failed make:
*** [.build_release/cuda/src/caffe/solvers/adadelta_solver.o] Error 1
System Information
------------------
OS: ubuntu: 16.10
CUDA 8.0
cuDNN: 6.0
CUDA_ARCH: CUDA_ARCH :=
-gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61
Run Code Online (Sandbox Code Playgroud)
谁能帮我?
Mat*_*ieu 19
至于我,我不得不注释掉-gencode arch=compute_20
in Makefile.config
:
CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50
Run Code Online (Sandbox Code Playgroud)
我停在50
因为 CUDAdeviceQuery
向我展示了Capability Major/Minor version number
:
/usr/local/cuda/samples/bin/x86_64/linux/release/deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 960M"
CUDA Driver Version / Runtime Version 9.0 / 9.0
CUDA Capability Major/Minor version number: 5.0
Total amount of global memory: 4044 MBytes (4240965632 bytes)
( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores
GPU Max Clock rate: 1176 MHz (1.18 GHz)
....
Run Code Online (Sandbox Code Playgroud)
然后编译和测试进行得很顺利。
今天早上我也遇到了同样的问题。安装 CUDA 和 cuDNN 后,需要重新启动(按照此处的建议https://groups.google.com/forum/#!topic/caffe-users/WDOD3E04Avg),以便 CMake 正确检测到设置变量。因此,只需确保 CUDA 和 cuDNN 已正确安装并重新启动系统即可。如果仍然出现错误,则您的 GPU 可能只支持计算能力 2.0,所以我想您可以尝试支持它的 CUDA 8.0。您可以在这里检查您的 GPU:https ://developer.nvidia.com/cuda-gpus
我可以确认测试已在启用 CUDA 9.0 和 cuDNN 7.0.2 的 PC 上成功运行。重启后,GPU架构自动设置为sm_50。我有一个 GTX 750 Ti,根据文档,它支持 CUDA 5.0。所以现在配置看起来是正确的!这是测试命令:
make runtest
Run Code Online (Sandbox Code Playgroud)
如果您在编译测试时遇到任何错误,您可以尝试:
make runtest clean
Run Code Online (Sandbox Code Playgroud)
这个示例也对我有用,它比具有 8 个 CPU 核心的 OpenBLAS(450 秒)快 7 倍多(60 秒)!
./examples/mnist/train_lenet.sh
Run Code Online (Sandbox Code Playgroud)