OpenCL-en is futtathatóvá teszi a HIP kódokat a HIPSPV

Az LLVM Project ezzel biztosítaná, hogy az Intel GPU-it is célozni lehessen az AMD rendszerét használva.

Érdekes kezdeményezés kerül fel a héten az LLVM Project oldalára, amely sokat segíthet azon, hogy a HIP (Heterogeneous Interface for Portability) környezetet célzó kódokkal ne csak az AMD és az NVIDIA hardvereit lehessen elérni. Alapvetően a HIP az AMD saját C++ futtatási API-ja és kernel nyelve, amelynek a fő célja a CUDA kódok futtathatóvá tétele a vállalat gyorsítóin. Ezt a feladatot el is látja, hiszen rendkívül egyszerűen, javarészt az automatizált fordítást biztosító HIPify eszközön keresztül lehet a CUDA kódokból HIP kódot generálni, majd onnan a HCC C++ fordítóval célozhatók az AMD, míg az NVCC-vel az NVIDIA hardverek. Ezt a folyamatot az alábbi kép jól szemlélteti.


[+]

Ez eddig hasznos is a piacnak, hiszen egységes kódot használhatnak két gyártó kiszolgálására is, de az Intel grafikus vezérlőit már a HIP sem támogatja. Tekintve azonban, hogy nyílt forráskódú projektről van szó, akkora katasztrófa nincs, és az LLVM Project el is indította a HIPSPV-t, amivel a HIP eszköztárukat tervezik át. Ennek a célja az, hogy HIP kódokból SPIR-V kódot generáljon, amit aztán egy SPIR-V köztes nyelvet támogató OpenCL implementáció képes is futtatni. Ezzel gyakorlatilag a fejlesztőknek továbbra is elég lenne HIP kódot írni, ami aztán fut az AMD és az NVIDIA gyorsítóin, továbbá még minden olyan gyártó hardverén, amelynek az OpenCL implementációja elfogadja a SPIR-V kódokat.

A fentiek azért lehetnek fontosak, mert például a Blender 3.0 új rendermotorja, a Cycles X már nem OpenCL-ben, hanem nagyrészt HIP-ben van írva, és innen a legegyszerűbb út a gyártók általános támogatása felé az, ha a HIP-et értelmezhetővé teszik a SPIR-V-t támogató OpenCL implementációk számára.

Azóta történt

Előzmények

Hirdetés