国内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 https://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 了!