安裝 Nvidia driver 570 CUDA 12.8 cudnn 12.x on Ubuntu 24.04
先手動將現有的nvidia driver清理乾淨,如果没有装过,跳過此步驟
sudo apt autoremove
sudo apt remove --purge '^nvidia-.*'
sudo apt remove --purge '^cuda-.*'
下面指令看是否還有殘留的,或者其他方式安裝的,如果有顯示就自己去手動刪除
find /usr/lib -iname "*nvidia*"
find /usr/lib -iname "*cuda*"
安裝 Nvidia Driver
sudo apt install nvidia-common
sudo add-apt-repository ppa:graphics-drivers
sudo apt update
ubuntu-drivers devices
sudo apt install nvidia-driver-570
因爲等下要安裝的cuda12.8默認對應的driver是570,所以這裡儘量選擇一致
安裝 CUDA
到cuda官網follow下面的指令 https://developer.nvidia.com/cuda-downloads

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-ubuntu2404-12-8-local_12.8.0-570.86.10-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2404-12-8-local_12.8.0-570.86.10-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2404-12-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8
配置環境
sudo vim ~/.bashrc
最後面加入
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
重新載入
source ~/.bashrc
sudo ldconfig
檢查 CUDA是否順利安裝
nvcc -V
如果有出現下列字樣,表示CUDA Toolkit已經安裝成功了

安裝完成後重新開機,然後來編譯一個 deviceQuery 的小程式來看看。因爲現在安裝裏移除了sample,需要自己去下載編譯測試。
git clone https://github.com/NVIDIA/cuda-samples
cd cuda-samples/Samples/1_Utilities/deviceQuery
make
會產生一個叫 deviceQuery 的執行檔,執行後,會有相關資訊
CUDA Device Query (Runtime API) version (CUDART static linking)Detected 1 CUDA Capable device(s)......
......
......deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 12.8, CUDA Runtime Version = 12.8, NumDevs = 1
Result = PASS
安裝cudnn

跟着下面的指令都打完就可以了
wget https://developer.download.nvidia.com/compute/cudnn/9.7.1/local_installers/cudnn-local-repo-ubuntu2404-9.7.1_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2404-9.7.1_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2404-9.7.1/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn
測試cudnn, 去github上搜索cudnn samples v9测试,Link
git clone https://github.com/johnpzh/cudnn_samples_v9
cd cudnn_samples_v9/mnistCUDNN
make clean && make
如果遇到 fatal error: FreeImage.h: No such file or directory
$ sudo apt install libfreeimage3 libfreeimage-dev
再編譯一下
$ make clean && make
$ ./mnistCUDNN
都沒有問題通過會有下面的畫面
Executing: mnistCUDNN
cudnnGetVersion() : 90701 , CUDNN_VERSION from cudnn.h : 90701 (9.7.1)
Host compiler version : GCC 13.3.0.........
.........
.........Test passed!