OpenCL (Open Computing Language, en español lenguaje de computación abierto) consta de una interfaz de programación de aplicaciones y de un lenguaje de programación. Juntos permiten crear aplicaciones con paralelismo a nivel de datos y de tareas que pueden ejecutarse tanto en unidades centrales de procesamiento como unidades de procesamiento gráfico. El lenguaje está basado en C99, eliminando cierta funcionalidad y extendiéndolo con operaciones vectoriales.
Apple creó la especificación original y fue desarrollada en conjunto con AMD, IBM, Intel y NVIDIA. Apple la propuso al Grupo Khronos para convertirla en un estándar abierto y libre de derechos. El 16 de junio de 2008 Khronos creó el Compute Working Group para llevar a cabo el proceso de estandarización. En 2013 se publicó la versión 2.0 del estándar.
OpenCL forma parte de Mac OS X v10.6 ('Snow Leopard'), mientras que AMD decidió apoyar OpenCL en lugar de su antigua API Close to Metal. Intel también dispone de su propio entorno de desarrollo y NVIDIA además de tener su propia API para chips gráficos llamada CUDA, también admite OpenCL.
Este ejemplo calcula una Transformada rápida de Fourier. Las llamadas a la API son las siguientes:
El cómputo en sí es este:
Escribe un comentario o lo que quieras sobre OpenCL (directo, no tienes que registrarte)
Comentarios
(de más nuevos a más antiguos)