1. 前言
本人在复现water-splatting时,需要配置tiny-cuda-nn,与此同时,出现了很多问题,在此进行简单概述。
2.安装Pytorch
环境版本要求保持一致:CUDA(物理机),Pytorch,CUDA Toolkit
注意这里的tiny-cuda-nn对应的是真实的物理机安装的cuda版本号(环境变量里配置的cuda),不是虚拟环境下的cuda版本号,否则即使tiny-cuda-nn安装成功,也不能使用gpu。
在此本人的CUDA为12.4,虽然官方为11.8,但是不断报错,所以最终决定,安装12.4的CUDA
使用anaconda3新建tiny-cuda-nn虚拟环境:
conda create -n water_splatting python=3.8
activate water_splatting
然后安装对应版本pytorch和cuda包:
conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 pytorch-cuda=12.4 -c pytorch -c nvidia
3.源码编译安装tiny-cuda-nn
这里源码githup的readme已经给出了不同操作系统下c++编译器和cuda的版本要求。(本人已经安装VS2022社区版,同时已经安装MVS,也在环境变量进行配置)
需要将D:\DevelopTools\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\bin\Hostx64\x64
加入环境变量,个人根据自己下载位置添加
在命令行中输入cl
可以查看到下图,即可证明VS安装完毕且环境变量配置完毕
3.1git下载(不推荐)
# 可能需要科学上网(不推荐)
git clone --recursive https://github.com/nvlabs/tiny-cuda-nn
git下载太慢了,会时常中断导致部分文件缺失(dependencies\fmt和dependencies\cutlass文件夹内是不全),需要再单独下载再放到文件对应文件夹内。
3.2直接下载(推荐)
【tiny-cuda-nn的下载地址】【fmt的下载地址】【cutlass的下载地址】
解压fmt和cutlass,并将文件内容放到dependencies\fmt和dependencies\cutlass中。
以管理者身份打开"x64 Native Tools Command Prompt for VS 2022"终端,cd到合适的路径,输入以下指令:
cd tiny-cuda-nn/bindings/torch
activate water_splatting
python setup.py install
注意一定要以管理者身份打开,否则出现以下问题
执行过程中可能出现: “Error compiling objects for extension” ,需要修改tiny-cuda-nn\bindings\torch\setup.py中的内容:
cmdclass={"build_ext": BuildExtension}
# 修改为
cmdclass={'build_ext': BuildExtension.with_options(use_ninja=False)}
成功安装。
#查看环境中的是否成功安装包
conda list
参考
【Windows环境下nerfstudio环境配置及复现(含tinycudann安装、poster数据)】