GLSL是否使用SLI? OpenCL吗?什么是更好的,GLSL或OpenCL用于多个GPU?

时间:2010-09-11 15:00:54

标签: opengl glsl opencl gpgpu opengl-3

OpenGL的GLSL在何种程度上利用SLI设置?它是在执行时使用还是仅用于结束渲染?

同样,我知道OpenCL与SLI不同,但假设有一个GPU,那么它与多处理中的GLSL相比如何呢?

因为它可能取决于应用程序,例如常见的转换或光线跟踪,您可以根据应用类型提供有关差异的见解吗?

3 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

备用帧渲染:不需要同步,因此性能更好,但滞后更多

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

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