1,检查驱动是否安装
运行nvidia-smi,如果出现如下界面,说明驱动已经安装
记住cuda版本号
2,安装cudatoolkit
上官网CUDA Toolkit Archive | NVIDIA Developer 根据操作系统选择对应的toolkit
如果已经安装了驱动,选择的toolkit版本不要高于driver的cuda版本。如果未安装,选择一个较新的版本即可
选定版本后,网站上会出现安装指令,如下
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sh cuda_11.3.0_465.19.01_linux.run
如果已经安装了驱动,在安装过程中把驱动选项去掉。并且在安装完成后配置~/.bashrc,添加
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin:$PATH
source ~/.bashrc
安装完成后
运行nvcc --version验证是否安装成功
不要用apt install nvidia-cuda-toolkit安装,一般安装的版本会比较低。
3,安装cudnn
一般在安装tensorflow或者pytorch的gpu版本时会自动安装上cudnn。
如果提示找不到cudnn库,需要手动安装。上cuDNN Archive | NVIDIA Developer下载对应版本的库
解压后将lib目录下文件拷到/usr/local/cuda/lib64下,将include下文件拷到/usr/local/cuda/include下
备注
1,卸载toolkit
运行 /usr/local/cuda/bin/cuda-uninstaller
2,修改安装位置
sh cuda_11.3.0_465.19.01_linux.run --installpath=/mnt/mount/cuda
3,安装pytorch
conda install pytorch==1.12.1 torchvision==0.13.1 cudatoolkit=11.3 -c pytorch
此处选择的cudatoolkit版本与前面安装的对应上
验证是否安装成功
import torch
print(torch.__version__):查看torch版本
print(torch.cuda.is_available()):看安装好的torch和cuda能不能用,也就是看GPU能不能用
4,有时显卡内存占用明显大于nvidia-smi下显示的进程占用
可以用命令fuser -v /dev/nvidia* 查看所有占用显存的进程
5,Jitting卡住的问题
如果在之前运行这个程序时,趁加锁之后突然kill掉这个程序,导致它还没来得及释放锁,这样锁就会一直存在,导致后续所有程序都无法读取该库文件。
到~/.cache/torch_extensions/py310_cu113目录下找到lock文件删除