2009-06-11 5 views
7

CUDA, OpenCL, y las opciones de GPU ofrecidas por el Grupo Portland son intrigantes ... Los resultados son impresionantes (125-times speedup para algunos grupos). Parece que la próxima ola de herramientas GPGPU está lista para dominar el mundo de la informática científica. Sin embargo, recuerdo la misma fanfarria cuando se anunciaron GLSL y Cg.CUDA, OpenCL, PGI, etc. ... pero ¿qué pasó con GLSL y Cg?

¿Qué le ha pasado a GLSL y Cg? ¿Se ha eliminado el soporte? ¿Las personas todavía usan GLSL & Cg para computación de propósito general en GPU?

Respuesta

12

Los días de uso de Cg o GLSL para GPGPU casi han terminado. Sin embargo, se utilizan mucho para gráficos 3D y se seguirán utilizando de esta manera en el futuro previsible. GLSL y Cg solo se usaron para el cálculo científico porque eran el único juego en la ciudad. No había otra alternativa para hacer un cálculo de propósito general en la GPU.

La única razón real para usar GLSL para GPGPU en este momento es ser independiente de la plataforma. Si absolutamente debe poder ejecutar su software en una variedad de GPU, por el momento, todavía es el camino a seguir. OpenCL cambiará esto en el futuro cercano, sin embargo.

La razón de que la computación científica se está moviendo a cosas como CUDA y OpenCL son muchas. Estas bibliotecas le brindan un mejor acceso al hardware de la GPU y mucha más transparencia sobre los cuellos de botella de rendimiento. Esto hace que sea más fácil obtener el máximo rendimiento de la GPU. CUDA y OpenCL también ofrecen características (por ejemplo, memoria compartida) que simplemente no están disponibles en GLSL o Cg, pero son cruciales para obtener un buen rendimiento en muchos algoritmos (por ejemplo, la transposición de matriz). Otra razón es que CUDA y OpenCL le dan acceso a la GPU sin necesidad de un contexto de gráficos, lo que le permite, entre otras cosas, usar de forma remota la GPU de una computadora para el cálculo.

4

Estás comparando manzanas con naranjas. CUDA y OpenCL están diseñados para hacer informática de propósito general en GPU. GLSL y Cg son lenguajes de sombreado. Están destinados principalmente a escribir sombreadores, no a la informática de propósito general.

no sé sobre el estado real de GLSL, pero lo que sé acerca del CG. Han pasado años desde que lo usé, pero mi amigo que acaba de trabajar en un nuevo juego en 3D, usó Cg para escribir sus sombreadores. Incluso si no hay la misma comunidad y el apoyo de la industria detrás de Cg que hubo una vez, todavía está ahí, y todavía puede usarlo.

+0

"... no hay la misma comunidad y el apoyo de la industria detrás de Cg que una vez hubo ..." Esta es parte de la razón por la que pregunto: CUDA, OpenCL, etc. tiene un gran impulso en este momento ... ¿Se irá dentro de un año? Seguramente apestaría si invierto una tonelada de tiempo en portar mi aplicación y entonces el software o hardware recibe poco o ningún soporte. – Pete

+1

Tengo la sensación de que al menos uno, si no ambos, CUDA y OpenCL aún tendrán un fuerte respaldo en el futuro. El uso de GPU para computación de propósito general es algo que mucha gente utiliza para que la menor cantidad de personas que hacen sombreadores. – Apreche

+1

Si "desaparecerá dentro de un año?" es su preocupación, entonces OpenCL es la apuesta más segura. CUDA solo se ejecutará en hardware NVidia; Stream SDK de AMD/ATI (también conocido como CAL) solo se ejecutará en su hardware; ninguno correrá en Larrabee; Los sombreadores de cómputo de DirectX 11 deben ejecutarse en hardware de múltiples fabricantes, pero solo en Vista o Windows 7, no en Windows XP o Linux o Mac OS. OpenCL promete ser el primer conjunto de herramientas que realmente es estándar en todas las plataformas, por lo que la sabiduría convencional es que va a sobrevivir y los otros morirán. –

0
  • CG/HLSL Si usted es un desarrollador de juegos.
  • OpenCL si usted es un programador de juegos muy aventurero.

Para cualquier otra persona en el escritorio, no puede garantizar que tengan el hardware requerido.

El futuro de todas estas soluciones parece tenue. Es probable que veamos al menos 1 o 2 generaciones más de idiomas antes de que GPGPU alcance el escritorio y se fusione.

Cuestiones relacionadas