AIGC 实战(环境篇) - EXSI 8.0 Debian安装RTX3060显卡驱动

打印 上一主题 下一主题

主题 1018|帖子 1018|积分 3054

近期,尝试在家里服务中搭建一个用来跑 AI 的服务器,尝试利用 EXSI8.0 + ubuntu 搭建,因 exsi + ubuntu 无法安装最新版本 N 卡驱动,原因:安装上后,nvidia-smi 找不到设备,exsi+ubuntu 的方式行不通,所以改为 exsi+debian 的方式搭建。
假造机配置如下:


  • EPYC 7302 * 48
  • 基于 ESXi-8.0U2 平台
  • NVIDIA GeForce RTX 3060(12G)
  • 128G 内存
  • Debian GNU/Linux 12 (bookworm) x86_64
RTX 3060 显卡驱动安装

紧张过程

首先配置假造机,按设置:


  • 锁定全部内存
  • 设置 hypervisor.cpuid.v0=FALSE
  • 设置 pciPassthru0.msiEnabled=FALSE
  • 设置 pciPassthru.use64bitMMIO=TRUE
  • 设置 pciPassthru.64bitMMIOSizeGB=24(这个数字填写 2*GPU 显存总量。比方我的 3060 显存 12G,这里填写 24 即可)
在假造机内,首先配置 apt 源,使之包含 non-free-firmware。在 /etc/apt/source.list 中,添加 non-free-firmware,完成后应该形如:
  1. deb https://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
复制代码
然后,
  1. sudo apt update
  2. apt search nvidia-driver
复制代码
直接利用 apt 安装驱动,会出现如下错误:
  1. Detected NVIDIA GPUs:
  2. 1b:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3090] [10de:2204] (rev a1)
  3. Checking card:  NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)
  4. Uh oh. Your card is not supported by any driver version up to 545.23.06.
  5. A newer driver may add support for your card.
  6. Newer driver releases may be available in backports, unstable or experimental.
复制代码
解决方案

简朴来说,需要安装开放版本的 NVIDIA 驱动而不是默认的。论坛中的回答表示应该利用 .run 文件安装,并附加参数 -m=kernel-open,我不清楚是否有可以解决这个题目的 deb 包。
在应用这个方案之前,首先需要清算之前的安装。
  1. sudo nvidia-uninstall
  2. sudo apt purge -y '^nvidia-*' '^libnvidia-*'
  3. sudo rm -r /var/lib/dkms/nvidia
  4. sudo apt -y autoremove
  5. sudo update-initramfs -c -k `uname -r`
  6. sudo update-grub2
  7. sudo reboot
复制代码

  • 查抄显卡是否被系统辨认
  1. lspci | grep -i nvidia
复制代码

  • 查抄操纵系统是否开启 nouveau
  1. lsmod | grep nouveau
复制代码

  • 禁用内核模块 nouveau
  1. vim /etc/modprobe.d/blacklist-nvidia-nouveau.conf
  2. 添加:
  3. blacklist nouveau
  4. options nouveau modeset=0
复制代码

  • 新增显卡参数
  1. vim /etc/modprobe.d/nvidia.conf
  2. 添加:
  3. options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
复制代码

  • 更新 initramfs
  1. sudo update-initramfs -u
复制代码

  • 重启后,检测。没任何输出,则禁用成功
  1. systemctl rebootlsmod | grep nouveau
  2.   # 没有输出说明操纵成功
复制代码

  • 然后,从 NVIDIA 驱动下载站下载 .run 格式的驱动。并实行
  1. sudo apt-get install gcc make g++  #安装依靠sudo chmod u+x NVIDIA-Linux-x86_64-535.154.05.run #赋予可实行权限sudo ./NVIDIA-Linux-x86_64-535.154.05.run -m=kernel-opensudo update-initramfs -u
  2. systemctl rebootnvidia-smi
