Ubuntu 22.04,双显卡,Intel 用于显示,NVidia 用于 GPGPU,如何设置?

Ubuntu 22.04,双显卡,Intel 用于显示,NVidia 用于 GPGPU,如何设置?

我的笔记本电脑有 2 个显卡,非常类似于:https://www.linuxbabe.com/desktop-linux/switch-intel-nvidia-graphics-card-ubuntu

我想拥有英特尔仅用于显示目的的显卡,以及英伟达用于繁重计算的图形卡(GPGPU)。

我的问题:

  1. 我还需要安装 NVidia 驱动程序吗?看来司机是仅供展示?那么,如果我这样做,是否必须安装 NVidia 驱动程序不是期望使用 NVidia 卡进行显示?
  2. 如果没有NVidia驱动,那些第三方库还能运行吗?例如Tensorflow等?从https://docs.nvidia.com/deploy/cuda-compatibility/index.html,上面写得很清楚:

要构建应用程序,开发人员只需安装 CUDA 工具包和链接所需的必要库。

为了运行 CUDA 应用程序,系统应具有支持 CUDA 的 GPU 和与用于构建应用程序本身的 CUDA 工具包兼容的 NVIDIA 显示驱动程序。

在我看来:

  • 为了运行 CUDA 应用程序,我必须安装 NVidia 驱动程序,以启用 NVidia 显卡。
  • 但是,NVidia 驱动程序用于显示目的。为了使用它,我必须使用NVidia显卡来显示,而不是使用Intel卡来显示???

抱歉我的天真问题。一种概念上的困惑……期待答案。

答案1

任何 GPU 的使用都需要驱动nvidia程序,而对于显示,则需要同时加载nvidia_drmnvidia_modeset,或者至少在我的计算机上是这种情况。只需在启动时使用文件将它们列入黑名单/etc/modprobe.d/即可阻止加载图形堆栈,但 CUDA 可以正常工作。

事实上,这是我用来防止drm(据我所知用于显示目的)驱动程序依赖于的技巧nvidia,因此,在新版本发布时允许重新加载后者而不需要任何依赖链。

这对于由集成 BMC 提供显示并且您的 GPU(可能)没有任何输出的服务器特别有用。

答案2

看来只要我这样做,NVidia显卡就可以用于CUDA计算不是启用它以进行显示。

答案3

如果您使用的是笔记本电脑,则必须使用“optimus/prime”技术来完成您想要的操作,如链接文章中所述。 nvidia 驱动程序决定(根据您的输入)使用哪个显卡。您需要这个,因为笔记本电脑只有一个显示输出,并且驱动程序之间需要某种协调。

相关内容