1.首先尝试直接git命令安装

pip install git+https://github.com/NVlabs/tiny-cuda-nn/@v1.6#subdirectory=bindings/torch

直接使用git+pip命令在服务器下可能会失败,not found repo

2.若git失败,那就参考tiny-cuda-nn官网步骤

tiny-cuda-nn Github链接
1.使用git命令将代码下载到本地电脑

git clone --recursive https://github.com/nvlabs/tiny-cuda-nn

如果在本地git拉取失败,报错Failed to connect to github.com port 443: Operation timed out,执行以下命令解决

git config --global http.proxy http://127.0.0.1:1080 ## 这个端口号是打开电脑设置,查看VPN代理端口,改成自己的
git config --global https.proxy http://127.0.0.1:1080 
git config --global --unset http.proxy 
git config --global --unset https.proxy

2.传到服务器下解压后切换到文件夹目录

cd tiny-cuda-nn

3.第三步记得要先编译,不要直接进入torch执行setup.py安装命令,编译命令如下:

cmake . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build --config RelWithDebInfo -j

注释: 如果是直接在GitHub上手动下载压缩包的话会缺少两个依赖包,需要手动安装cutlass和fmt,而且手动安装编译容易报错,还是git直接拉取比较稳妥

4.编译结束后,切换到torch文件下进行tinycudann的安装:

cd bindings/torch
python setup.py install

【坑】:
1.第四步执行命令安装时可能会报错 Unknown compute capability.Specify the target compute capabilities in the TCNN_CUDA_ARCHITECTURES
解决方案:去https://developer.nvidia.com/cuda-gpus查询GPU的计算能力,把数字乘以10。例如,如果你用的是A40,在命令行里输入export TCNN_CUDA_ARCHITECTURES=86即可,这里参考tinycudann安装踩坑博客
在这里插入图片描述
执行完上述命令后再去重新执行安装命令。

2.第一个坑解决后,可能还会报错:
在这里插入图片描述

这个报错实际上是一种动态库链接的错误,在很多地方都能遇到类似 /usr/bin/ld: cannot find -l××;这里的l××实际上是lib****.so文件,意思是gcc找不到cuda的相关动态库,我们只需要把cuda的相关动态库文件放到gcc可以找到地方即可;

由于我是在服务器下搭建环境,没有root权限,不能执行sudo命令,有root权限的这里可以参考一般方法:root用户解决cannot find -l×××,非root用户可以按照以下方式解决:

1.先去自己的cuda文件夹下查看是否有libcudart.so这一类文件,如果有,那就直接进行第3步,如果没有,
那就执行下面的命令找到相关库文件的位置
locate libcuda
输出:
/usr/lib64/libcudart.so

在这里插入图片描述

2.找到文件位置后,由于非root用户无法直接对usr目录下的文件进行cp命令操作,但可以手动复制这类文件后再粘
贴到自己cuda按照目录下的lib64文件下,记得输出的文件全部复制粘贴
3.修改setup.py中L166行libraries=["cuda", "cudadevrt", "cudart_static"],
改为libraries=["cudart", "cudadevrt", "cudart_static"],

之后再执行python setup.py install大概率可以成功(可能有些人还会继续报这个cannot find -lcuda的错误)

4.如果还是报相同的错误,那就可能和我一样,是libcudart.so文件存在,但是缺少其他的库文件,再次执行
locate libcuda查看是否还有其他库文件缺少,下面是我缺少的文件

在这里插入图片描述
找到后重复第二步,再将setup.py中的代码修改为cudart后执行安装命令即可成功!

Reference

pip安装tiny-cuda-nn编译时出现-lcuda找不到情况

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