8

OpenGL 的 GLSL 在多大程度上利用了 SLI 设置?它是在执行时使用还是仅用于最终渲染?

同样,我知道 OpenCL 与 SLI 不同,但假设一个有多个 GPU,它在多处理方面与 GLSL 相比如何?

由于它可能取决于应用程序,例如常见转换或光线追踪,您能否提供有关不同应用程序类型差异的见解?

4

3 回答 3

6

SLI的目标是在几个 GPU 上划分渲染工作负载。首先,图形驱动程序使用排序优先或时间分解(GPU0 在帧n上工作,而 GPU1 在帧n+1上工作)方法。然后,像素从一个 GPU 复制到另一个。

也就是说,SLI与 OpenGL 使用的着色语言无关(像素的绘制方式并不重要)。

对于 OpenCL,我会说你必须自己在 GPU 之间分配工作量,但我不确定。

于 2010-09-11T16:02:10.170 回答
1

如果您想通过 OpenCL 使用多个 GPU,则必须为每个设备创建命令队列并在拆分工作负载后在每个设备上运行内核。

于 2010-09-12T00:45:51.710 回答
1

请参阅http://developer.nvidia.com/object/sli_best_practices.html

基本上,您必须指示驱动程序您要使用 SLI,以及在哪种模式下使用。在此之后,驱动程序将(几乎)无缝地为您完成所有工作。

交替帧渲染:不需要同步,因此性能更好,但延迟更多

分割帧渲染:大量同步,一些顶点被处理两次,但延迟更少。

对于您的 GLSL 与 OpenCL 比较,我不知道有什么好的基准。不过我会感兴趣的。

于 2010-09-12T13:01:58.377 回答