CustomBuild:
Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile_1.dir/layers/Release/cuda_compile_1_generated_absval_
layer.cu.obj
nvcc fatal : Unsupported gpu architecture 'compute_92'
CMake Error at cuda_compile_1_generated_absval_layer.cu.obj.Release.cmake:219 (message):
Error generating
C:/Projects/caffe/build/src/caffe/CMakeFiles/cuda_compile_1.dir/layers/Release/cuda_compile_1_generated_absval_laye
r.cu.obj
Could any one help me solve the issue?
Getting this as well but with compute_20. I believe this has something to do with the nvcc or cuda version. I don't know where the architecture is defined.
ah found it go to the makefile.conf file and look for CUDA_ARCH. Just set it to whatever your GPU supports. You can find that on a wiki somewhere it usually corresponds to a compute version as in 2.1 will be compute_21 etc
Aha here we go. Just remove all the lines that are on CUDA_ARCH except the one that matches your GPU. Use this to see which one.
http://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/
It appears to have worked for me with sm_60 I have a GTX 1060 6GB so it's pascal arch
Yes this is related to your CUDA SDK version, @RustyRaptor is giving a good advice.
Closing, assuming the given answer helped. If not, please reopen and provide further details, especially how the suggested solution failed.
update: For people that meet this same problem, if you're building caffe with cmake and cuda on windows, you may refer to my Chinese blog for detail steps: Windows下用cmake编译Caffe
I also have the error "nvcc fatal : Unsupported gpu architecture 'compute_481'".How can resolve the error
@yanhaiming56 You need to specify your cuda arch dependencies, and in my pasted blog content I've already give the solution. That is:
cmake/Cuda.cmake,line 7, removing 20 and 21 support, since newer cuda don't support them and treat as error. Also adding 52 to support GTX970 card. Thus the updated line is:
set(Caffe_known_gpu_archs "30 35 50 52 60 61")
cmake/Cuda.cmake,around line 40, specify the nvcc cuda arch version. I use 1080Ti which is 6.1 compute arch version, so changing:
string(REGEX MATCH "([1-9].[0-9])$" __nvcc_out "${__nvcc_out}")
string(REPLACE "2.1" "2.1(2.0)" __nvcc_out "${__nvcc_out}")
to:
set(__nvcc_out "6.1")
Aha here we go. Just remove all the lines that are on CUDA_ARCH except the one that matches your GPU. Use this to see which one.
http://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/
It appears to have worked for me with sm_60 I have a GTX 1060 6GB so it's pascal arch
it works!
I also have the error "nvcc fatal : Unsupported gpu architecture 'compute_481'".How can resolve the error
what gpu are you using?
Most helpful comment
Aha here we go. Just remove all the lines that are on CUDA_ARCH except the one that matches your GPU. Use this to see which one.
http://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/
It appears to have worked for me with sm_60 I have a GTX 1060 6GB so it's pascal arch