使用 2 台配备 2 个 GPU 的台式机

使用 2 台配备 2 个 GPU 的台式机

我正在我的 NVIDIA 卡上运行 CUDA 程序(使用率为 100%),同时我想能够使用我的 iGPU 上网或编程。

我还希望当我不在 NVIDIA 上运行程序时能够在上面玩游戏,而不需要重新启动计算机。

我见过进行 GPU 直通的人,将他们的显示器连接到 iGPU 和 NVIDIA 卡,这样他们就可以运行 2 个桌面。

考虑到我不想使用不同的操作系统,这似乎有点多,我只希望我的 Ubuntu 显示 2 个桌面(不需要桌面之间进行交互,即不需要在它们之间传递窗口)——我是否必须在我的 Ubuntu 上运行带有 GPU 直通的虚拟 Ubuntu,或者有更好的方法来实现这一点?

我想我还必须将键盘和鼠标映射到不同的 USB 端口才能在桌面之间切换......

答案1

所以,这并不是我真正想要的,但我找到了一个可以满足我要求的解决方案。

我想要一种东西,可以让我在 NVIDIA GPU 忙于计算时将我的 iGPU 用于计算机,并在不用于计算时轻松切换回它来玩游戏。

解决方案是使用 NVIDIA Prime。

我还没有亲自做过,但我发现指示

总而言之,为了使这个工作正常进行,你需要

  1. 确保您已在 BIOS 设置中启用板载显卡(或将其设置为主要显卡)
  2. 安装 xorg intel 驱动程序和 nvidia/cuda 驱动程序
  3. 启动 nvidia-settings,进入 PRIME 设置页面,将 Intel(省电模式)设置为默认
  4. 修改你的 .bashrc 并将 LD_LIBRARY_PATH 设置为至少包含 /usr/local/cuda/lib64:/usr/lib/nvidia-XXX ,其中 XXX 在我的情况下是 375。
  5. 注销以重新启动 X 或者重新启动
  6. 运行 ldd $( which glxinfo ) 以确保您的 GL 库指向 mesa,或运行 glmark2 确认 GL 状态
  7. (更新)如果从步骤 5 打印的 libGL 指向 nvidia 的驱动程序文件夹,则需要删除/重命名 nvidia 驱动程序文件夹下的 libGL.so*/libGLX.so*/libGLdispatch.so*,以便您的操作系统可以选择 mesa libGL 库。
  8. 运行 nvidia-smi 列出您的专用 NVIDIA GPU,并运行您的 CUDA 程序,您应该不会看到任何错误。

相关内容