Nivdia GPU Driver, CUDA, and CuDNN Installation
本文介绍如何安装和配置Nivdia GPU Driver, CUDA, and CuDNN.
本质上说GPU Driver,CUDA,和CuDNN都是各种函数和API的集合,但是它们之间有版本兼容性要求。
首先最主要的是Driver的版本。比如以笔者现在使用Debian 12.5为例,因为Nvidia的驱动对Linux等开源系统的支持并没有非常即使和完善,通过Debian系统推荐的方式安装的Driver版本一般比较旧,截至目前,Nvidia Driver在Debian 12.5的版本是525.147.05
. 参考[https://wiki.debian.org/NvidiaGraphicsDrivers]
一旦Driver的版本确定,就需要找对应的CUDA版本,最快的方式可以通过nvidia-smi
命令的输出,其中CUDA Version:
的信息就代表了该Driver版本最高能支持的CUDA版本,因为CUDA是向下兼容,所以只要是低于显示的数字就应该是可以的,但是尽量使用高版本,计算速度应该会更快。
确定了Driver和CUDA的版本,剩下就是CuDNN的版本,具体版本号可以参考官网
Installation in Virtual Environment
虽然GPU Driver一定要在系统层面安装才能支持图形图像的显示,但是CUDA和CuDNN已经可以通过Pip3
安装,
首先要安装Python虚拟环境,具体参考这里,之后在创建的虚拟环境中,安装对应的CUDA和CuDNN。比如,安装pytorch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 安装pytorch会同时安装对应版本的CUDA和CuDNN
# nvidia-cublas-cu11 11.11.3.6
# nviddui yinia-cuda-cupti-cu11 11.8.87
# nvidia-cuda-nvrtc-cu11 11.8.89
# nvidia-cuda-runtime-cu11 11.8.89
# nvidia-cudnn-cu11 8.7.0.84
# nvidia-cufft-cu11 10.9.0.58
# nvidia-curand-cu11 10.3.0.86
# nvidia-cusolver-cu11 11.4.1.48
# nvidia-cusparse-cu11 11.7.5.86
# nvidia-nccl-cu11 2.20.5
# nvidia-nvtx-cu11 11.8.86
System-wide Installation
如不通过虚拟环境安装CUDA和CuDNN,则可以去Nvidia官网下载CUDA和CuDNN。首先下载对应的CUDA Toolkit进行,这里推荐使用runfile(local)
模式,可以对具体安装细节进行配置,默认情况下CUDA会安装在/usr/local/cuda
,也可更改到其他位置。但是之后要添加CUDA路径到环境变量,
$CUDA_HOME="/usr/local/cuda"
export PATH="$CUDA_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$CUDA_HOME/lib64:$LD_LIBRARY_PATH"
之后,可以下载CuDNN的对应版本,并将其对应的库文件拷贝至对应的CUDA路径中
tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*