如何在运行 Ubuntu 14.04 LTS 的 Azure VM 上正确安装 CUDA 8?

如何在运行 Ubuntu 14.04 LTS 的 Azure VM 上正确安装 CUDA 8?

我尝试在三台不同的虚拟机上安装 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

相关内容