web-dev-qa-db-fra.com

Comment installer correctement CUDA 8 sur un ordinateur Azure VM exécutant Ubuntu 14.04 LTS?

J'ai essayé d'installer CUDA sur trois machines virtuelles différentes, mais je n'ai pas réussi à le faire reconnaître mon GPU.

J'utilise Azure VM ( Standard NV6 ) avec un processeur graphique M60.

Avec un nouveau VM, j'exécute les commandes suivantes issues de ce guide :

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

Il semble fonctionner correctement et n'indique pas qu'il y a eu des problèmes. Mais quand je cours

nvidia-smi

Je reçois ce qui suit:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running

J'ai essayé avec 16.04 LTS et diverses autres instances de GPU. Google me dit que d'autres utilisateurs utilisent ces instances de processeur graphique Azure avec Tensorflow. Par conséquent, cela ne semble pas être un problème avec la carte graphique.

Enfin, j’ai passé en revue ce qui semble être le guide canonique pour installer CUDA sur Ubuntu mais cela échoue lors de l’exécution

Sudo ./NVIDIA-Linux-x86_64-331.62.run 

enter image description here

Le message dans le fichier journal:

ERROR: Unable to load the 'nvidia-drm' kernel module.

Ma question

Quelle est la méthode la plus fiable pour installer CUDA 8 sur Ubuntu 14.04 LTS?

Existe-t-il des précautions spéciales à prendre lors de l’exécution de CUDA sur un ordinateur virtuel?

Modifier: Informations supplémentaires

uname -a retourne

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 retourne

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
3
JoshVarty

L'officiel documentation Azure indique:

Actuellement, la prise en charge des GPU sous Linux n’est disponible que sur les ordinateurs virtuels Azure NC exécutant Ubuntu Server 16.04 LTS. +

Je ne sais pas pourquoi ils vous ont même laissé créer des instances de GPU avec 14.04 installé, mais j'espère que cela aidera à propager la Parole.

Après avoir créé une nouvelle instance 16.04, j'ai procédé comme suit:

Tout d'abord, je devais désinstaller/mettre en liste noire les pilotes Nouveau préinstallés sur Ubuntu 16.04. Ils ne sont pas compatibles avec les pilotes NVIDIA que nous essayons d'installer et généreront des erreurs ultérieurement si nous ne les supprimons pas.

 Sudo nano /etc/modprobe.d/blacklist.conf

Au bas du fichier, ajoutez les entrées suivantes:

 AMD76x_edac #this might not be required for x86 32 bit users.
 blacklist vga16fb
 blacklist nouveau
 blacklist rivafb
 blacklist nvidiafb
 blacklist rivatv

Redémarrez VM avec Sudo reboot

J'ai téléchargé les pilotes directement à partir de Microsoft, mais vous pouvez les remplacer par votre source préférée:

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

Je viens de cliquer sur les options sélectionnées par défaut dans le fichier d'exécution.

Vérifiez l'installation du pilote en exécutant nvidia-smi

Installez CUDA Toolkit 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
2
JoshVarty