本文介紹 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}
編譯 minicudnn
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 相關工具的安裝,介紹了包管理器安裝和離線安裝兩種方式。