Hace 15 años | Por --29106-- a khronos.org
Publicado hace 15 años por --29106-- a khronos.org

Al fin se ha publicado la especificacion de OpenCL, el primer lenguaje de programacion multiplataforma que permite resolver problemas aprovechando la potencia de calculo combinada de la CPU y la GPU (tarjeta grafica). Apple, AMD, IBM, Intel, NVidia y otros han colaborado en su creacion. El documento en si esta disponible en http://www.khronos.org/registry/cl/specs/opencl-1.0.29.pdf. Los primeros capitulos sirven como introduccion a este nuevo lenguaje. Si teneis cualquier pregunta, escribid un comentario y tratare de responder.

Comentarios

D

Para los que no dominan el idioma, traduzco libremente algunos parrafos sacados de la nota de prensa:

--- Traduccion ---
OpenCL permite a los desarrolladores de software aprovechar una combinacion diversa de CPUs, GPUs, procesadores Cell y otros procesadores paralelos. OpenCL consiste en una API para coordinar computos paralelos y un lenguaje de programacion para especificar dichos computos. Especificamente, el estandar OpenCL define:

- Un subconjunto del lenguaje de programacion C99 con algunas extensiones (aritmetica con vectores, etc.)
- Una API para coordinar algoritmos con paralelismo de datos que pueden ejecutarse en sistemas heterogeneos (CPUs y GPUs).
- Requisitos de precision numerica basados en el estandar IEEE 754.
- Interoperabilidad eficiente con OpenCL y DirectX.

--- /Traduccion ---

En otras palabras: tu escribes tu software en C o C++ usando la API de OpenCL para lanzar tareas e indicar las dependencias que existen entre estas tareas. El computo en si lo tienes que programar en un lenguaje especial llamado OpenCL C que esta basado en C99. El compilador de OpenCL C te lo proporciona el el fabricante de hardware (AMD, Intel, NVidia).

N

Tiene muy buena pinta. Ya veremos que tal avanza el proyecto.

m

Esta es la tecnologia que trae snow leopard?

D

#2 Si, Apple ha dicho que usara OpenCL para mejorar el rendimiento en Snow Leopard. No tengo NPI de cuando saldra al mercado.