Szerző: Gálffy Csaba

2013. július 8. 14:54

Harlan: új GPU-programozási nyelv a láthatáron

Leveszi a fejlesztő válláról a terhet a Harlan a GPU-programozás során. A kísérleti fázisban lévő nyelv maga menedzseli a komplex memóriakezelési műveleteket és GPU-kompatibilissé fordítja az eddig meg nem engedett feladatokat is.

Új nyelv célozza a GPU-k programozásának egyszerűsítését. A Harlan nyelv kimondott célja egyszerűsíteni a programozó feladatát és automatizálni számos olyan műveletet, amelyet eddig manuálisan, az alkalmazásban kellett megírni. A nyelv fő készítője Eric Holk, az Indiana Egyetem doktorandusza, témavezetője, aki szerint a GPU-programozás legnagyobb nehézsége jelenleg a memóriakezelés, az adatok másolása-továbbítása a CPU és rendszermemória illetve GPU és dedikált memória között, vagy a GPU memóriahierarchiáján belül.

Az új nyelv ezért elsősorban ezt a területet célozza, a CUDA és az OpenCL alacsony szintű nyelvekhez képest absztrakcióval és adaptív optimalizációval. A deklaratív Harlan igazi újdonsága, hogy a programozónak csak a "számoló magot" (computational kernel) kell megírnia, a fordító hozzáadja a szükséges (elsősorban memóriakezelő) kódot az OpenCL-re fordítás során. Ezzel a GPU-programozás nagyot egyszerűsödik, olvashatóbbá, tisztábbá válik a kód és értelemszerűen csökken a hibalehetőségek száma is.

Mindent vivő munkahelyek

Mindig voltak olyan informatikai munkahelyek, melyek nagyon jól fekszenek az önéletrajzban.

Mindent vivő munkahelyek Mindig voltak olyan informatikai munkahelyek, melyek nagyon jól fekszenek az önéletrajzban.

A Harlan célja teljesen megszüntetni a GPU-programozás jelenlegi korlátait, és lehetővé tenni a tetszőleges eljárások meghívását, beleértve a rekurzív hívásokat is. A jelenlegi GPU-nyelvekben (CUDA, OpenCL) ezek nem lehetségesek, a programozónak magának kell kitalálnia az eredendően hardveres limitáció megkerülését. Ezt a feladatot veszi át a Harlan a fejlesztőtől és gyárt belőle C++ (OpenCL) kódot. A készítők szerint a nyelv alapszintű adaptív optimalizálást is végez, bár értelemszerűen a nyelv fejlődése előtt ezen a területen még tág tere van.

A Harlan a Scheme szintaxisát használja, amely a klasszikus Lisp egy dialektusa, a fordító pedig OpenCL-kompatibilis C++ kódot állít elő, amely használható az Intel OpenCL SDK-val, az NVIDIA CUDA Toolkittel és az AMD APP SDK-val is. A nyelv fordításához OS X 10.6 vagy 10.7 esetleg Gentoo Linux ajánlott, használatához szükség van Chez Scheme vagy Petite Chez Scheme telepítésére is. A nyelv a projekt weboldalán érhető el, a dokumentáció itt található.

A készítők szerint a Harlan jelenleg elsősorban kutatási eszköz, de rengeteget dolgoztak azon, hogy valóban használható legyen.

Kubernetes képzéseinket már közel 300 szakember végezte el. A nagy sikerre való tekintettel a tanfolyamot aktualizált tananyaggal június 18-án újra elindítjuk! A 8 alkalmas, élő képzés képzés órái utólag is visszanézhetők, és munkaidő végén kezdődnek.

a címlapról