一. Cmake指令的问题:
1. cmake . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
输入后报错首先可以先加上你的对应cuda,我是在实验室ubuntu系统的服务器上跑的,显卡是RTX5000,指令后加上DCMAKE_CUDA_ARCHITECTURES=75(需要进入nvidia查询自己显卡对应的数字,记得*10)
更改后的指令为:
cmake . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CUDA_ARCHITECTURES=75
由于报错我删除了,所以没有具体报错信息参考。
最后发现是我聪明反被聪明误,我的复现代码是直接在github上边下载压缩包解压之后运行的,千万不要学我!!!
代码必须用github官方指定的去克隆,要不然会少很多东西。官方:
git clone --recursive https://github.com/nvlabs/instant-ngp
2.重新按照官方的命令克隆代码后
git clone --recursive https://github.com/nvlabs/instant-ngp
再执行CMAKE指令:
cmake . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CUDA_ARCHITECTURES=75
发现又报错:
CMake Enror at dependencies/tiny-cuda-nn/CMakeLists.txt:202 (message):
CUDA version too low. tiny-cuda-nn require CuDA 10.2 or higher.
解决方法:
参考:tiny-cuda-nn安装踩坑记录_tennjyoukure-nn-CSDN博客
参考这个链接的解决方法时候一定要注意查找自己的cuda文件夹位置。将DCMAKE_CUDA_COMPILER=输入自己服务器所对应的文件位置
查找cuda文件夹位置参考:make: /bin/nvcc: Command not found 解决找不到nvcc_怎么查询nvcc路径-CSDN博客
开始在实验室服务器上运行:
1)先删除build文件夹:rm -rf build
2)再执行命令:cmake -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc . -B build
成功解决!!!
之后正常执行后续CMAKE命令即可:
cmake --build build --config RelWithDebInfo -j
后续流程参考:ubuntu20.04 nerf Instant-ngp_instant ngp linux部署-CSDN博客