stason Asked: 2018-08-02 12:17:18 +0800 CST2018-08-02 12:17:18 +0800 CST 2018-08-02 12:17:18 +0800 CST 如何为 xserver 和 nvidia GPU 配置 iGPU 以进行 CUDA 工作 772 我有一个 Intel 板载 GPU 和 NVIDIA GPU。我正在运行 Ubuntu 18.04。 如何配置双 GPU 设置,以便英特尔板载 iGPU 驱动显示器,让 NVIDIA GPU 专门用于机器学习 CUDA 工作? xorg drivers graphics cuda dual-graphics 4 个回答 Voted Best Answer stason 2018-12-11T21:49:13+08:002018-12-11T21:49:13+08:00 我首先按照本指南安装了 NVIDIA 驱动程序和 CUDA 包。除了重新启动后,我最终出现/usr/lib/xorg/Xorg在nvidia-smi. 这并不好,因为我的工作需要所有可用的 NVIDIA GPU RAM。 经过一番研究,我找到了解决我问题的解决方案: 我创建/etc/X11/xorg.conf了以下内容: Section "Device" Identifier "intel" Driver "intel" BusId "PCI:0:2:0" EndSection Section "Screen" Identifier "intel" Device "intel" EndSection (如果您尝试这样做,请确保检查您的 GPU 在哪里。我的是在00:02.0哪个转换为PCI:0:2:0) % lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation Device 3e92 01:00.0 VGA compatible controller: NVIDIA Corporation GP104 (rev a1) 重新启动后,xorg 和其他程序不再出现在nvidia-smi. 而且我能够将 pytorch 与 CUDA-10.0 一起使用。 请注意,我仍然安装了所有 NVIDIA 驱动程序,但它们不会干扰。 更新:对于 Ubuntu 20.04,需要进行一些额外的更改才能使其正常工作。您将在此处找到完整的详细信息。 Maksym Ganenko 2019-04-30T13:12:25+08:002019-04-30T13:12:25+08:00 让我分享一下我的食谱,它对我使用带有 Arch Linux 和 Gnome 桌面环境的 Razer Blade 15 笔记本电脑有帮助。 最初我使用 Wayland 会话启动 Gnome,当时它与 NVIDIA 驱动程序不兼容,因此我自然而然地集成了用于显示的图形适配器和用于深度学习的 NVIDIA GPU。但在最近更新后,GDM 会话开始回退到以 NVIDIA GPU 作为主要 GPU 的 Xorg。问题是: 它减少了可用的 GPU RAM 它在神经网络训练期间使整个系统陷入困境 它增加了功耗(=减少电池寿命) 我nvidia-smi在启动后运行。我希望看到No running processes found,但我看到了Xorg使用我的 NVIDIA GPU 的进程列表。这意味着 Gnome 显示管理器使用带有 NVIDIA GPU 作为主 GPU 的 Xorg 会话。 我检查了/var/log/Xorg.0.log: (II) xfree86: Adding drm device (/dev/dri/card1) (II) systemd-logind: got fd for /dev/dri/card1 226:1 fd 11 paused 0 (II) xfree86: Adding drm device (/dev/dri/card0) (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 12 paused 0 (**) OutputClass "nvidia" ModulePath extended to "/usr/lib/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules" (**) OutputClass "nvidia" setting /dev/dri/card1 as PrimaryGPU (**)表示该设置已从配置文件中读取!我发现配置文件是 /usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf. 我更改了配置文件以将英特尔集成显卡适配器设置为主 GPU: Section "OutputClass" Identifier "intel" MatchDriver "i915" Driver "modesetting" Option "PrimaryGPU" "yes" # <<<<<< add this string EndSection Section "OutputClass" Identifier "nvidia" MatchDriver "nvidia-drm" Driver "nvidia" Option "AllowEmptyInitialConfiguration" # Option "PrimaryGPU" "yes" # <<<<<< comment this string ModulePath "/usr/lib/nvidia/xorg" ModulePath "/usr/lib/xorg/modules" EndSection A Roebel 2019-07-16T15:31:32+08:002019-07-16T15:31:32+08:00 由于我没有评论的声誉,我在这里分享与 Maksym Ganenko 的答案相关的结果:我在我的 ubuntu 18.04 上尝试了解决方案,我在其中使用 kde-plasma 或 ubuntu 运行 gdm3。您提到的文件 /usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf在我的系统上名为/usr/share/X11/xorg.conf.d/11-nvidia-prime.conf,可能是因为我安装了 nvidia-prime 一段时间。编辑此文件的问题在于,在我的安装中 /usr/bin/gpu-manager 在启动新的 xsession 时正在生成此文件,因此所有编辑都丢失了。如此处所述,请按照此处给出的建议避免将 nvidia 卡用于带等离子的 Xorg gpu-manager overwrites xorg.conf解决方案是通过以下方式保护生成的文件免受更改 chattr +i /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf 可能是 chmod 444 会做同样的事情,但我只是使用了gpu-manager overwrites xorg.conf中提出的解决方案。 user890178 2018-11-07T01:23:52+08:002018-11-07T01:23:52+08:00 我想添加另一种方式来阻止 Nvidia 卡处理我的显示器。我只是通过选择 Wayland 而不是 Xorg 来启动 gnome。由于Nvidia不支持Wayland,登录后nvidia-smi显示没有进程运行。 但是,我仍然可以将 Nvidia 用于 Tensorflow 之类的东西。
我首先按照本指南安装了 NVIDIA 驱动程序和 CUDA 包。除了重新启动后,我最终出现
/usr/lib/xorg/Xorg
在nvidia-smi
. 这并不好,因为我的工作需要所有可用的 NVIDIA GPU RAM。经过一番研究,我找到了解决我问题的解决方案:
我创建
/etc/X11/xorg.conf
了以下内容:(如果您尝试这样做,请确保检查您的 GPU 在哪里。我的是在
00:02.0
哪个转换为PCI:0:2:0
)重新启动后,xorg 和其他程序不再出现在
nvidia-smi
. 而且我能够将 pytorch 与 CUDA-10.0 一起使用。请注意,我仍然安装了所有 NVIDIA 驱动程序,但它们不会干扰。
更新:对于 Ubuntu 20.04,需要进行一些额外的更改才能使其正常工作。您将在此处找到完整的详细信息。
让我分享一下我的食谱,它对我使用带有 Arch Linux 和 Gnome 桌面环境的 Razer Blade 15 笔记本电脑有帮助。
最初我使用 Wayland 会话启动 Gnome,当时它与 NVIDIA 驱动程序不兼容,因此我自然而然地集成了用于显示的图形适配器和用于深度学习的 NVIDIA GPU。但在最近更新后,GDM 会话开始回退到以 NVIDIA GPU 作为主要 GPU 的 Xorg。问题是:
我
nvidia-smi
在启动后运行。我希望看到No running processes found
,但我看到了Xorg
使用我的 NVIDIA GPU 的进程列表。这意味着 Gnome 显示管理器使用带有 NVIDIA GPU 作为主 GPU 的 Xorg 会话。我检查了
/var/log/Xorg.0.log
:(**)
表示该设置已从配置文件中读取!我发现配置文件是/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
. 我更改了配置文件以将英特尔集成显卡适配器设置为主 GPU:由于我没有评论的声誉,我在这里分享与 Maksym Ganenko 的答案相关的结果:我在我的 ubuntu 18.04 上尝试了解决方案,我在其中使用 kde-plasma 或 ubuntu 运行 gdm3。您提到的文件
/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
在我的系统上名为/usr/share/X11/xorg.conf.d/11-nvidia-prime.conf
,可能是因为我安装了 nvidia-prime 一段时间。编辑此文件的问题在于,在我的安装中 /usr/bin/gpu-manager 在启动新的 xsession 时正在生成此文件,因此所有编辑都丢失了。如此处所述,请按照此处给出的建议避免将 nvidia 卡用于带等离子的 Xorg gpu-manager overwrites xorg.conf解决方案是通过以下方式保护生成的文件免受更改可能是 chmod 444 会做同样的事情,但我只是使用了gpu-manager overwrites xorg.conf中提出的解决方案。
我想添加另一种方式来阻止 Nvidia 卡处理我的显示器。我只是通过选择 Wayland 而不是 Xorg 来启动 gnome。由于Nvidia不支持Wayland,登录后nvidia-smi显示没有进程运行。
但是,我仍然可以将 Nvidia 用于 Tensorflow 之类的东西。