2011-03-12 20 views
6

¿Alguien sabe de cualquier biblioteca c/C++ multiplataforma que utilizará la GPU para los cálculos de coma flotante, no específicamente cálculos orientados gráficos. Cuáles son de uso común, cuáles recomendados, con cuáles ha tenido experiencia. Específicamente, debe ser de código abierto con una licencia GPL.Biblioteca de plataforma cruzada C/C++ que permite la utilización de GPU para cálculos de coma flotante

anexo: - Cualquier biblioteca que conozca que no sea específica del fabricante de la GPU.

adendum: - OpenCL ha aparecido en algunas respuestas con una compatibilidad cruzada de GPU. ¿Alguien tiene experiencia en usarlo y puede responder por su madurez? Supongo que si es Kronos será bastante bueno.

Respuesta

7

Mucho dudaría de que tenga una posibilidad razonable de encontrar algo así como de código abierto, ya que "utilizar GPU" generalmente implica "cosas de controlador NDA altamente específicas y específicas del hardware".

Sin embargo, OpenCL es tan multiplataforma como puede obtener (funciona con todos los proveedores principales e incluso tiene al menos una implementación de respaldo de software) y es razonablemente gratuita en la medida en que no hay tarifas ni restricciones sobre cómo puede usar eso. La única cosa no libre es que no es de código abierto y no puedes modificarlo.

ATI/AMD y nVidia han estado ofreciendo OpenCL trabajando en G80 y RHD, respectivamente, desde hace algún tiempo, también ATI/AMD ha estado ofreciendo una implementación de software para un buen momento. En cuanto a Intel, recuerdo haber leído que estaban trabajando para la generación de OpenCL para Sandy Bridge hace aproximadamente un año, por lo que probablemente ya debería estar terminado también.

+1

+1 para abrir OpenCL. – Rich

2

Todo depende del chip al que apunta, pero NVIDIA ofrece un SDK en forma de CUDA para Windows, Mac y Linux. La licencia no es de código abierto, sino que depende de lo que necesite que en realidad no sea un gran obstáculo.

+0

Gracias Andrew. ¿Conoces alguno que sea compatible con la mayoría de las GPU? – Rich

+2

No, y estoy apostando que es casi imposible debido a la naturaleza particular de las fichas y las restricciones legales de los fabricantes de chips. –

Cuestiones relacionadas