OpenGLのGLSLはSLIセットアップをどの程度利用していますか?それは実行の時点でまったく利用されていますか、それともエンドレンダリングのためだけに利用されていますか?
同様に、OpenCLはSLIとは無関係であることを知っていますが、1つに複数のGPUがあると仮定すると、マルチプロセッシングのGLSLとどのように比較されますか?
一般的な変換やレイトレーシングなど、アプリケーションによって異なる可能性があるため、アプリケーションの種類による違いについての洞察を提供できますか?
SLIの目標は、複数のGPUでレンダリングワークロードを分割することです。まず、グラフィックドライバーは、ソートファーストまたは時間分解(GPU0はフレームnで動作し、GPU1はフレームn + 1で動作します)アプローチのいずれかを使用します。次に、ピクセルが1つのGPUから別のGPUにコピーされます。
とはいえ、SLIはOpenGLで使用されるシェーディング言語とは何の関係もありません(ピクセルの描画方法は実際には重要ではありません)。
OpenCLの場合、GPU間でワークロードを自分で分割する必要があると思いますが、よくわかりません。
OpenCLで複数のGPUを利用する場合は、デバイスごとにコマンドキューを作成し、ワークロードを分割した後、各デバイスでカーネルを実行する必要があります。
http://developer.nvidia.com/object/sli_best_practices.htmlを参照してください
基本的に、SLIを使用することと、どのモードで使用するかをドライバーに指示する必要があります。この後、ドライバーは(ほぼ)シームレスにすべての作業を行います。
代替フレームレンダリング:同期は不要なので、パフォーマンスは向上しますが、ラグが大きくなります
分割フレームレンダリング:多くの同期、一部の頂点は2回処理されますが、ラグは少なくなります。
GLSLとOpenCLの比較では、良いベンチマークはわかりません。でも興味があります。