При выполнении команды 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
Кто-либо может помочь мне?
Что касается меня, я должен был прокомментировать -gencode arch=compute_20
в 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
я остановился в 50
, потому что CUDA's deviceQuery
показал мне 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)
....
Затем компиляция и тесты подходили.
У меня была такая же проблема этим утром. После установки CUDA и cuDNN требуется перезагрузка (как предложено здесь https://groups.google.com/forum/#!topic/caffe-users/WDOD3E04Avg ), чтобы CMake правильно обнаружил установленные переменные. Так что просто убедитесь, что CUDA и cuDNN установлены правильно и перезапустите вашу систему. Если вы по-прежнему получаете сообщение об ошибке, возможно, у вас есть графический процессор, который поддерживает только вычислительные возможности 2.0, поэтому, я думаю, вы могли бы попробовать CUDA 8.0, которая его поддерживает. Вы можете проверить свой графический процессор здесь: https://developer.nvidia.com/cuda-gpus
. Я могу подтвердить, что тесты были успешно выполнены на моем ПК с CUDA 9.0 и cuDNN 7.0 .2 включен. После перезагрузки архитектура графического процессора была автоматически установлена на sm_50. У меня GTX 750 Ti, который согласно документации поддерживает CUDA 5.0. Таким образом, конфигурация кажется правильной сейчас! Вот команда для тестирования:
make runtest
Если вы получили какие-либо ошибки при компиляции тестов, вы можете попробовать:
make runtest clean
Этот пример также работал для меня, и он более чем в 7 раз быстрее (60 секунд), чем с OpenBLAS с 8 ядрами процессора (450 секунд)!
./examples/mnist/train_lenet.sh
У меня также была эта проблема о моем Jetson TX2 при установке NVcaffe (выполнение make -j4
).
В инструкциях в Nvidia jetson форум, здесь, говорится для замены:
-gencode arch=compute_61,code=sm_61
с
-gencode arch=compute_62,code=sm_62
в makefile.config
. Однако та строка не была в моем файле конфигурации с тех пор, следуя инструкциям, я вытянул caffe-0.15, который не содержит ту строку. Таким образом в конце, что работало на меня, заменял следующее в моем файле конфигурации:
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_50,code=compute_50
с
CUDA_ARCH := -gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_52,code=sm_52 \
-gencode arch=compute_60,code=sm_60 \
-gencode arch=compute_62,code=sm_62 \
-gencode arch=compute_61,code=compute_61