Den 5. maj præsenterede Khronos-konsortiet specifikationen OpenCL 3.1 — endnu en opdatering af den åbne standard for tværplatform beregninger på CPU, GPU, DSP, NPU og andre acceleratorer. Udgivelsen er timet til IWOCL 2026-konferencen og udvikler OpenCL 3.x-modellen, hvor dele af funktionaliteten først testes som udvidelser, inden de overføres til standardens obligatoriske kerne.
Den vigtigste ændring i OpenCL 3.1 er obligatorisk understøttelse af indlæsning af beregningskerner i formatet SPIR-V i alle kompatible implementeringer. SPIR-V anvendes som en bærbar mellemrepræsentation, der kan genereres, blandt andet via LLVM/Clang og SPIR-V LLVM Translator. Dette skal forenkle brugen af OpenCL som backend for SYCL, chipStar og specialiserede compilere samt muliggøre distribution af kerner ikke som kildekode, men i forkompileret mellemform.
I OpenCL 3.1-kernen er der også blevet overført funktioner vigtige for AI- og HPC-belastninger: undergrupper med shuffle-/rotate-operationer og et udvidet typeapparat, skalarprodukter af heltal med mætning og opsamlingsmuligheder, nye bitmanipulationsoperationer, forespørgsel om den anbefalede størrelse for lokale arbejdsgrupper og en standardanmodning om en enheds UUID, der er i overensstemmelse med Vulkan-adfærden.
Blandt andre ændringer kan nævnes nye sprogfunktioner uden krav om at tilslutte udvidelser, forbedret printf i OpenCL C med understøttelse af modifikatorerne z og t, præcisering af semantikken omkring CL_DEVICE_HOST_UNIFIED_MEMORY, mulighed for at sende en størrelse på nul til argumenter i local memory og forenkling af synkronisering ved kontrol af hændelsen i tilstand CL_COMPLETE.
Arbejdet på implementeringer af OpenCL 3.1 er allerede i gang hos Arm, Imagination, Intel og Qualcomm. Blandt de åbne implementeringer nævner Khronos særskilt Rusticl som en del af Mesa, PoCL og CLVK. Udviklingen af kompatibilitetslag, der kører OpenCL over Vulkan og DirectX 12, fortsætter, hvilket bør udvide tilgængeligheden af OpenCL på systemer uden native drivere.
Khronos nævner som de næste udviklingsretninger kommandopuffer til lavniveau-genstart af kommandoer, forbedringer af delt samlet hukommelse, matrixoperationer i fælles tilstand, nye AI-typer såsom lavpræcisionsformater samt forbedringer til ekstern hukommelse og kompatibilitet med Vulkan, DirectX 12 og medie-pipelines.
Kilde: linux.org.ru
