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

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

  • 原因:cuda11中已经弃用compute_30
    在这里插入图片描述

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

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

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

    在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/OTZ_2333/article/details/124692056