2010-09-11 15 views
8

¿Hasta qué punto GLSL de OpenGL utiliza configuraciones SLI? ¿Se utiliza en absoluto en el punto de ejecución o solo para el renderizado final?¿GLSL utiliza SLI? ¿OpenCL? ¿Qué es mejor, GLSL o OpenCL para múltiples GPU?

Del mismo modo, sé que OpenCL es ajeno a SLI, pero suponiendo que uno tiene varias GPU, ¿cómo se compara con GLSL en multiprocesamiento?

Dado que puede depender de la aplicación, p. transformación común, o trazado de rayos, ¿puede ofrecer una idea de las diferencias según el tipo de aplicación?

Respuesta

6

El objetivo de SLI es dividir la carga de trabajo de representación en varias GPU. En primer lugar, el controlador gráfico utiliza un Sort-first o una descomposición temporal (GPU0 funciona en el marco n mientras que GPU1 funciona en el marco n + 1) enfoque. Y luego, los píxeles se copian de una GPU a la otra.

Dicho esto, SLI no tiene nada que ver con el lenguaje de sombreado utilizado por OpenGL (la forma en que se dibujan los píxeles realmente no importa).

Para OpenCL, yo diría que tiene que dividir su carga de trabajo entre la GPU por usted mismo, pero no estoy seguro.

+0

¿Está diciendo que SLI es inútil para acelerar solo GLSL (aviso, solo)? Mientras que OpenCL podría hacerlo? Y, por lo tanto, si OpenCL reemplaza los cálculos de GLSL sería más rápido? –

+0

Si planea hacer algunos cálculos usando GLSL, puede ser más rápido cuando se usa la descomposición por orden de primer orden de SLI si su aplicación se representa uniformemente en la pantalla (beneficiará al esquema de descomposición de división de pantalla). Si desea hacerlo con OpenCL, seguramente tendrá que dividir su computación entre las diferentes GPU. Si desea ayuda más especializada, debemos saber qué tipo de problema quiere resolver. – tibur

1

Si desea aprovechar múltiples GPU con OpenCL, tendrá que crear colas de comandos para cada dispositivo y ejecutar núcleos en cada dispositivo después de dividir la carga de trabajo.

1

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

Básicamente, usted tiene que dar instrucciones al controlador que desea utilizar SLI, y en qué modo. Después de esto, el conductor hará (casi) sin problemas todo el trabajo por usted.

alternativo Frame Rendering: sin sincronización necesaria, por lo que un mejor rendimiento, pero más lag

de Split Frame Rendering: un montón de sincronización, algunos vértices se procesan dos veces, pero menos retraso.

Para usted comparación GLSL vs OpenCL, no conozco ningún buen punto de referencia. Sin embargo, me interesaría.