Khronos Group ha annunciato le specifiche finali di OpenCL 2.2 ma l’aspetto più interessante dell’annuncio è che in questo si parla di “far convergere e sfruttare l’API Vulkan, unendo la grafica avanzata e il calcolo in una sola API”. Il passaggio – evidenziato dal sito PC Perspective – è rilevante perché emerge chiaramente l’intenzione di unire OpenCL e Vulkan in un’unica libreria.
OpenCL (Open Computing Language), lo ricordiamo, è un marchio di Apple ma è un framework aperto e multipiattaforma supportato – tra gli altri – da AMD, Intel e, almeno in teoria da Nvidia, che consente agli sviluppatori di sfruttare appieno la potenza di calcolo delle GPU per applicazioni esigenti come i moderni videogame, la modellazione 3D, operazioni finanziarie complesse in grado di beneficiare dei core in parallelo integrati delle GPU.
Vulkan è l’API grafica in qualche modo concorrente delle DirectX 12 di Microsoft che deriva in parte dalle API di basso livello “Mantle” create da AMD. Khronos Group ha confermato a PC Perspective che “Il gruppo di lavoro OpenCL ha preso la decisione di far convergere la propria tabella di marcia con Vulkan, e sfruttare Vulkan come base per la nuova generazione di API di calcolo esplicito che offre la possibilità di fondere grafica e calcolo per la roadmap OpenCL”.
Resta da capire in tutto questo il ruolo di Apple: la multinazionale di Cupertino fa parte del Khronos Group e potrebbe decidere di supportare la nuova tecnologia che potrebbe risultare particolarmente interessante in virtù dei futuri Mac Pro sui quali la Mela sta lavorando.
Scott Michaud di PC Perspective spiega che ci sono diverse ragioni per integrare OpenCL in Vulkan. “Apple, che in origine ha creato OpenCL, detiene ancora marchi e alcuni diritti. Il Khronos Group licenzia queste parti di proprietà intellettuale da Apple. Vulkan, basata sulla donazione di AMD dell’API Mantle, dovrebbe essere più facile da gestire dal punto di vista legale”. “Il secondo motivo per andare verso questa direzione è l’effettiva struttura delle API. Quando Mantle fu annunciata, sembravano API che confezionavano OpenCL in un layer grafico. Vulkan non è limitata solo alle GPU nella sua implementazione”.