赞
踩
debian 系统不知为何,开机没有自动加载 nvidia-uvm 设备,需要在主机系统手动启动任意一个cuda程序才能加载,非常坑爹。
写了一个脚本,配置了一个自动创建 nvidia-uvm 的 systemd 的服务。
#!/bin/bash # 确保为 root 用户 if [ "$UID" -ne "0" ]; then echo "Must be root to run this script." exit 1 fi # 创建自动加载脚本 echo "Create preload-nv-mod.sh > /preload_nv_mod.sh" cat << \EOF > /preload_nv_mod.sh #!/bin/bash /sbin/modprobe nvidia if [ "$?" -eq 0 ]; then # Count the number of NVIDIA controllers found. NVDEVS=`lspci | grep -i NVIDIA` N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l` NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l` N=`expr $N3D + $NVGA - 1` for i in `seq 0 $N`; do mknod -m 666 /dev/nvidia$i c 195 $i done mknod -m 666 /dev/nvidiactl c 195 255 else exit 1 fi /sbin/modprobe nvidia-uvm if [ "$?" -eq 0 ]; then # Find out the major device number used by the nvidia-uvm driver D=`grep nvidia-uvm /proc/devices | awk '{print $1}'` mknod -m 666 /dev/nvidia-uvm c $D 0 else exit 1 fi EOF # 设定 755 权限 chown root:root /preload_nv_mod.sh chmod 755 /preload_nv_mod.sh # 创建 systemd 的服务配置文件 echo "Create preload-nv-mod.service > /lib/systemd/system/preload-nv-mod.service" cat << \EOF > /lib/systemd/system/preload-nv-mod.service [Unit] Description=preload-nv-mod Documentation=None ConditionFileIsExecutable=/preload_nv_mod.sh After=network.target [Service] Type=forking ExecStart=/preload_nv_mod.sh TimeoutSec=0 RemainAfterExit=yes GuessMainPID=no [Install] WantedBy=multi-user.target EOF # 设定服务配置的权限 chown root:root /lib/systemd/system/preload-nv-mod.service chmod 644 /lib/systemd/system/preload-nv-mod.service # 启用服务 echo "setting autostart" systemctl enable preload-nv-mod # 启动服务 echo "start service" systemctl start preload-nv-mod # 检查服务状态 echo "check service status" systemctl status preload-nv-mod
参考资料
nvidia cuda官方创建 nvidia-uvm 节点的脚本
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#runfile-verifications
stackoverflow 上的问题 正确创建 nvidia-uvm 设备
https://askubuntu.com/questions/590319/how-do-i-enable-automatically-nvidia-uvm
Debian11 创建 systemd 开机服务
https://www.burning.net.cn/article/article-60
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。