【问题标题】:Does GLSL utilize SLI? Does OpenCL? What is better, GLSL or OpenCL for multiple GPUs?GLSL 是否使用 SLI?有 OpenCL 吗?多 GPU 的 GLSL 或 OpenCL 哪个更好?
【发布时间】:2010-09-11 15:00:53
【问题描述】:

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

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

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

【问题讨论】:

    标签: opengl glsl opencl gpgpu opengl-3


    【解决方案1】:

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

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

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

    【讨论】:

    • 你是说 SLI 对单独加速 GLSL 没用(注意,单独)?而 OpenCL 可以做到吗?因此,如果 OpenCL 取代了 GLSL 计算,它会更快吗?
    • 如果您打算使用 GLSL 进行一些计算,如果您的应用程序在屏幕上均匀呈现,则使用 SLI 排序优先分解会更快(这将有利于屏幕分割分解方案)。如果你想用 OpenCL 来做这件事,你肯定必须在不同的 GPU 上分割你的计算。如果您需要更专业的帮助,我们需要知道您想解决什么样的问题。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      http://developer.nvidia.com/object/sli_best_practices.html

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-08
        • 2014-02-24
        • 1970-01-01
        • 2012-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多