我在我的项目中使用 OpenGL 和 OpenCL。因此,它们相互操作。我已经创建了一些 openGL 缓冲区并使用 OpenCL 填充它们,但是当我使用 OpenCL 执行此操作时,每个 GPU 应该有一个上下文,并且两个 GPU 不能在一个上下文中,即使它们在同一个平台上。否则,我无法创建 GL 上下文,并且在创建上下文时总是会遇到问题。
现在,每个 GPU 都有一个上下文,一些缓冲区存在于一个 GPU 上,而其他缓冲区存在于另一个上。我想在它存在的同一个 GPU 上渲染每个缓冲区,否则数据将被传输到另一个 GPU 并且会降低性能。有人知道如何在它存在的同一个 GPU 上渲染每个缓冲区吗?
通常我们只是创建一个 gl 上下文,然后它将在 gpus 上划分任务。我们没有任何机制可以在不同的 GPU 上划分任务。