Hirdetés

Az Oracle a HSA alapítvány új tagja

A HSA alapítvány egy újabb erős támogatóra tett szert, ugyanis az Oracle a jelenleg is zajló APU13 rendezvényen bejelentette, hogy egyetértenek a HSA jövőképével és támogatni szeretnék az úgynevezett hozzájáruló jogkör mellett. A vállalat célja a Java programnyelv fejlesztése kapcsán már egy ideje ismert, hiszen nagyjából egy évvel korábban fogtak össze az AMD-vel a Sumatra kódnevű projekt megszületéséért, mely a Java programoknak lehetővé teszi az integrált, vagy akár a dedikált grafikus vezérlők általános számítási kapacitásának kihasználását.

Hirdetés

Nandini Ramani, a Java platform alelnöke az APU13-on tartott előadása során részletezte, hogy a Java az elmúlt évek során sok fejlesztést tett a párhuzamosítás irányába. Gyakorlatilag 2002 óta folyamatosan javul a programnyelv ebből a szempontból, de problémát jelentett, hogy nem fejlődött elég gyorsan, így az aktuálisnak tekinthető, de már több mint két éve megjelent Java 7-ben történt komoly előrelépés ebből a szempontból a fork/join keretrendszer bevetésével. Utóbbi a Java 5-ben megjelent java.util.concurrency Java 6-ban végrehajtott kiegészítéseivel együtt elég jó megoldásnak tekinthető, de a következő esztendő tavaszán érkező Java 8 a Lambda API-val még tovább lép, ami lambda-kifejezések támogatásával a végrehajtás párhuzamosításában vállal főszerepet. Az Oracle azonban egyre nagyobb figyelmet fordított a grafikus processzorok gyorsan növekvő erejére, és az ezekben rejlő általános számítási teljesítmény kihasználására komoly kutatások kezdődtek meg a cégen belül. Ez részben felelhet a régóta várt modularizálást célzó Project Jigsaw folyamatos késéséért, ugyanis a vállalat jó eséllyel fontosabbnak tartja heterogén jövőre való felkészülést.


[+]

Az Oracle elmondása szerint a Sumatra kódnevű projekt (azaz a készülő Java 9) kiindulópontja az AMD Aparapi projektje volt, melyről az alábbi hírben bővebben írtunk. Ez a rendszer lényegében egy adatpárhuzamos feldolgozásra tervezett API a Java 7-hez, a működés szempontjából pedig az OpenCL felületre épített a grafikus vezérlők kihasználásához vethető be. Az Oracle az alapötletet jónak tartotta, ugyanakkora az Aparapi a JVM-en (Java virtuális gép) kívül, magában a programban működik, ami elfogadható, de nem elegáns megoldás. A Java fejlesztéséért felelős cég ötlete annyiból állt, hogy célszerű lenne az Aparapi alapkoncepcióját a JVM-en belül megvalósítani, ami lényegében egyenlő a grafikus vezérlők natív támogatásával.

A Sumatra kódnevű projekt drámaian leegyszerűsíti a heterogén módon programozható processzorok kódolását. A Java 8 Lambda és Stream API-ja megmarad, de a JVM-en belül lesz egy JIT (Just-In-Time) fordító, ami HSAIL kódot generál, majd azt a HSA futtatási környezet és a HSAIL Finalizer megfelelő formában eljuttatja a hardverhez. A projekt célja alapvetően az volt, hogy a Java ne veszítse el azt, ami népszerűvé tette, vagyis az egyszerűségét, így a JVM dönt arról, hogy a munkafolyamatot a központi vagy a grafikus processzor kapja meg, méghozzá az adott feladat karakterisztikája szerint. Egyszerűbben fogalmazva a programozónak nem kötelező figyelnie arra, hogy melyik folyamatot futtassa a központi és melyiket a grafikus processzor.

Nandini Ramani előadásán ezt tesztelték is, így egy Kaveri APU-t beizzítva a Sumatra és a HSA futtatási környezet előzetesével egy program 5150 női és férfi nevet keresett Charles Dickens különböző könyveiben, majd erről valós időben egy kimutatást is készített. A munkával a négymagos processzorrész kicsivel kevesebb, mint 45 másodperc alatt végzett, de a GCN architektúrára épülő integrált grafikus vezérlőt is beizzítva (a hUMA és hQ architektúrával egyetemben) ugyanez a feladat alig tartott tovább 9 másodpercnél, a program pedig konkrétan ugyanazzal a kóddal futott. Ebből a gyorsulásból érthető, hogy az Oracle figyelme miért irányult a grafikus vezérlők általános számítási teljesítményének kihasználása felé.


[+]

A Sumatra kódnevű projekt azonban még fejlesztés alatt áll, így a Java 8 kap még egy extra kiegészítést az Aparapi szempontjából. Az új Java környezetben ugyanis a grafikus vezérlők erejének hasznosítását az OpenCL-től átveszi a HSA, így a programok jóval hatékonyabban futhatnak az ehhez fejlesztett APU-kon.

A készülő Sumatra környezet egyébként HSA-val kompatibilis grafikus vezérlőt igényel, a legjobb hatékonyság érdekében hUMA és hQ támogatással. Persze utóbbi kettő az AMD technológiája, de a többi HSA alapítványban résztvevő gyártónak is lesz saját implementációja ugyanezekre a funkciókra, és a szabványos specifikációknak hála ezek kompatibilisek is lesznek egymással csupán nem ez lesz a nevük.

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.

Azóta történt

Előzmények