复制代码
  1. 1.The distribution-provided pre-install script failed! Are you sure you want to continue?
  2. “Yes”
  3. 2.Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
  4. “No”
  5. 3.Nvidia’s 32-bit compatibility libraries?
  6. “No”
  7. 4.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
  8. “Yes”
复制代码
如果遇到 nvidia driver 遇到 kernel source tree missing 的解决方法:
  1. sudo apt-get install linux-headers-$(uname -r)
  2. 结果告诉我没有这个包。
  3. 然后我运行
  4. sudo apt-cache search linux-headers-$(uname -r)
  5. 显示的头文件版本是4.19.0-6-amd64
  6. 而我的核心
  7. cat /proc/version
  8. 是4.19.0-5
  9. 因此只能升级核心
  10. sudo apt-get install linux-image-4.19.0-6-amd64
  11. 然后卸载原来的,这时候会有警告,只要选No即可
  12. sudo apt-get remove linux-image-4.19.0-5-amd64
  13. 卸载完了重启即可
复制代码
重启题目解决

RTX 3060 CUDA、CUDNN 安装

CUDA 安装

按照 NVIDIA CUDA安装文档,安装 CUDA:
  1. wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-debian12-12-3-local_12.3.2-545.23.08-1_amd64.deb
  2. sudo dpkg -i cuda-repo-debian12-12-3-local_12.3.2-545.23.08-1_amd64.deb
  3. sudo cp /var/cuda-repo-debian12-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
  4. sudo add-apt-repository contrib
  5. 如果command not found
  6. 执行:apt-get install software-properties-common
  7. sudo apt-get update
  8. sudo apt-get -y install cuda-toolkit-12-3
复制代码
实行完上述代码后,实行 nvcc --version 显示 command not found,则下面步调解决:
首先,查看 cuda 的 bin 目录下是否有 nvcc:
  1. cd /usr/local/cuda/bin
复制代码
如果存在,直接将 cuda 路径加入系统路径即可:
  1. vim ~/.bashrc
  2. 进入配置文件;
  3. 添加以下两行:
  4. export PATH=/usr/local/cuda/bin:$PATH
  5. export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
复制代码
然后更新配置文件:
  1. source ~/.bashrc
复制代码
再次实行 nvcc –version 就可以看到相应 cuda 版本了,如下:

CUDNN 安装

​在 NVIDIA CUDNN, 这里下载 deb 格式 (本文是 debian 系统),安装:
  1. sudo dpkg -i cudnn-local-repo-debian11-8.9.7.29_1.0-1_amd64.deb  
  2. sudo cp /var/cudnn-local-repo-ubuntu2204-8.6.0.163/cudnn-local-FAED14DD-keyring.gpg /usr/share/keyrings/  
  3. sudo apt-get update  
  4. sudo apt-get install libcudnn8=8.9.7.29-1+cuda12.2 # 这里输入到=按tab补全即可,安装运行库  
  5. sudo apt-get install libcudnn8-dev=8.9.7.29-1+cuda12.2 # 通过tab自动补全,安装developer 库  
  6. sudo apt-get install libcudnn8-samples=8.9.7.29-1+cuda12.2 # 通过tab自动补全,安装示例和文档
复制代码
测试:
  1. cp -r /usr/src/cudnn_samples_v8/ $HOME  
  2. cd ~/cudnn_samples_v8/mnistCUDNN/  
  3. make clean && make  
  4. # 如果提示下面截图中的错误,就执行下面语句安装freeimage3库  
  5. sudo apt-get install libfreeimage3 libfreeimage-dev
复制代码

运行测试:
  1. ./mnistCUDNN
复制代码

参考文章



  • ESXi6.7实现直通独显(RTX 3060)给Ubuntu炼丹
  • Ubuntu22.04+Nvidia驱动+Cuda11.8+cudnn8.6
  • 一份保姆级的 Stable Diffusion 部署教程,开启你的炼丹之路 | 京东云技术团队
  • ESXi 中的 Debian 假造机安装 NVIDIA 显卡驱动

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

干翻全岛蛙蛙

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表