本文介绍 nvidia 相关工具的安装,包括: driver/cuda/cudnn/tensorrt。通常有两种方式安装:
- 在网络比较顺畅的地方可以使用包管理,可以避免很多环境变量的手工配置
- 而在网络不通畅的地方则要提前下载安装包后,手工安装,需要进行一些环境变量的配置工作;对于离线安装,需要先准备一个通畅的机器(如 vps)提前下载好相关安装包
本文会两种方式都介绍,实际按照其中一种操作就行。本文运行的硬件是 GTX 1030,linux 发行版是 RedHat 9.2。
1. nvidia driver 安装
driver 是最基本的。没有 driver,操作系统没有办法正确对 gpu 进行操作。
1.1 yum/dnf 安装 driver
参考了nvidia driver 安装教程,这里记录一下安装脚本。
sudo dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y
# For RedHat 9 only
subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms
subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms
subscription-manager repos --enable=codeready-builder-for-rhel-9-x86_64-rpms
sudo rpm --erase gpg-pubkey-7fa2af80*
sudo dnf clean expire-cache
sudo dnf module install nvidia-driver:latest-dkms
安装完成之后运行nvidia-smi
:
1.2 driver 离线安装
如果网路并不太通畅,则需要提前下载 nvidia 显卡的 driver,到下载网站挑选合适的驱动文件。
下载完成之后得到这么一个文件NVIDIA-Linux-x86_64-535.54.03.run
chmod +x NVIDIA-Linux-x86_64-535.54.03.run
sudo ./NVIDIA-Linux-x86_64-535.54.03.run
2. cuda 安装
2.1 dnf/yum 安装 cuda
安装教程在这里。首先源配置:
# sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/$distro/$arch/cuda-$distro.repo # `$distor/$arch = rhel9/x86_64`
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
正式安装:
sudo dnf install cuda -y
安装完成后配置环境变量:
echo 'export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}' >> ~/.zshrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.zshrc
机器用的是 zsh,所以写入了~/.zshrc
,如果你用的是 bash,则要写入~/.bashrc
。写入之后更新环境变量:source ~/.zshrc
,查看nvcc
状态:
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jun_13_19:16:58_PDT_2023
Cuda compilation tools, release 12.2, V12.2.91
Build cuda_12.2.r12.2/compiler.32965470_0
2.1.2 离线安装 cuda
到这里下载安装包,按照操作系统等进行选择:
选完之后,下面会自动出一个运行的代码:
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run
sudo sh cuda_12.2.0_535.54.03_linux.run
在安装的过程中,只选择 toolkit,不要选择 example。
1.3 cudnn 安装
1.3.1 yum/dnf 安装 cudnn
cudnn 安装教程,这里记述一下要点:
OS=rhel9
sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/cuda-${OS}.repo
sudo yum clean all
cudnn_version=8.9.2.*
cuda_version=12.2
sudo yum install libcudnn8-${cudnn_version}-1.${cuda_version}
sudo yum install libcudnn8-devel-${cudnn_version}-1.${cuda_version}
验证cudnn安装是否成功
为了验证安装是否成功,这里安装cudnn-example来测试:sudo yum install libcudnn8-samples-${cudnn_version}-1.${cuda_version}
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN
Test passed!
1.3.2 离线安装 cudnn
需要到这里下载 cudnn,选择对应的版本。这里选择:
下载完成之后解压
tar -xvf cudnn-linux-x86_64-8.9.2.26_cuda12-archive.tar.xz
# copy to place
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*
1.4 安装 tensorrt
tensorrt 是一个运行时的库。需要先安装 cudnn。
1.4.1 yum/dnf 安装 tensorrt
找到tensorrt 安装教程,搜索 yum 或者 dnf,定位 redhat 安装部分。
tensorrt 需要下载一个 repo 的 rpm,这个需要注册一个账户。这里找到登陆,走注册流程:
有账号后登陆下载:
os="rhel9"
tag="8.9.2-cuda-12.2"
sudo rpm -Uvh nv-tensorrt-local-repo-${os}-${tag}-1.0-1.x86_64.rpm
sudo yum clean expire-cache
或者直接用 wget 下载:
wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/secure/8.6.1/local_repos/nv-tensorrt-local-repo-rhel8-8.6.1-cuda-12.0-1.0-1.x86_64.rpm
sudo dnf install ./nv-tensorrt-local-repo-rhel8-8.6.1-cuda-12.0-1.0-1.x86_64.rpm
安装好 repo 之后,需要运行:
sudo dnf install tensorrt -y
此时就会自动安装 tensorrt 相关包。
1.4.2 离线安装
参考这里
总结
本文介绍了 nvidia 相关工具的安装,介绍了包管理器安装和离线安装两种方式。