Hace unos días, la organización sin fines de lucro Khronos lanzó las especificaciones completas y finales de la API OpenCL 3.0. Ahora, el software establecido desde hace mucho tiempo está experimentando una competencia más fuerte a medida que algunos socios clave se están moviendo hacia otras API.
OpenCL fue desarrollado por primera vez por Apple y luego fue mejorado por NVIDIA y AMD para más tarde ser presentado al grupo Khronos como un estándar abierto multiplataforma. La nueva versión 3.0 es hasta cierto punto una reversión, ya que comparte la API central con una rama de Open CL 1.2 lanzada en 2011.
El único fabricante que sigue apoyando ampliamente este estándar es Intel. La empresa anunció en junio que Neo Runtime admitirá OpenCL 3.0 con Tiger Lake. Mientras tanto, Apple ahora se trasladó a Metal API (desde macOS 10.14) y NVIDIA tiene una API más amigable para los desarrolladores llamada CUDA. Por su parte, AMD ofrece compatibilidad con OpenCL 2.2 con su plataforma de desarrollo de código abierto llamada RoCm.
Por suerte para muchos programadores, Khronos hizo que la implementación de OpenCL 3.0 sea lo más fácil posible. No se requiere ningún cambio de código al pasar de OpenCL 1.2 o 2.2 a 3.0. Además, OpenCL presentó dos nuevas extensiones: Un identificador único universal (UUID) y una extensión de DMA asincrónica que permite transacciones DMA ordenadas.
Por desgracia, no se espera que la popularidad de OpenCL aumente después del anuncio de 3.0. A pesar del apoyo de AMD e Intel, este software mantiene varios problemas que fueron descritos en el siguiente hilo, haciendo que muchos desarrolladores opten por buscar alternativas.