2011-01-29 17 views
10

Quiero experimentar con algunos GPGPU en primer lugar. Podría haber elegido entre 5 opciones: OpenCL, CUDA, FireStream, Close to Metal, DirectCompute. Bueno, no realmente después de filtrarlos para mis necesidades ninguno se adapta :) Estoy usando Radeon 3870HD, entonces CUDA está fuera, quiero DirectCompute de plataforma cruzada, Cerca de Metal evolucionó a FireStream (equivalente de CUDA para AMD) y FS ahora está "en desuso" para bien de openCL. ¿Y adivina qué? openCL está disponible en la serie Radeon 4xxx. Así que no quiero aprender algo que no va a ser compatible y no tengo HW para uno nuevo.Sombreadores en lugar de GPGPU

Así que hasta que obtenga una pieza nueva, pensé que los sombreadores realmente pueden hacer cosas similares, es mucho más difícil obtener resultados, y más lento también. De todos modos, no planeo hacer una investigación con esto, así que para mí podría ser lo suficientemente bueno. La búsqueda de algo así en google es un trabajo para el hombre de la basura (sin ofender), entonces, ¿qué posibilidades hay de renderizar en otro lugar que el framebuffer utilizado para mostrar? ¿Se pueden crear texturas o qué otros búferes serían más adecuados para esto? En el caso de la textura me gustaría algo de información cómo acceder a ella, con tampones que no debería ser un gran problema ..

casi lo olvido, estoy usando OpenGL 3.1 y GLSL 1,5

Gracias

Respuesta

10

Es completamente posible, GPGPU se hizo de esa manera antes de que apareciera CUDA. Aquí hay un tutorial de esa época:

http://www.mathematik.uni-dortmund.de/~goeddeke/gpgpu/tutorial.html

a prestar a otra cosa que no sea un uso de este dispositivo, puede utilizar Transformar Feeback en OpenGL 3.0 para rendir a un VBO.

+0

Guau .. rápido leer eso, se ve increíble paso a paso. Podría darme una ventaja cuando me mueva a openCL también ... ¡gracias! – Raven

+2

Hola, es posible que desee consultar mi biblioteca en http://openreng.sourceforge.net/ para obtener ejemplos de GP-GPU con OpenGL (cómputo de Voronio usando GPU, por ejemplo) y también cómo se puede integrar OpenCL (hay otra biblioteca dentro llamado CLBind). Hay aplicaciones de muestra (actualmente muy simples) que puede probar OpenCL (y la interoperabilidad OpenGL). Puede encontrar los códigos fuente útiles, o prefiere usar la biblioteca en sí (que se basa en OpenGL 3.x) – AdilYalcin

+1

+1 mejor tutorial sobre ese tema –

Cuestiones relacionadas