web-dev-qa-db-ja.com

Ubuntu 14.04 LTSを実行しているAzure VMにCUDA 8を適切にインストールするにはどうすればよいですか?

3つの異なるVMにCUDAをインストールしようとしましたが、GPUを認識させるのに失敗しました。

M60 GPUでAzure VM( Standard NV6 )を使用しています。

新しいVMを使用して、 このガイド から次のコマンドを実行します。

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 

enter image description here

ログファイルのメッセージ:

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

私の質問

Ubuntu 14.04 LTSにCUDA 8をインストールするための最も信頼できる方法は何ですか?

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

公式の Azureドキュメント は指摘しています:

現在、Linux GPUサポートは、Ubuntu Server 16.04 LTSを実行しているAzure NC VMでのみ利用可能です。

14.04がインストールされたGPUインスタンスを作成できる理由がわかりませんが、これがWordの普及に役立つことを願っています。

新しい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

VMを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 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