El 5 de mayo, el consorcio Khronos publicó la especificación. OpenCL 3.1 — la última actualización del estándar abierto para computación multiplataforma en CPU, GPU, DSP, NPU y otros aceleradores. El lanzamiento coincide con la conferencia IWOCL 2026 y se basa en el modelo OpenCL 3.x, con algunas características que inicialmente se probaron como extensiones y luego se migraron al núcleo obligatorio del estándar.
El principal cambio en OpenCL 3.1 es el soporte obligatorio para cargar kernels de computación en el formato ESPIR-V En todas las implementaciones compatibles, SPIR-V se utiliza como representación intermedia (IR) portátil, la cual puede generarse, en particular, mediante LLVM/Clang y el traductor LLVM SPIR-V. Esto simplifica el uso de OpenCL como backend para SYCL, chipStar y compiladores especializados, y también permite distribuir los kernels no como código fuente, sino en formato IR precompilado.
El núcleo OpenCL 3.1 también incorpora características importantes para cargas de trabajo de IA y HPC: subgrupos con operaciones de mezcla/rotación y un conjunto extendido de tipos, productos escalares de enteros con opciones de saturación y acumulación, nuevas operaciones bit a bit, una consulta recomendada del tamaño del grupo de trabajo local y una consulta estándar del UUID del dispositivo coherente con el comportamiento de Vulkan.
Otros cambios incluyen nuevas características del lenguaje sin necesidad de incluir extensiones, una función printf mejorada en OpenCL C con soporte para los modificadores z y t, una aclaración de la semántica de CL_DEVICE_HOST_UNIFIED_MEMORY, la capacidad de pasar un tamaño cero para los argumentos de memoria local y una sincronización simplificada al comprobar si hay un evento en el estado CL_COMPLETE.
El trabajo en las implementaciones de OpenCL 3.1 ya está en marcha en Arm, Imagination, Intel y Qualcomm. Entre las implementaciones de código abierto, Khronos menciona específicamente Rústico como parte de Mesa, PoCL и CLVKLas capas de compatibilidad que ejecutan OpenCL sobre Vulkan y DirectX 12 también continúan desarrollándose, lo que debería ampliar la disponibilidad de OpenCL en sistemas sin controladores nativos.
Las próximas áreas de desarrollo de Khronos incluyen búferes de comandos para la reintento de comandos de bajo nivel, mejoras en la memoria compartida unificada, operaciones matriciales en modo compartido, nuevos tipos de IA como formatos de baja precisión, así como mejoras en la memoria externa y la compatibilidad con Vulkan, DirectX 12 y las canalizaciones multimedia.
Fuente: linux.org.ru
