Khronos ohlašuje OpenCL 3.0: pokrok i návrat zpět
27.4.2020, Jan Vítek, aktualita
Skupina Khronos přichází s prozatímními specifikacemi OpenCL verze 3.0, které umožní, aby požadavky vývojářů vzali v potaz výrobci hardwaru. Před vytvořením konečných specifikací tak poslouží i zpětná vazba vývojářské komunity.
OpenCL tak už řadu let slouží jako API určené pro využití grafických čipů pro výpočetní účely, čili jako akcelerátorů. Především díky nim byla nastartována revoluce v oblasti umělé inteligence a dnes si ani nelze představit, že by se do čela žebříčku superpočítačů zařadil model, který nevyužívá GPU akcelerátor, nebo jiný čip provádějící vysoce paralelizované výpočty. OpenCL se ostatně používá i v rámci projektu Folding@home, který v současnosti představuje světově nejvýkonnější systém, který zastíní i celý žebříček TOP500, i když jde pochopitelně o souhrnný veskrze teoretický výkon.
Na jednu stranu tu tak máme novou verzi 3.0, která ale ve skutečnosti znamená návrat k verzi OpenCL 1.2, od níž se bude odvíjet. Ve výsledku se tak vše, co se objevilo v OpenCL 2.x stává veskrze volitelným a nebude zapotřebí k zajištění kompatibility. Jde bezpochyby o výsledek toho, že verze OpenCL 2.2 z roku 2017 nabídla podporu C++ a objektového programování, což ale NVIDIA, AMD, Intel i řad jiných firem ignorovala.
Nově se bude pro kernel používat otevřený projekt 'C++ for OpenCL' oproti 'OpenCL C++' definovanému v OpenCL 2.2. To nezasvěcenému dává asi podobný smysl jako rozdíl mezi Lidovou frontou Judeje a Judejskou lidovou frontou, ale zde půjde hlavně o to, že OpenCL C++ nabídne kompatibilitu s OpenCL C a také kompatibilitu s implementacemi OpenCL 2.X či OpenCL 3.0, které podporují SPIR-V.
Čili OpenCL 3.0 je v podstatě návrat k tomu, s čím byli téměř všichni původně spokojeni. Zahodil se několikaletý vývoj a s ním i některé nové funkce, které mohly být užitečné, ale ne natolik, aby byl tento specifikační reset zamítnut.
Novou verzi v tiskovém prohlášení uvítala již společnost NVIDIA, vedle ní Intel či Imagination Technologies, ovšem vyjádření společnosti AMD kupodivu chybí. Co se týče nových funkcí, o těch se více dozvíme spíše až v době, kdy budou připraveny už finální specifikace OpenCL 3.0. Ty samozřejmě nebudou představovat jen škrty a návrat ke staré verzi, ale i novinky.
Zdroj: techPowerUp, Anandtech