Linux上编译ElasticFusion报错nvcc fatal : Unsupported gpu architecture ‘compute_xx‘

注意:以下以compute_30为例,其他同理

  • 原因:cuda11中已经弃用compute_30
    Linux上编译ElasticFusion报错nvcc fatal : Unsupported gpu architecture ‘compute_xx‘_第1张图片

别的方法说是删除CMakeLists或者makefile中对应的代码,但是①makefile在cmake会被覆盖,直接修改makefile不优雅;②ElastcFusion的CMakeLists没有手动指定compute_30而是代码读取的。自己摸索了一下,解决方案如下。

  • 解决方法:修改Core/src/CudaComputeTargetFlags.cmake,添加如下内容

    if(ARCH MATCHES "30")
    	continue()
    endif()
    

    Linux上编译ElasticFusion报错nvcc fatal : Unsupported gpu architecture ‘compute_xx‘_第2张图片

参考内容:
nvcc fatal : Unsupported gpu architecture ‘compute_30‘
nvcc fatal : Unsupported gpu architecture ‘compute_‘

你可能感兴趣的:(ElasticFusion,cuda,cmake)