Hirdetés

Akár sikerre is viheti az Intel a oneAPI koncepcióját

A rendszer úgy van felépítve, hogy tényleg minden célozható legyen vele, függetlenül attól, hogy az adott hardver gyártója akarja-e.

Még szeptember végén írtunk arról, hogy végleges formát öntött az Intel oneAPI. Bár a potenciális sikerrel kapcsolatban sok a kérdőjel, az Intel kifejezetten bizakodik a kezdeményezésében, és amire nagyon figyelnek, hogy a rendszerük a konkurensek hardverein is üzemképes legyen.

Hirdetés

A oneAPI CPU-s részével valószínűleg nem is lesz semmi gond, elvégre az egyes utasításarchitektúrák kifejezetten jól dokumentáltak, vagyis ezek támogatása biztosan nem jelent nagy problémát. A kérdéses rész leginkább a konkurens gyorsítókra vonatkozik, ugyanis itt már nem kevés akadály merül fel.

Az Intel a saját gyorsítóit a SYCL 2020-on keresztül éri el, és ezt használják majd a konkurens gyorsítókhoz is. Itt a fő cél az NVIDIA és az AMD rendszereire reflektálni, és nem számít, ha az említett gyártók ezt nem akarják.

Az NVIDIA gyorsítóira tervezett implementáción a Codeplay dolgozik, és ez úgy működik, hogy a SYCL kódot fogják futtatni a CUDA-n. Ehhez a Codeplay korábbi LLVM SYCL implementációját fejlesztették tovább, és a tervezett rendszer lényegében képes lesz a Data Parallel C++ kódok futtatására a zöldek hardverein.

Az AMD gyorsítóira a Heidelbergi Egyetem munkálkodik, és itt azért valamivel könnyebb dolguk van, mert elég volt kiegészíteni a SYCL 2020-as funkciókkal a hipSYCL-t, hogy az képes legyen Data Parallel C++ kódokat futtatni a ROCm szoftverkörnyezeten keresztül elérhető hardvereken.

Ilyen formában a oneAPI egyáltalán nem rossz koncepció, és tulajdonképpen a nyílt forráskódjának, illetve a szabványokra való építkezésnek hála megvan az alap arra, hogy egy olyan fejlesztőkörnyezetet biztosítson, amivel gyakorlatilag minden hardver célozhatóvá válik. Márpedig ez nagy fegyvertény, mert az NVIDIA a CUDA-val arra koncentrál, hogy a saját hardvereire zárja a piacot. Eközben az AMD a ROCm csomaggal lényegében lemásolta a CUDA-t, ezért is lehet az esetek jó részében olyan félelmetesen egyszerűen HIP-re portolni egy CUDA-ra írt alkalmazást (sokszor ugye csak a függvénynevek mások, de a programkód lényegében ugyanaz marad). A oneAPI viszont a SYCL 2020-ra kínál egy implementációt, ami egy iparági szabvány, tehát végeredményben a megírt kódok is teljesen szabványosak lesznek.

Hirdetés

Előzmények

Hirdetés