简介
本文记录Ubuntu22.04长期支持版系统下的CUDA驱动和cuDNN神经网络加速库的安装,并安装PyTorch2.1.1来测试是否安装成功。
安装Ubuntu系统
- 如果是旧的不支持UEFI启动的主板,请参考本人博客U盘系统盘制作与系统安装(详细图解)
- 如果是新的支持UEFI启动的主板,请参考本人博客UEFI下Windows10和Ubuntu22.04双系统安装图解
安装CUDA
CUDA的安装方式有多种:deb在线、deb离线、run在线、run离线等等,具体可参见CUDA手册。本文采用deb离线方式,访问CUDA下载首页,根据操作系统、处理器等信息选择安装文件。
选择完成后页面给出安装命令脚本,可以看到上述deb文件仅仅安装了CUDA运行时环境(base installer),还需要安装对应的NVIDIA显示驱动(Driver installer)。
本文下载的文件为 cuda-repo-ubuntu2204-12-3-local_12.3.1-545.23.08-1_amd64.deb
,根据提示下载后执行如下命令安装Base Installer
bash
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo dpkg -i cuda-repo-ubuntu2204-12-3-local_12.3.1-545.23.08-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3
安装完成后根据需要选择安装legacy
还是open
核下的驱动
bash
# To install the legacy kernel module flavor:
sudo apt-get install -y cuda-drivers
# To install the open kernel module flavor:
sudo apt-get install -y nvidia-kernel-open-545
sudo apt-get install -y cuda-drivers-545
最后需要添加环境变量到~/.bashrc
文件:
bash
export CUDA_HOME=/usr/local/cuda-12.3
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
安装CUDNN
从CUDNN首页下载安装包,有tar压缩包文件格式,也有deb格式,根据操作系统类型版本和CUDA版本选择相应的安装包,如本文选择下图中所示安装文件(tar压缩包格式)
下载完成后执行如下命令安装,具体参见官方安装指南:
bash
tar -xvf cudnn-linux-$arch-8.x.x.x_cudaX.Y-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
注意修改上述命令中的文件名,并替换x.x.x
,X.Y
为具体的版本号,如本文实际执行命令为:
bash
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
安装PyTorch
访问PyTorch首页,根据环境选择安装方式,输入提示命令安装即可,如下图所示
如果想使用离线安装方式,可以先从这里下载所需要的PyTorch安装文件,如 torch-2.1.1%2Bcu121-cp311-cp311-linux_x86_64.whl
表示适合于CUDA12.1,Python3.11、Linux系统、x86_64处理器架构环境下的安装文件。下载完成后,执行pip install torch-xxx.whl
即可。
下面利用PyTorch来获取硬件及安装的PyTorch版本信息,代码如下:
python
import torch as th
print("Torch Version: ", th.__version__)
print("CUDA Version: ", th.version.cuda)
print("CUDNN Version: ", th.backends.cudnn.version())
print("CUDA available?: ", th.cuda.is_available())
print("CUDA device count: ", th.cuda.device_count())
for gpuid in range(th.cuda.device_count()):
print("GPU ID: %d, name: %s, capability: %s" % (gpuid, th.cuda.get_device_name(gpuid), th.cuda.get_device_capability(gpuid)))
print(th.cuda.get_device_properties(gpuid))
执行后输出如下类似信息:
bash
Torch Version: 2.1.1+cu121
CUDA Version: 12.1
CUDNN Version: 8907
CUDA available?: True
CUDA device count: 2
GPU ID: 0, name: NVIDIA GeForce GTX 1080 Ti, capability: (6, 1)
_CudaDeviceProperties(name='NVIDIA GeForce GTX 1080 Ti', major=6, minor=1, total_memory=11172MB, multi_processor_count=28)
GPU ID: 1, name: NVIDIA GeForce GTX 1080, capability: (6, 1)
_CudaDeviceProperties(name='NVIDIA GeForce GTX 1080', major=6, minor=1, total_memory=8110MB, multi_processor_count=20)
附录
多版本CUDA切换
可以参考本人博客计算机使用技巧。