GLSL 是否使用 SLI?有 OpenCL 吗?对于多个 GPU,GLSL 和 OpenCL 哪个更好?
OpenGL 的 GLSL 在多大程度上利用了 SLI 设置?它是在执行时使用还是仅用于最终渲染?
同样,我知道 OpenCL 与 SLI 不同,但假设有多个 GPU,它在多处理方面与 GLSL 相比如何?
由于它可能取决于应用程序,例如常见转换或光线追踪,您能否根据应用程序类型提供有关差异的见解?
To what extend does OpenGL's GLSL utilize SLI setups? Is it utilized at all at the point of execution or only for end rendering?
Similarly, I know that OpenCL is alien to SLI but assuming one has several GPUs, how does it compare to GLSL in multiprocessing?
Since it might depend on the application, e.g. common transformation, or ray tracing, can you offer insight on differences depending on application type?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
SLI 的目标是将渲染工作负载分配到多个 GPU 上。首先,图形驱动程序使用 Sort-first 或时间分解 (GPU0在帧 n 上工作,而 GPU1 在帧 n+1 上工作)方法。然后,像素从一个 GPU 复制到另一个 GPU。
也就是说,SLI 与 OpenGL 使用的着色语言(像素的方式)无关绘制并不重要)。
对于 OpenCL,我想说你必须自己在 GPU 之间分配工作负载,但我不确定。
The goal of SLI is to divide the rendering workload on several GPU. First, the graphic driver uses a either a Sort-first or time decomposition (GPU0 works on frame n while GPU1 works on frame n+1) approach. And then, the pixels are copied from one GPU to the other.
That said, SLI has nothing to do with the shading language used by OpenGL (the way the pixels are drawn doesn't really matter).
For OpenCL, I would say that you have to divide your workload between the GPU by yourself, but I am not sure.
如果您想利用 OpenCL 的多个 GPU,则必须为每个设备创建命令队列,并在分割工作负载后在每个设备上运行内核。
If you want to take advantage of multiple GPUs with OpenCL, you will have to create command queues for each device and run kernels on each device after splitting up the workload.
请参阅 http://developer.nvidia.com/object/sli_best_practices.html
基本上,你必须告诉司机你想使用 SLI,以及在哪种模式下。之后,驱动程序将(几乎)无缝地为您完成所有工作。
交替帧渲染:不需要同步,因此性能更好,但延迟更多
分割帧渲染:大量同步,某些顶点被处理两次,但延迟更少。
对于 GLSL 与 OpenCL 的比较,我不知道有什么好的基准。不过我会感兴趣。
See http://developer.nvidia.com/object/sli_best_practices.html
Basically, you have to instruct the driver that you want to use SLI, and in which mode. After this, the driver will (almost) seamlessly do all the work for you.
Alternate Frame Rendering : no sync needed, so better performance, but more lag
Split Frame Rendering : lots of sync, some vertices are processed twice, but less lag.
For you GLSL vs OpenCL comparison, I don't know of any good benchmark. I'd be interested, though.