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 OS X desde 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 soporta OpenCL.
En OS X 10.11 El Capitan, el equipo de desarrollo de drivers en AMD ha dado un importante paso adelante añadiendo soporte para llamadas de función en el compilador de OpenCL. Ya disponibles en la beta 3 de OS X 10.11 El Capitan, esto permite que por ejemplo Blender pueda soportar el actual motor de renderizado Cycles en un Mac Pro con OS X 10.11 El Capitan son un rendimiento de la GPU en calidad similar al que ha tenido Cycles para CUDA en años pasados.
Para los usuarios de estas tecnologías es un gran avance ya que permite renderizados mucho más rápidos. Aunque la versión de OpenCL se mantiene, aparentemente, en la versión 1.2, si se han hecho ciertas modificaciones en el soporte para acomodar estas novedades.