我有一台运行 ubuntu linux 18.04 的带有英特尔和 nvidia GPU 的戴尔 xps 15 9570 笔记本电脑,我想专门使用 nvidia 卡来训练深度神经网络。我设法让 X 服务器在以下英特尔上运行
如何为 xserver 配置 igpu 和为 cuda 配置 nvidia gpu?
当我在 gdm3 中选择使用 gnome shell (ubuntu Wayland) 登录时,它可以完美运行。运行 nvidia-smi 表明 GPU 上没有运行任何进程。但是现在我想用 Plasma 尝试 kde,xserver 最终在 nvidia gpu 上。
(base) ooo: (~) 505> nvidia-smi
Sat Jul 13 14:30:18 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26 Driver Version: 430.26 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 105... Off | 00000000:01:00.0 Off | N/A |
| N/A 50C P5 N/A / N/A | 66MiB / 4042MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 2073 G /usr/lib/xorg/Xorg 66MiB |
+-----------------------------------------------------------------------------+
我试图让 X 服务器使用英特尔添加两个配置文件
/etc/X11/xorg.conf.d/01-noautogpu.conf /etc/X11/xorg.conf.d/20-intel.conf
进入 /etc/X11/xorg.conf.d 如此处所述
https://gist.github.com/s41m0n/323513c95290c85f7054384ac34c41c5
结果不幸的是,登录后屏幕仍然是黑色的。似乎等离子外壳本身找到并使用了 nvidia gpu。
任何如何强制等离子使用英特尔 GPU 的想法将不胜感激。
在这里发现问题和答案后How to configure iGPU for xserver and nvidia GPU for CUDA work,尤其是 user890178 的答案,并研究了系统日志,我终于发现不是 Plasma 可以做任何特定的事情,但问题对于 gnome 来说是一样的和使用 Xorg 时的等离子外壳。使用 Xorg 的 gpu-manager.service
由显示管理器触发
gpu-manager 检测到 nvidia 并写入文件
其中包含
Wayland 不使用此文件,因此不使用 nvidia 卡,但它用于 ubuntu 和 Plasma 上的 gnome-shell。所以事实上两者都将 nvidia 卡用于 Xorg。
然后,解决方案是 Maksym Ganenko 在上述同一问题中答案的变体,这意味着将 /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf 替换为
此外,为了避免 gpu-manager 在开始下一个会话时替换这些更改以遵循有关 Oren 的建议gpu-manager 覆盖 xorg.conf以通过运行来保护文件免受更改
我似乎在将我在问题中提到的两个文件添加到 /etc/X11/xorg.conf.d 后屏幕仍然黑屏的事实是由于 /usr/share/X11/xorg 中的文件.conf.d 配置文件确实包含相互矛盾的信息。
鉴于 GabrielaGarcia 的评论令人惊讶地声称我所问的内容无法在笔记本电脑上运行,我觉得有必要提供证明,我所问的内容可以工作,并且我提供的答案确实是使其工作的一种手段.
这里 lspci 的输出证明了两个显卡的存在
这里是
ps aux
过滤运行 tensorflow 会话的 Xorg、plasma 和 anaconda python 的输出。这表明大家一起愉快地运行,而 Plasma 和 Xorg 并没有按要求使用 nvidia 卡(见下面的 nvidia-smi)这里 nvidia-smi 的输出证明 Xorg 没有使用 nvidia,但是 anaconda python 中的 tensorflow 会话正在起诉它。
我准备提供屏幕截图来展示这一切都发生在笔记本电脑上。
编辑 Ubuntu 22.04 的更新
我终于开始使用 Wayland,但不幸的是,以前的解决方案不再起作用了。gnome-shell 在 GPU 上运行,随后导致接口出现一些问题。按照此处的讨论,我尝试卸载 nvidia wayland 支持包
随后
gnome-shell
不再在 Nvidia GPU 上运行,让 GPU 可以免费进行 DNN 训练。