摸索总结:
后文有纠正
出现各种问题搜索到的:
pytorch>=1.10.0
gcc>5.4.0
我的可用版本:
pytorch=1.12.1
mmcv=1.7.0 或 2.0.0rc4
gcc=5.4.0
虚拟环境: cudatoolkit=11.1.74
驱动软件:12.2
nvcc -V 11.1.74
有点玄学,我从其他地方迁移过来的和之前同样的conda环境,迁移出来的可以编译DCNv3,之前的却编译不了,我迁移的conda环境都是mmdetection可用的环境,编译了mmcv的,迁移出来的环境不同mmcv版本都可以编译DCNv3
我的环境存在的不同就是两台机器的显卡不同,一个是xp的,一个rtx3080,其他都是一样的,有点离谱。有类似情况的可以试试我的可用版本。离谱
另一种可参考的思路:
有一段时间也是用xp的卡编译成功了,这次是尝试安装了11.7的CUDAToolkit,因为cuda在编译代码时是要参与工作的,这也是一个可以尝试的办法,torch仍然是1.12版本。虚拟环境的cudatookit和CUDAToolkit是不一样的,虚拟环境里的是只限于环境里使用,另一个是编译出来的代码本地调用。
纠正一下:
后面发现还是同样的环境竟然无法编译了,有点玄学
我把那个工作文件拷到根目录下再次尝试编译结果又不行了,只在之前的文件夹下可编译,可能是很早之前在那个文件夹成功编译过
所以还是要注意CUDAToolkit的版本进行编译