自动安装GPU驱动及CUDA(推荐)
更新时间:2023-09-04
GPU的驱动和CUDA是使用GPU计算的必备组件。您在使用GPU云服务器的过程中,可通过控制台操作自动为GPU实例安装驱动及CUDA。
创建新GPU实例并安装驱动
请参考创建实例,并按照向导选择安装GPU驱动。该操作会自动帮助您安装GPU驱动、CUDA、Cudnn、DCGM以及Fabric manager(如果GPU包含NVSwitch)。
在实例状态变为运行中后,登录实例可通过以下命令查看当前安装GPU驱动的进展:
cat install_info.log
看到如下的安装提示后,可通过nvidia-smi检查驱动是否正常工作。
注意:安装过程中请避免执行重启实例、重装实例等涉及实例关机的操作,否则安装无法完整执行
为已创建的实例安装或者更新驱动
您可通过重装实例为已经运行中的实例安装或更新所需要的GPU驱动,操作如下:
登录云服务器控制台,并为需要安装或者更新GPU驱动的实例点击重装。
在弹窗中选择需要的公共镜像的操作系统,并勾选安装GPU驱动,选择需要的版本。
注意:安装GPU驱动以添加数据注入实现,在实例重装时系统默认会执行已保存的数据注入,请您在重装的时候确认当前的数据注入是否需要执行
在实例状态变为运行中后,登录实例可通过以下命令查看当前安装GPU驱动的进展:
cat install_info.log
看到如下的安装提示后,可通过nvidia-smi检查驱动是否正常工作。
如果您需要为自定义镜像安装GPU驱动,请确保自定义镜像为BaiduLinux、CentOS、RockyLinux、Ubuntu其中的一种,并在数据注入执行以下命令并按需替换其中的DRIVER_VERSION、CUDA_VERSION、CUDNN_VERSION三项参数。
注意:请确认自定义镜像中没有已安装的GPU驱动,否则如下脚本无法正确执行
#!/bin/bash
set -ue
DRIVER_VERSION="535.86.10"
CUDA_VERSION="12.2.1"
CUDNN_VERSION="8.9.4"
WORK_DIR="/root/auto_install"
SCRIPT_URL="http://mirrors.baidubce.com/nvidia-binary-driver/api/auto_install.sh"
mkdir ${WORK_DIR}
pushd ${WORK_DIR}
for ((i=0; i<120; i++))
do
wget --timeout=10 -t 10 ${SCRIPT_URL}
if [ $? -eq 0 ]; then
break
else
sleep 1
fi
done
bash ${WORK_DIR}/$(basename ${SCRIPT_URL}) ${DRIVER_VERSION} ${CUDA_VERSION} ${CUDNN_VERSION}
popd
rm -rf ${WORK_DIR}
cat /proc/cmdline| grep -q "pci=realloc"
if [ $? -eq 0 ]; then
echo "remove 'pci=realloc' cmdline arg and update grub"
default_grub_arg="/etc/default/grub"
sed -i 's/pci=realloc//g' ${default_grub_arg}
if command -v grub2-mkconfig; then
efi_grub_cfg=/boot/efi/EFI/centos/grub.cfg
if [ -f /boot/efi/EFI/rocky/grub.cfg ]; then
efi_grub_cfg=/boot/efi/EFI/rocky/grub.cfg
fi
grub2-mkconfig -o $efi_grub_cfg
fi
if command -v update-grub; then
update-grub
fi
reboot
else
echo "there is no 'pci=realloc' arg in current cmdline, do nothing"
fi