作者:寸山河
链接:https://www.zhihu.com/question/66301333/answer/403458617
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://www.zhihu.com/question/66301333/answer/403458617
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
解决方案为openCV2.4,openCV3.1应该类似。
错误:opencv nvcc fatal : Unsupported gpu architecture 'compute_20'
原因:cuda9不支持‘compute-20’,需要更改OpenCVDetectCUDA.cmake文件,
将
if(CUDA_GENERATION STREQUAL "Fermi")
set(__cuda_arch_bin "3.0 3.5")
elseif(CUDA_GENERATION STREQUAL "Kepler")
if(${CUDA_VERSION} VERSION_LESS "5.0")
set(__cuda_arch_bin "2.0 2.1")
else()
set(__cuda_arch_bin "3.0 3.5")
替换为
if(CUDA_GENERATION STREQUAL "Fermi")
set(__cuda_arch_bin "3.0 3.5")
elseif(CUDA_GENERATION STREQUAL "Kepler")
if(${CUDA_VERSION} VERSION_LESS "5.0")
set(__cuda_arch_bin "3.0")
else()
set(__cuda_arch_bin "3.0 3.5")
将:
if(${CUDA_VERSION} VERSION_LESS "5.0")
set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0")
elseif(${CUDA_VERSION} VERSION_GREATER "6.5")
set(__cuda_arch_bin "2.0 2.1(2.0) 3.0 3.5")
替换为:
if(${CUDA_VERSION} VERSION_LESS "5.0")
set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0")
elseif(${CUDA_VERSION} VERSION_GREATER "6.5")
set(__cuda_arch_bin "3.0 3.5")
然后 cmake 成功。