之前写了ESXi6.7实现直通独显(RTX 3060)给Ubuntu炼丹的教程,受限于只能安装470以内的Nvidia驱动,导致高版本的pytorch无法运行,一些开源大模型跑不起来。
折腾了很久,终于在ESXi中的ubuntu虚拟机装上了NVIDIA 525.89.02的驱动和CUDA 12.0
方案如下:
首先创建 /etc/modprobe.d/blacklist-nvidia-nouveau.conf 这个文件
touch /etc/modprobe.d/blacklist-nvidia-nouveau.conf
内容为
blacklist nouveau
options nouveau modeset=0
接着创建 /etc/modprobe.d/nvidia.conf 这个文件
touch /etc/modprobe.d/nvidia.conf
内容为
options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
然后更新initramfs并重启一次
sudo update-initramfs -u
sudo reboot
重启后,下载nvidia开源驱动,这里我用的是525.89.02,在我的ESXi6.7+Ubuntu22.04是完美支持的,其他版本可以自行尝试
wget "https://download.nvidia.com/XFree86/Linux-x86_64/525.89.02/NVIDIA-Linux-x86_64-525.89.02.run"
然后安装~
chmod u+x NVIDIA-Linux-x86_64-525.89.02.run
sudo ./NVIDIA-Linux-x86_64-525.89.02.run -m=kernel-open
注意这里的 -m=kernel-open 是关键,没有这个是参数nvidia-smi是找不到设备的!
接着安装CUDA,我是用的是12.0版本,CUDA版本和驱动版本对应关系见这里:Python PyTorch cuda 显卡驱动对应关系_pytorch2.4对应cuda-CSDN博客
wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux.run
sudo sh cuda_12.0.0_525.60.13_linux.run
重启一次,输入nvidia-smi,应该能看到显卡信息了