A Khronos csoport rendelkezik közzétette az OpenCL 3.0.12-t ennek az API-nak a legújabb verziójaként heterogén platformokon keresztüli számításokhoz, de leginkább GPU-számításról ismert.
Az OpenCL 3.0.12-vel észlelt változások a következők:
* Hozzáadott egy érvényes objektum definícióját és az érvényes objektumok tesztelésének követelményeit.
* A kernel által támogatott argumentumok számának maximális korlátja.
* Pontosabb követelmények az objektumfogantyúk összehasonlíthatóságára és egyediségére vonatkozóan.
* Az érvénytelen eszközoldali „clk_event_t” sorkezelők viselkedésének tisztázása.
* Tisztázott `cl_khr_command_buffer` interakciók más bővítményekkel.
* Meghatározott hibaüzenet, amikor egy parancspuffert többször véglegesítenek.
A legfigyelemreméltóbb azonban egy új kiterjesztés bevezetése a parancspufferekkel rendelkező, változtatható küldéshez. A cl_khr_command_buffer_mutable_dispatch új az OpenCL 3.0.12-ben, és ideiglenes formában kerül bevezetésre. A cl_khr_command_buffer_mutable_dispatch kiterjesztés lehetővé teszi a kernel-végrehajtási parancsok konfigurációjának módosítását a parancspuffersorok között.
A cl_khr_command_buffer_mutable_dispatch bővítményen a Codeplay, a Qualcomm, az Arm, az Intel, a Tempere University, az NVIDIA és a Google mérnökei dolgoztak, hogy leküzdjék a cl_khr_command_buffer azon korlátait, amelyek szerint a parancspufferben rögzített parancsok megváltoztathatatlanok a sorok között.
A cl_khr_command_buffer kiterjesztés elválasztja a parancsok felépítését a sorbaállástól azáltal, hogy mechanizmust biztosít a parancskészlet rögzítésére, amelyet azután ismételten sorba lehet helyezni. A parancspufferbe rögzített parancsok azonban megváltoztathatatlanok a sorok között. A
cl_khr_command_buffer_mutable_dispatch megszünteti ezt a korlátozást, különösen, ez a kiterjesztés lehetővé teszi a kernel-végrehajtási parancs konfigurációjának módosítását egy parancspufferben, amelyet mutable-dispatch-nek neveznek. Ez lehetővé teszi, hogy a rendszermag bemenetei és kimenetei, valamint a munkaelemek mérete és eltolása megváltozzon anélkül, hogy a teljes parancssorozatot újra kellene rögzíteni egy új parancspufferbe.
A Az OpenCL 3.0.12 hivatalos dokumentációja letölthető a GitHubról.