带有多个 NVIDIA 显卡的 Ubuntu Box

带有多个 NVIDIA 显卡的 Ubuntu Box

我最近从 System76 购买了一个有多个 GPU 的盒子:一个 Quadro M6000 和两个 Tesla K40。

当我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是 Quadro M6000,也许没有/dev/nvidia1/dev/nvidia2,这是盒子看不到 Tesla K40 的另一个症状(或原因)。此外,我的测试程序调用获取设备数量,仅产生一个 GPU。

我正在运行 Ubuntu 14.04.3,并且已经安装cuda_7.0.28_linux.run(并通过该运行文件安装了 NVIDIA 驱动程序。)

为什么其他卡无法访问?如何才能让它们访问?

答案1

好吧!txbob 在devtalk nvidia 论坛给了我足够的指点来找到解决方案。

所以,基本上,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

尽管这个问题很老了,但这可能会对某些人有所帮助。

我认为你成功的关键一步是将 nouveau 驱动程序列入黑名单并重新配置了 grub,因此这些initramfs东西是不必要的。

来源:联想 T440p [NVidia GT 730M] 上的 Bumblebee,搭载 XUbuntu/Ubuntu 16.04 LTS

相关内容