在创建RDS Custom AI节点时,系统会默认安装NVIDIA Tesla驱动、CUDA和cuDNN。如果当前场景下默认的NVIDIA Tesla驱动、CUDA和cuDNN版本已不再适用,您可以选择卸载现有版本,并安装所需的版本。
前提条件
卸载Tesla驱动、CUDA和cuDNN
本文以在Alibaba Cloud Linux 3操作系统下安装Tesla驱动575.57.08、CUDA 12.9.0和cuDNN 9.10.2版本为例,具体操作如下所示。
请执行以下命令,并根据界面提示进行操作,以卸载Tesla驱动。
/usr/bin/nvidia-uninstall
卸载CUDA。
方式一:手动删除CUDA软件包及相关配置文件
手动删除CUDA软件包和相关配置。
# 卸载CUDA软件包 sudo dnf remove 'cuda*' # 删除仓库配置 sudo rm /etc/yum.repos.d/cuda*.repo # 清理缓存 sudo dnf clean all
执行
nvcc --version
命令,确认CUDA是否已卸载。当提示
command not found
,说明CUDA已成功卸载。
方式二:通过uninstall_cuda文件卸载
说明不同CUDA版本,卸载命令可能存在差别,如果未找到
cuda-uninstaller
文件,请到/usr/local/cuda/bin/
目录下查看是否存在uninstall_cuda
开头的文件。如果有,则将命令中的
cuda-uninstaller
替换为该文件名。如果没有,请通过方式一卸载。
/usr/local/cuda/bin/cuda-uninstaller rm -rf /usr/local/cuda-12.9
当回显出现
Successfully
时,表示卸载成功。卸载cuDNN。
执行以下命令,查看已安装的cuDNN相关安装包的名称。
rpm -qa | grep cudnn
返回结果示例:
cudnn9-cuda-12-9.10.2.21-1.x86_64 libcudnn9-cuda-12-9.10.2.21-1.x86_64 libcudnn9-static-cuda-12-9.10.2.21-1.x86_64 ...
执行
dnf remove
命令依次卸载目标安装包。sudo dnf remove cudnn9-cuda-12-9.10.2.21-1.x86_64 sudo dnf remove libcudnn9-cuda-12-9.10.2.21-1.x86_64 sudo dnf remove libcudnn9-static-cuda-12-9.10.2.21-1.x86_64
执行以下命令,清理残留依赖。
sudo dnf autoremove
验证卸载结果。
rpm -qa | grep cudnn
如果输出为空,则表示卸载成功。否则请继续执行
dnf remove
卸载未完成的安装包。
安装Tesla驱动
步骤一:下载NVIDIA Tesla驱动
访问NVIDIA驱动下载页面。
说明关于安装和配置NVIDIA驱动程序的更多信息,请参见NVIDIA Driver Installation Quickstart Guide。
根据RDS Custom实例规格,设置相应的搜索条件,查找并选择适合的驱动程序。
找到待下载的驱动,单击对应驱动后的查看。
在待下载驱动的详情页面,右键单击下载并复制链接地址。
执行以下命令,下载驱动安装包。
命令示例中的驱动下载地址为您在步骤4中获取的驱动下载链接。
wget https://cn.download.nvidia.com/tesla/575.57.08/NVIDIA-Linux-x86_64-575.57.08.run
步骤二:安装NVIDIA Tesla驱动
Alibaba Cloud Linux/CentOS
执行以下命令,查询GPU实例中是否已安装kernel-devel和kernel-headers包。
sudo rpm -qa | grep $(uname -r)
如果回显类似如下信息,即包含了kernel-devel和kernel-headers包的版本信息,表示已安装。
kernel-3.10.0-1062.18.1.el7.x86_64 kernel-devel-3.10.0-1062.18.1.el7.x86_64 kernel-headers-3.10.0-1062.18.1.el7.x86_64
如果在回显信息中,您没有找到kernel-devel-*和kernel-headers-*内容,您需要自行下载并安装kernel对应版本的kernel-devel和kernel-headers包。
重要kernel-devel和kernel版本不一致会导致在安装driver rpm过程中driver编译出错。因此,请您确认回显信息中kernel-*的版本号后,再下载对应版本的kernel-devel。在示例回显信息中,kernel的版本号为3.10.0-1062.18.1.el7.x86_64。
授权并安装Tesla驱动。
以操作系统是Linux 64-bit的驱动为例,推荐您使用.run形式的Tesla驱动,例如:NVIDIA-Linux-x86_64-xxxx.run。分别执行以下命令,授权并安装Tesla驱动。
说明如果您使用的是.deb或.rpm等其他形式的Tesla驱动,具体安装方法,请参见NVIDIA CUDA Installation Guide for Linux。
# 授权 sudo chmod +x NVIDIA-Linux-x86_64-xxxx.run # 安装 sudo sh NVIDIA-Linux-x86_64-xxxx.run
执行以下命令,查看Tesla驱动是否安装成功。
nvidia-smi
回显出现Tesla驱动的详细信息时,表示安装成功。
(可选)通过NVIDIA Persistence Daemon方式开启Persistence-M属性。
Tesla驱动安装完成后,Persistence-M默认为关闭(
off
)状态,Tesla驱动在开启Persistence-M属性状态下性能更稳定。为了业务更稳定地进行,建议您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。更多信息,请参见Persistence Daemon。说明Persistence-M(即Persistence Mode)是用户可设置的驱动程序属性术语,该属性可以使目标GPU保持初始化状态。
通过
nvidia-smi -pm 1
开启Persistence-M属性,会导致实例重启后失效等问题,更多信息,请参见重启GPU实例后导致Persistence Mode属性开启失效,同时ECC状态或MIG功能设置也失败。推荐您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。
执行以下命令,运行NVIDIA Persistence Daemon。
sudo nvidia-persistenced --user username # username为您的用户名。
执行以下命令,查看Persistence-M属性状态。
nvidia-smi
回显信息类似如下所示,表示Persistence-M为开启(
on
)状态。
(可选)重启系统后开启Persistence-M属性。
如果系统重启,则会导致Persistence-M开启(
on
)状态失效,您可以按照以下操作重新开启Persistence-M属性。通过安装Tesla驱动安装包,将NVIDIA提供的安装脚本(例如示例脚本和安装程序脚本)安装到
/usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2
路径下。执行以下命令,解压并安装NVIDIA提供的安装脚本。
cd /usr/share/doc/NVIDIA_GLX-1.0/samples/ sudo tar xf nvidia-persistenced-init.tar.bz2 cd nvidia-persistenced-init sudo sh install.sh
执行以下命令,查看NVIDIA Persistence Daemon是否正常运行。
sudo systemctl status nvidia-persistenced
回显信息类似如下所示,表示NVIDIA Persistence Daemon正常运行。
说明您可以根据您的操作系统适配NVIDIA Persistence Daemon安装脚本以保证其正常工作。
执行以下命令,再次确认Persistence-M属性为开启(
on
)状态。nvidia-smi
(可选)执行以下命令,关闭NVIDIA Persistence Daemon。
如果目前无需运行NVIDIA Persistence Daemon,您可以选择关闭NVIDIA Persistence Daemon。
sudo systemctl stop nvidia-persistenced sudo systemctl disable nvidia-persistenced
Ubuntu及其他
授权并安装Tesla驱动。
以操作系统是Linux 64-bit的驱动为例,推荐您使用.run形式的Tesla驱动,例如:NVIDIA-Linux-x86_64-xxxx.run。分别执行以下命令,授权并安装Tesla驱动。
说明如果您使用的是.deb或.rpm等其他形式的Tesla驱动,具体安装方法,请参见NVIDIA CUDA Installation Guide for Linux。
# 授权 sudo chmod +x NVIDIA-Linux-x86_64-xxxx.run # 安装 sudo sh NVIDIA-Linux-x86_64-xxxx.run
执行以下命令,查看Tesla驱动是否安装成功。
nvidia-smi
回显出现Tesla驱动的详细信息时,表示安装成功。
(可选)通过NVIDIA Persistence Daemon方式开启Persistence-M属性。
Tesla驱动安装完成后,Persistence-M默认为关闭(
off
)状态,Tesla驱动在开启Persistence-M属性状态下性能更稳定。为了业务更稳定地进行,建议您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。更多信息,请参见Persistence Daemon。说明Persistence-M(即Persistence Mode)是用户可设置的驱动程序属性术语,该属性可以使目标GPU保持初始化状态。
通过
nvidia-smi -pm 1
开启Persistence-M属性,会导致实例重启后失效等问题,更多信息,请参见重启GPU实例后导致Persistence Mode属性开启失效,同时ECC状态或MIG功能设置也失败。推荐您通过NVIDIA Persistence Daemon方式开启Persistence-M属性。
执行以下命令,运行NVIDIA Persistence Daemon。
sudo nvidia-persistenced --user username # username为您的用户名。
执行以下命令,查看Persistence-M属性状态。
nvidia-smi
回显信息类似如下所示,表示Persistence-M为开启(
on
)状态。
(可选)重启系统后开启Persistence-M属性。
如果系统重启,则会导致Persistence-M开启(
on
)状态失效,您可以按照以下操作重新开启Persistence-M属性。通过安装Tesla驱动安装包,将NVIDIA提供的安装脚本(例如示例脚本和安装程序脚本)安装到
/usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2
路径下。执行以下命令,解压并安装NVIDIA提供的安装脚本。
cd /usr/share/doc/NVIDIA_GLX-1.0/samples/ sudo tar xf nvidia-persistenced-init.tar.bz2 cd nvidia-persistenced-init sudo sh install.sh
执行以下命令,查看NVIDIA Persistence Daemon是否正常运行。
sudo systemctl status nvidia-persistenced
回显信息类似如下所示,表示NVIDIA Persistence Daemon正常运行。
说明您可以根据您的操作系统适配NVIDIA Persistence Daemon安装脚本以保证其正常工作。
执行以下命令,再次确认Persistence-M属性为开启(
on
)状态。nvidia-smi
(可选)执行以下命令,关闭NVIDIA Persistence Daemon。
如果目前无需运行NVIDIA Persistence Daemon,您可以选择关闭NVIDIA Persistence Daemon。
sudo systemctl stop nvidia-persistenced sudo systemctl disable nvidia-persistenced
安装CUDA
获取CUDA安装包。
进入CUDA Toolkit Archive页面。
单击驱动对应的CUDA版本。
在Operating System中按照需要选择操作系统、架构或版本等参数项,获取对应CUDA安装包的下载地址和安装命令。
说明本文以CUDA 12.9.0版本和Linux操作系统RHEL 8(Alibaba Cloud Linux 3兼容RHEL 8)为例。
安装CUDA。
依次执行如下命令,安装CUDA。
wget https://developer.download.nvidia.com/compute/cuda/12.9.0/local_installers/cuda-repo-rhel8-12-9-local-12.9.0_575.51.03-1.x86_64.rpm sudo rpm -i cuda-repo-rhel8-12-9-local-12.9.0_575.51.03-1.x86_64.rpm sudo dnf clean all sudo dnf -y install cuda-toolkit-12-9
依次执行以下命令,配置CUDA环境变量。
echo 'export PATH=/usr/local/cuda/bin:$PATH' | sudo tee /etc/profile.d/cuda.sh source /etc/profile
检查CUDA是否成功安装。
执行
nvcc -V
命令,检查CUDA安装版本是否正确。返回结果示例:
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2025 NVIDIA Corporation Built on Wed_Apr__9_19:24:57_PDT_2025 Cuda compilation tools, release 12.9, V12.9.41 Build cuda_12.9.r12.9/compiler.35813241_0
安装cuDNN
获取cuDNN安装包。
单击Download cuDNN Library。
在Operating System中按照需要选择操作系统、架构或版本等参数项,获取对应cuDNN安装包的下载地址和安装命令。
默认下载最新版本的cuDNN,您也可以单击Archive of Previous Releases,选择需要的版本进行下载。
说明本文以cuDNN 9.10.2版本和Linux操作系统RHEL 8(Alibaba Cloud Linux 3兼容RHEL 8)为例。
安装cuDNN。
依次执行如下命令,安装cuDNN。
wget https://developer.download.nvidia.com/compute/cudnn/9.10.2/local_installers/cudnn-local-repo-rhel8-9.10.2-1.0-1.x86_64.rpm sudo rpm -i cudnn-local-repo-rhel8-9.10.2-1.0-1.x86_64.rpm sudo dnf clean all sudo dnf -y install cudnn-cuda-12
(可选)如果系统默认将
cudnn.h
、libcudnn.so*
和cudnn_version.h
安装在/usr/include/目录下,需要执行以下命令,将这些文件链接到/usr/local/cuda/对应的目录下。执行以下命令,将libcudnn.so*等cuDNN库文件链接到
/usr/local/cuda/lib64/
。sudo ln -s /usr/lib64/libcudnn.so.9.10.2 /usr/local/cuda/lib64/libcudnn.so.9.10.2 sudo ln -s /usr/local/cuda/lib64/libcudnn.so.9.10.2 /usr/local/cuda/lib64/libcudnn.so.9 sudo ln -s /usr/local/cuda/lib64/libcudnn.so.9 /usr/local/cuda/lib64/libcudnn.so
执行
ls -l /usr/local/cuda/lib64/libcudnn.so*
验证链接结果。执行以下命令,将
cudnn.h
和cudnn_version.h
链接到/usr/local/cuda/include
下。sudo ln -s /usr/include/cudnn.h /usr/local/cuda/include/cudnn.h sudo ln -s /usr/include/cudnn_version.h /usr/local/cuda/include/cudnn_version.h
执行
ls -l /usr/local/cuda/include/cudnn*
验证链接结果。
检查cuDNN是否成功安装。
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
返回结果示例:
#define CUDNN_MAJOR 9 #define CUDNN_MINOR 10 #define CUDNN_PATCHLEVEL 2 --