Hirdetés

Révbe ért az AMD Aparapi projektje

Az AMD JavaLabs csapata másfél évvel korábban kezdett el gondolkodni azon, hogy miképp tudnák a Java programnyelvet használó fejlesztők életét megkönnyíteni, amennyiben valaki ki akarná használni a grafikus processzorok általános számítási kapacitását. Ez eddig az OpenCL-re építő JOCL és JOpenCL, valamint a CUDA képességeit kamatoztató JCUDA segítségével volt megoldható. Mindegyik felület úgynevezett Java bindingeket tartalmaz, amelyekkel ugyan az AMD által részletezett probléma megoldható, de csak nagyon körülményesen.

Hirdetés

A Java esetében a fejlesztők általában nem törődnek a pointerek, illetve a destruktorok használatával, vagy mondjuk a memória felszabadításával. Ez a feladat a virtuális gépet terheli, ami lényegében futtatja a Java programot. Gyakorlatilag itt jön képbe a probléma a JOCL, a JOpenCL és a JCUDA használatával, azaz a fejlesztőknek olyan kódokat kell kreálni, amelyeket a Java alatt nem tesznek meg, és ez egy barátságtalan környezet sokuk számára. Sőt, az egyes részleteket több eszközre kell optimalizálni, ami eltér a Java esetében alkalmazott alapfilozófiától.

Az AMD Aparapi projektje lényegében arról szólt, hogy a Java programnyelvet kedvelő fejlesztők továbbra is hagyományosnak mondható Java kódokat írjanak, és a GPU-n történű futtatást egy felületre bízhassák, ami mindent kezelni tud. Ez lenne az Aparapi, ami a mai naptól kezdve elérhető az alábbi weboldalon keresztül.

A rendszer működéséhez a program támogatása mellett, egy OpenCL 1.1-es grafikus driver kell, ugyanis az Aparapi az OpenCL-en keresztül futtatja az adott kódot a grafikus processzoron. Ettől függetlenül a fejlesztőknek a program írásakor nem kell figyelni a Java bindingeket tartalmazó felületek esetében felmerült problémákra, így továbbra is egyszerű lehet a Java program írása, mivel a Java virtuális gép és az Aparapi mindent elintéz. Az utóbbi felület egyébként a Java bájtkódját konvertálja OpenCL-re, és a párhuzamosan végrehajtható feladatokat próbálja az APU-k IGP-jén, vagy a dedikált GPU-kon futtatni. Ez azonban nem biztos, hogy mindig sikerül, de az Aparapi kezeli ezt a helyzetet is, ugyanis ilyenkor az adott kódot visszakerül a Java szálkezelőhöz, és így a központi processzoron fut majd le. A fejlesztőknek természetesen a hatékony kódok kreálásakor nem árt odafigyelni a CPU és GPU logikai különbségeire, vagyis az Aparapi nem egy csodaszoftver, ami minden helyzetben feltalálja magát, ugyanakkor a JOCL, a JOpenCL és a JCUDA felületeknél jóval egyszerűbben használható kiterjesztés a Java programnyelvet kedvelők számára.

Az AMD Aparapi mától nyílt forráskódú projekt is lett egyben, amelyet módosított BSD licenc alatt lehet felhasználni, így mindenki hozzátehet a fejlesztéshez. Természetesen a vállalat az OpenCL felületet kezelő hardvergyártók támogatását is szívesen fogadja.

Hirdetés

Fotóznál vagy videóznál? Mutatjuk, melyik okostelefon mire való igazán!

PR Vásárlás előtt érdemes megnézni, mit kínálnak az aktuális telefonok, ha igazán ütős képeket vagy profi mozgóképeket szeretnénk készíteni.

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények