web-dev-qa-db-ja.com

複数のNVIDIAグラフィックカードを搭載したUbuntuボックス

最近、System76から複数のGPUを備えたボックスを購入しました。1つはQuadro M6000、2つはTeslaK40です。

lspci | grep -i nvidiaを実行すると、

05:00.0 VGA compatible controller: NVIDIA Corporation Device 17f0 (rev a1)
05:00.1 Audio device: NVIDIA Corporation Device 0fb0 (rev a1)
06:00.0 3D controller: NVIDIA Corporation GK110BGL [Tesla K40c] (rev a1)
09:00.0 3D controller: NVIDIA Corporation GK110BGL [Tesla K40c] (rev a1)

だから、彼らはそこに..しかし、私がnvidia-smi -Lをすると、それは表示されるだけです

GPU 0: Quadro M6000 (UUID: GPU-09446504-6a9e-866a-a65d-0f1d55b7657b)

そして、ls -l /dev/nvidia*

crw-rw-rw- 1 root root 195,   0 Aug  9 03:29 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Aug  9 03:29 /dev/nvidiactl
crw-rw-rw- 1 root root 248,   0 Aug 12 16:19 /dev/nvidia-uvm

確かではありませんが、/dev/nvidia0はQuadroM6000であり、おそらく/dev/nvidia1または/dev/nvidia2がないという事実は別の症状です(またはボックスにTeslaK40が表示されない原因)。また、 cudaGetDeviceCount を呼び出すテストプログラムでは、GPUが1つしか生成されません。

Ubuntu 14.04.3を実行していて、cuda_7.0.28_linux.runをインストールしました(そして、その実行ファイルを介してNVIDIAドライバーをインストールしました)。

他のカードにアクセスできないのはなぜですか?それらをアクセス可能にするにはどうすればよいですか?

4
bnsh

よし! txbob over devtalk nvidia forums は、解決策にたどり着くのに十分なポインターを私に与えてくれました。

したがって、基本的に、nouveauはnvidiaドライバーに干渉しており、disable-nouveau/etc/modprobe.dファイルが表示されていても、initramfs.。

だから、それをするために、私はする必要がありました

rm -f /boot/initrd*
update-initramfs -c -k all
update-grub2

その後、nvidia-smi -Lを実行すると

GPU 0: Quadro M6000 (UUID: GPU-09446504-6a9e-866a-a65d-0f1d55b7657b)
GPU 1: Tesla K40c (UUID: GPU-e992022a-724f-8f47-e08f-a954053020e6)
GPU 2: Tesla K40c (UUID: GPU-4d14695e-3e43-bf43-a3e3-91190f696d39)

だから、今はすべて良いです!うまくいけば、これは他の誰かを助けるかもしれません!

2
bnsh

質問はかなり古いですが、これは誰かを助けるかもしれません。

成功の秘訣は、nouveauドライバーをブラックリストに登録し、grubを再構成したことだと思います。そのため、initramfsのものは不要です。

出典: XUbuntu/Ubuntu 16.04LTSを搭載したLenovoT440p [NVidia GT 730M]のBumblebee

1
Buderka Albert