gpt4 book ai didi

opengl - 我可以在 OpenGL 中使用不同的多 GPU 吗?

转载 作者:行者123 更新时间:2023-12-05 08:50:16 24 4
gpt4 key购买 nike

我读到了 OpenGL multi-GPU support .我目前正在使用支持 OpenGL 4.5 的 NVIDIA 卡。我的 iGPU 是 Intel HD 610,我不知道它是 openGL 版本。现在我尝试同时使用两者。我知道 DirectX 12 可以支持不同的 GPU。 OpenGL 是否同时支持 Intel iGPU 和 NVIDIA GPU?我可以将 iGPU 端口用于我的显示器并使用 NVIDIA 卡在 blender 中进行循环渲染吗? (最后一点很重要,因为我的显示器只支持 VGA。)

最佳答案

OpenGL 是很久以前设计的,因此采用此 API 来处理多个 GPU 设备存在问题。与 OpenCL 或 Vulkan 不同,它们从一开始就具有选择系统中可用的设备/驱动程序的一些基本含义,OpenGL(或具体 - 将 OpenGL 绑定(bind)到窗口系统的 WGL、GLX、EGL 接口(interface))没有任何 - 操作系统完全负责使用不清楚的逻辑选择驱动程序。

OpenGL 实际提供了什么:

  • GPU affinity/同一 OpenGL 驱动程序中的选择(WGL_AMD_gpu_associationWGL_NV_gpu_affinity)。这允许管理同一供应商 GeForce+GeForce 或 Radeon+Radeon(包括后一种情况下的 iGPU)的 GPU 串联,但不能管理不同供应商的 GPU。 Linux 上的 MESA 驱动程序也支持 GLX_MESA_query_renderer扩展,但到目前为止,它只允许列出系统中所有可用的渲染器,而不能选择特定的渲染器。
  • 首选 GPU iGPU+离散串联。特定的 Intel+GeForce 串联提供驱动程序设置(通常在 NVIDIA 控制面板中),允许特定应用程序使用 iGPU 或 GeForce。应用程序也可能使用技巧(如在 DLL 中导出符号)要求驱动程序更喜欢离散 GPU 而不是 iGPU。无法在同一个应用程序中同时使用两个 GPU。另请注意,这仅适用于具有特殊 Intel+NVIDIA 驱动程序的笔记本电脑,不适用于普通台式机配置。
  • 其他多 GPU(桌面)配置中的
  • 事件 GPU。操作系统使用不明确的逻辑全权负责驱动程序选择。在交互式 session 中,Windows 根据物理连接到哪个 GPU 主显示器来决定加载哪个 OpenGL 驱动程序(之前,它在某处声明,窗口位置改变了这个逻辑,但对于现代 Windows 系统来说似乎不再是这种情况)。在 RDP session 中,逻辑不明确且不可配置 - 它以某种方式由 PCI-E 插槽中的 GPU 顺序确定;选择某些 GPU 的唯一方法是在设备管理器中禁用所有其他 GPU。

无论如何,即使在支持此功能的 API 中使用多个 GPU 也是相当复杂的事情,需要应用程序开发人员付出大量努力:管理多个设备、重复的内存管理、拆分渲染视口(viewport)、平衡和同步。即使在最好的情况下,对于 2 个相同的 GPU, yield 也将远低于 2 倍,因为渲染管道的一部分必须在两个 GPU 上处理(如 this video 中关于 VR 渲染器的阴影渲染 - 因此 2 个 GPU 仅提供性能提升 30-35%)。

与此同时,在多 GPU 配置中使用不相等的 GPU 更令人头疼 - 由于额外的平衡问题,以及不一致的 GPU(驱动程序)功能。在英特尔 iGPU + 独立 GPU 串联中,第一个不仅速度较慢,而且在 OpenGL 核心版本或扩展方面的能力也较低。尽管如此,AMD 已经展示了一些具有一定性能提升的多 GPU iGPU + 独立 GPU 设置。

关于opengl - 我可以在 OpenGL 中使用不同的多 GPU 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62372029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com