Egyetlen binárissá gyúrja a CUDA és HIP alkalmazásokat az AMD Orochi

A rendszer dinamikusan betölti a HIP és CUDA API-kat, így nem kell kétszer lefordítani egy alkalmazást.

A GPU-k általános számításokra való használata már számos API-t kitermelt, és a gyártóknak is megvan a saját alternatívája. Az AMD többek között a HIP-re, míg az NVIDIA a CUDA-ra szavaz, de valójában ezek között nincs is akkora különbség, amit jól jelez, hogy a HIP (Heterogeneous Interface for Portability) környezetet célzó kódokkal az AMD és az NVIDIA hardvereit egyszerre lehet célozni. Ráadásul erre rendkívül egyszerűen portolhatók a meglévő CUDA kódok, az esetek jó részében a szükséges változások döntő többségét elvégzi az automatizált fordítást biztosító HIPify.

Ez mind rendben is van, de a HIP kódok NVIDIA és AMD grafikus vezérlőkre való fordítása vagy két különálló binárist, vagy egyetlen binárison belül eltérő backend fenntartását igényli, és ezek az alkalmazás karbantartását nem teszik ideálissá.

Erre a problémára reagál az AMD-féle nyílt forráskódú Orochi, amely képes a futtatási időben dinamikusan betölti a HIP és CUDA API-kat. Ehhez az alkalmazásban Orochi hívásokra kell cserélni a HIP, illetve CUDA hívásokat, majd ezután Egyetlen bináris fordítható a kódból, méghozzá anélkül, hogy eltérő backend fenntartására lenne szükség. Mindez leegyszerűsíti az ilyen formában lefordított alkalmazások telepítését, megkönnyíti a platformok közötti támogatás biztosítását egyetlen API-n keresztül, ami kiküszöböli az egyes platformokhoz tartozó backendek fenntartásával járó többletköltségeket.

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények

Hirdetés