我尝试在三台不同的虚拟机上安装 CUDA,但未能让它识别我的 GPU。
我正在使用 Azure VM(标准 NV6) 配备 M60 GPU。
使用新的虚拟机,我运行以下命令本指南:
wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64-deb
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
sudo apt-get update
sudo apt-get install -y cuda
它似乎运行成功,并没有表明存在任何问题。但是当我运行
nvidia-smi
我收到以下信息:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running
我尝试过 16.04 LTS 和各种其他 GPU 实例。Google 告诉我其他人正在将这些 Azure GPU 实例与 Tensorflow 一起使用,因此这似乎不是显卡的问题。
最后,我回顾了似乎是经典指南在 Ubuntu 上安装 CUDA,但运行时失败
sudo ./NVIDIA-Linux-x86_64-331.62.run
日志文件中的消息:
ERROR: Unable to load the 'nvidia-drm' kernel module.
我的问题
在 Ubuntu 14.04 LTS 上安装 CUDA 8 最可靠的方法是什么?
在虚拟机上运行 CUDA 时需要采取什么特殊预防措施?
编辑:附加信息
uname -a
返回
Linux 2017-02-21-josh-gpu 4.4.0-64-generic #85~14.04.1-Ubuntu SMP Mon Feb 20 12:10:54 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
lsmod
返回
Module Size Used by
drm_kms_helper 151552 0
drm 360448 1 drm_kms_helper
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
udf 90112 0
crc_itu_t 16384 1 udf
dm_crypt 28672 0
joydev 20480 0
hid_generic 16384 0
hid_hyperv 16384 0
hid 118784 2 hid_hyperv,hid_generic
hyperv_keyboard 16384 0
hv_balloon 24576 0
input_leds 16384 0
serio_raw 16384 0
hv_netvsc 40960 0
hv_storvsc 20480 2
hv_utils 28672 2
scsi_transport_fc 65536 1 hv_storvsc
crct10dif_pclmul 16384 0
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
hyperv_fb 20480 1
aesni_intel 167936 0
aes_x86_64 20480 1 aesni_intel
lrw 16384 1 aesni_intel
gf128mul 16384 1 lrw
glue_helper 16384 1 aesni_intel
ablk_helper 16384 1 aesni_intel
cryptd 20480 3 ghash_clmulni_intel,aesni_intel,ablk_helper
psmouse 126976 0
hv_vmbus 90112 7 hv_balloon,hyperv_keyboard,hv_netvsc,hid_hyperv,hv_utils,hyperv_fb,hv_storvsc
floppy 73728 0
答案1
官方Azure 文档指出:
目前,Linux GPU 支持仅适用于运行 Ubuntu Server 16.04 LTS.+ 的 Azure NC VM
我不确定为什么他们甚至允许您在安装了 14.04 的情况下创建 GPU 实例,但希望这有助于传播。
创建一个新的 16.04 实例后,我执行以下操作:
首先,我必须卸载/黑名单 Ubuntu 16.04 上预装的 Nouveau 驱动程序。它们与我们尝试安装的 NVIDIA 驱动程序不兼容,如果我们不删除它们,稍后会导致错误。
sudo nano /etc/modprobe.d/blacklist.conf
在文件底部添加以下条目:
amd76x_edac #this might not be required for x86 32 bit users.
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
重启虚拟机sudo reboot
我直接从 Microsoft 下载了驱动程序,但您可以用您喜欢的来源替换:
wget -O NVIDIA-Linux-x86_64-384.73-grid.run https://go.microsoft.com/fwlink/?linkid=849941
chmod +x NVIDIA-Linux-x86_64-384.73-grid.run
sudo ./NVIDIA-Linux-x86_64-384.73-grid.run
我刚刚点击了运行文件中默认选择的选项。
通过运行来验证驱动程序安装nvidia-smi
安装 CUDA 工具包 8
CUDA_REPO_PKG=cuda-repo-ubuntu1604_8.0.44-1_amd64.deb
wget -O /tmp/${CUDA_REPO_PKG} http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/${CUDA_REPO_PKG}
sudo dpkg -i /tmp/${CUDA_REPO_PKG}
rm -f /tmp/${CUDA_REPO_PKG}
sudo apt-get update
sudo apt-get install cuda-drivers