OpenCL y sus alternativas: lecciones de la democratización fallida

Fuentes: Modular: What about OpenCL and CUDA C++ alternatives? (Democratizing AI Compute, Part 5)

El artículo, quinta entrega de la serie "Democratizing AI Compute", escrito por Chris Lattner (cofundador de Modular), analiza por qué OpenCL y otros modelos de programación de GPU portátiles (como SYCL, oneAPI) fracasaron en convertirse en plataformas dominantes para la inteligencia artificial, a pesar de su intención de democratizar el cómputo más allá de CUDA de NVIDIA. Lattner, quien fue ingeniero líder en la implementación de OpenCL en Apple en 2008, explica que el proyecto nació con el objetivo de ofrecer una experiencia similar a C++ para programar GPUs de forma heterogénea. Apple donó OpenCL a Khronos Group para estandarizarlo, lo que logró una amplia adopción en dispositivos móviles y embebidos, pero su evolución se estancó debido a la lentitud del desarrollo por comité y la tensión de la "coopetición" abierta, donde los fabricantes de hardware competían y colaboraban a la vez. Los fabricantes ocultaban sus innovaciones hasta después del lanzamiento, fragmentando el ecosistema con extensiones propietarias. Además, OpenCL carecía de una implementación de referencia completa y compartida, lo que obligó a cada vendedor a mantener forks personalizados, debilitando la portabilidad. Mientras tanto, NVIDIA adoptó un enfoque unificado y cerrado con CUDA, optimizándolo junto con TensorFlow y PyTorch para asegurar el mejor rendimiento en sus GPUs. Un ejemplo crítico: OpenCL aún no ofrece soporte estandarizado para Tensor Cores, lo que provoca una desaceleración de 5 a 10 veces frente a CUDA, algo inaceptable para los costos computacionales de la IA generativa. Lattner concluye que estas fallas estructurales —falta de gobernanza ágil, fragmentación y la estrategia agresiva de NVIDIA— explican por qué las alternativas abiertas no lograron democratizar el cómputo de IA, y plantea lecciones para futuros intentos.