前言
本文适用于,服务器已有非11.6版本的CUDA Toolkit(可通过nvcc -V命令查看版本),而且不能简单的把原来CUDA删掉,而是要多个CUDA Toolkit并存的情况。
一、安装CUDA Toolkit 11.6
1. 查看显卡版本
nvidia-smi
这一项代表了显卡能够装的最新的CUDA版本是多少。如果低于11.6。那可以先换个卡再来看本文了。
2. CUDA Toolkit 11.6
来到CUDA Toolkit11.6网站CUDA Toolkit 11.6 Downloads | NVIDIA Developer?选择自己系统对应的版本,即红框中的2项。
选完后,建一个合适的文件夹用于安装CUDA Toolkit,cd到该文件夹里输入网站中给出的两条命令:
输完第二个命令进入安装:
1. accept+回车
2. 在Driver处回车一下,取消安装驱动
3. CUDA Toolkit xxx处按A进去
4. Change Toolkit Install Path 一项回车或者是A进去,更改你需要安装到的自己的路径
5. 全部取消
Done出来,再install
如果中途有说安装symbolic link(软连接)到/usr/local/cuda,就选n,因为/usr/local/cuda里放的是原来CUDA Toolkit的东西,最好别动。
然后,调一下环境变量,路径是上面自定义的CUDA Toolkit的安装路径,下面只是一个例子:
export CUDA_HOME=/home/xxx/cuda-10.1/
export PATH=$PATH:/home/xxx/cuda-10.1/bin/
你得去看看路径里有没有/bin这个文件夹,和/bin/里有没有nvcc这个文件夹,有才算安装成功。而且,每次进终端,你都得输一遍上面的环境变量才能用属于自己的CUDA Toolkit。当然也有其他方法,可以查看最后的参考文章。
二、安装pytorch+torchvision+torchaudio+cudatoolkit
1. 建环境
conda create --name gss python=3.7.13
conda activate gss
2. 安装pytorch
pip install pytorch==1.12.1
我们需要了解pytorch如何识别CUDA。开始上课,首先,CUDA默认路径:/usr/local/cuda。这个路径里存放了旧CUDA Toolkit的软连接。pytorch在安装的时候可能会先去获取这个软连接记录CUDA版本。因此,进入python里,敲以下命令,结果很可能是旧的CUDA版本,让人心灰意冷:
import torch
torch.version.cuda
但是,我们在装pytorch之前设置了环境变量export CUDA_HOME=/home/xxx/cuda-10.1/。我们还需要确定pytorch实际使用的运行时的CUDA目录:
import torch
import torch.utils
import torch.utils.cpp_extension
torch.utils.cpp_extension.CUDA_HOME
按道理来说,打印的目录就是我们设置的环境变量。也就是说pytorch实际运行的CUDA就是我们安装的,它只是在安装的时候把/usr/local/cuda里的CUDA版本记录下来,口是心非。
两个版本如果不同的话,会导致后面出错。怎么改,很简单,打开anaconda3/env/gss/lib/site-package/python3.7/torch/version.py(自己找找anaconda3的路径,一般在home下面)。找到这个version.py文件,它只有短短几行,在第一行里把__version__一项修改为11.6即可。这样,再运行torch.version.cuda,就是11.6了。
3. 安装torchvision
pip install torchvision==0.13.1+cu116
如果没有的话,就只能去https://download.pytorch.org/whl/torchvision/找到torchvision-0.13.1+cpu-cp37-cp37m-linux_x86_64.whl下载到本地,进行本地的pip安装。(截止发文时间,国内清华源的这个文件有损坏,无法安装)
4. 安装其他
torchaudio 0.12.1
pip install torchaudio==0.12.1
cudatoolkit 11.6
conda install deepmodeling::cudatoolkit
注意,CUDA Toolkit和是不一样的东西。相应版本的cudatoolkit的下载网站为Cudatoolkit :: Anaconda.org。
其他
pip install tqdm
pip install plyfile==0.8.1
5. 安装两个CUDA编程包
cd到3D Gaussian Splatting的项目文件夹里
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn
其实最难就是这里,如果上面的步骤没有问题,这里应该不会出现因为CUDA而安装失败的问题。但是仍然可能会出现与glm相关的问题,需要安装相应的东西。情况之多,无法一一细说,不过都是可以简单搜索出答案。
这两个包安装完了,基本没问题了。
参考文献
想要更加了解Pytorch与CUDA强烈推荐https://www.cnblogs.com/yhjoker/p/10972795.html