Az utóbbi időben számos projekt készült, hogy a CUDA kódokat más GPU-kon is lehessen futtatni, ezek pedig különböző módokon működtek. Talán a legelterjedtebb módszernek manapság a HIP (Heterogeneous-computing Interface for Portability) számít, ami egy CUDA-hoz nagyon hasonló konstrukció, így a korábban megírt kódokat minimális munkával lehet portolni. Sőt, a HIPify eszközzel ez a folyamat nagyrészt automatizálható, illetve ha a fejlesztő egységes binárisban gondolkodik, akkor használhat Orochi hívásokat, és ezzel ugyanazon a programon belül dinamikusan betölthetők a HIP és CUDA API-k, azaz egységes kódbázisból támogathatók az NVIDIA és az AMD GPU-k, méghozzá a célzott hardverek számára optimális API-n keresztül.

Hirdetés

Kevésbé terjedt el a ZLUDA, ami a bináris CUDA állományok futtatását tette lehetővé a CUDA futtatási környezetet nem kezelő gyorsítókon is. Ez a projekt még mindig fejlesztés alatt áll, és a harmadik kiadása az AMD GPU-k támogatására van kigyúrva.

Most megérkezett egy harmadik versenyző is, amely a SCALE nevet viseli, és alapvetően HIP-hez hasonló konstrukció, csak módosítás nélkül lefordítja az AMD GPU-kra a CUDA kódokat. A rendszer nyílt forráskódú LLVM komponenseket használ, és maga a SCALE fordító kiváltja az NVIDIA nvcc fordítóját, továbbá van egy saját futtatási környezete, ami eltérő hardverhez implementája a CUDA Toolkitet.

A SCALE így egy nagyon érdekes projekt, ugyanis amíg a HIP nehezen támadható jogilag, addig a SCALE esetében azért véleményes, ami történik. Többek között elképzelhető, hogy az NVIDIA módosít a CUDA Toolkiten, ezen belül is megváltoztatnak vagy eltávolítanak valamit az alkalmazott API-kból. Ilyenkor a SCALE sem működne tovább, amíg ehhez a módosításhoz nem alkalmazkodnak. Ugyanakkor ennek a módszernek van egy hátránya is, arra kényszeríteni az összes fejlesztőt, hogy módosítsák a meglévő CUDA kódokat, tehát az NVIDIA hardverein is ki lenne ütve a régi kódok támogatása. A zöldek tehát elméletben reagálhatnak a fejlesztésre, de a saját ökoszisztémájukat is hátrányosan érintené bármilyen módosítás.

A SCALE egyébként dolgozik a szélesebb körű hardveres támogatáson. Egyelőre a ROCm implementációval rendelkező GPU-k kezelése a priorítás, mivel az alkalmazott CUDA-X könyvtár delegálási mechanizmus illik ehhez. Emiatt jelenleg csak a modernebb AMD GPU-k foghatók be, de hosszabb távon ez változni fog, viszont konkrét időtartam a várható fejlesztésekre vonatkozóan még nincs. Elméletben ugyanakkor a rendszer az Intel oneAPI implementációjához is hozzáigazítható.

Eredeti cikk

Magor Trade
Egyeztető üzlet emberek

Nagykereskedőként, versenyképes árainkkal hozzájárulunk üzleti partnereink sikeréhez és növekedéséhez.