國內GPU服務器如何安裝顯卡驅動、CUDA和cuDNN?
國內GPU服務器如何安裝顯卡驅動、CUDA和cuDNN?
在國內GPU服務器上安裝顯卡驅動、CUDA 和 cuDNN,通常需要按照以下步驟進行,以確保環境穩定兼容:
第一步:確認 GPU 型號和操作系統
在安裝驅動前,先確認 GPU 型號和系統版本,以確保下載正確的驅動和 CUDA 版本。
檢查 GPU 型號
lspci | grep -i nvidia
或
nvidia-smi
檢查操作系統版本
cat /etc/os-release
uname -r
第二步:安裝 NVIDIA 驅動
方法 1:使用 NVIDIA 官方驅動安裝
卸載舊驅動(如果有)
sudo apt-get remove --purge '^nvidia-.*'
sudo apt-get autoremove
sudo apt-get autoclean
對于 CentOS:
sudo yum remove -y nvidia*
禁用 Nouveau(避免沖突)
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
添加以下內容:
blacklist nouveau
options nouveau modeset=0
保存退出后,運行:
sudo update-initramfs -u
reboot
下載 NVIDIA 驅動
訪問 NVIDIA 官方驅動頁面
根據 GPU 型號選擇合適的驅動版本并下載
安裝驅動
chmod +x NVIDIA-Linux-x86_64-XXX.run
sudo ./NVIDIA-Linux-x86_64-XXX.run
選擇 "Yes",等待安裝完成。
驗證驅動是否安裝成功
nvidia-smi
如果成功,會顯示 GPU 詳細信息。
第三步:安裝 CUDA
方法 1:官方 DEB/YUM 安裝
下載 CUDA
訪問 CUDA 官方下載頁面
選擇對應的 Linux 版本 并獲取安裝命令
執行安裝 以 Ubuntu 22.04(CUDA 12.1)為例:
wget //developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get install -y cuda
對于 CentOS:
sudo yum install -y cuda
配置環境變量
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
驗證 CUDA
nvcc --version
第四步:安裝 cuDNN
下載 cuDNN
訪問 NVIDIA cuDNN 下載頁面
選擇適配 CUDA 版本的 cuDNN 并下載(需要 NVIDIA 賬號)
安裝 cuDNN 以 Ubuntu 為例:
tar -xzvf cudnn-linux-x86_64-*.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*
驗證 cuDNN
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
第五步:測試 GPU 計算環境
檢查 GPU 狀態
nvidia-smi
運行 CUDA 示例
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果顯示 "Result = PASS",說明 CUDA 運行正常。
總結
顯卡驅動:確保下載并安裝正確的驅動版本。
CUDA:選擇適配操作系統的 CUDA 版本,并配置環境變量。
cuDNN:安裝適配 CUDA 版本的 cuDNN,并驗證是否正確安裝。
最終測試:運行 nvidia-smi 和 deviceQuery 以驗證環境是否正常。
這樣就可以在國內 GPU 服務器上順利安裝并運行 NVIDIA 驅動、CUDA 和 cuDNN 了!

