iPon Hírek

OpenACC: új párhuzamos programozási szabvány

Dátum | 2011. 11. 17.
Szerző | J.o.k.e.r
Csoport | SZOFTVER

Az Nvidia, a Cray, a PGI és a CAPS bejelentették, hogy új párhuzamos programozási szabványt kínálnak, amellyel a programozók minden eddiginél egyszerűbben készíthetnek majd olyan ütőképes alkalmazásokat, amik képesek a hatalmas párhuzamos teljesítményt kínáló eszközökből egyszerűen, hatékonyan profitálni.

Az új szabvány az OpenACC nevet kapta. Ezt a szabványt eredetileg a PGI, a Cray és az Nvidia közösen fejlesztették, de most támogatás érkezik a CAPS-tól is, ami új lendületet adhat a szabványnak. A nyílt szabvány legfőbb célja, hogy a tudományos és technikai programozók milliói könnyedén kiaknázhassák a heterogén CPU/GPU rendszerekben rejlő lehetőségeket, illetve teljesítményt.

Az OpenACC segítségével a párhuzamos programozás könnyen elvégezhető: a fejlesztőknek csak egyszerű „megjegyzéseket” – direktívákat – kell elhelyezniük a programkódban, így a fordító szoftver „tudni  fogja”, melyek azok a részek, amelyeket gyorsítani kell. Ezzel a módszerrel egyszerűen kiaknázhatóak a párhuzamos programozás által kínált előnyök, az eredeti programkódot pedig nem kell komolyan átalakítani, ami nagy segítség.


Azáltal, hogy a programozók a fordító számára megmutatják, mely részek párhuzamosítására van szükség, a direktívák alapján a fordító hatékonyan hozzárendelheti a gyorsítóhoz az adott számítási feladatokat. Maga a szabvány rengeteg féle programozónak segítheti a munkáját, így az OpenACCben rejlő lehetőségeket a kémia, a biológia, a fizika, az adatelemzés, az időjárás- és klímakutatás és sok más egyéb területen is kamatoztatni lehet.

A Cray, a PGI és a CAPS meglévő fordítói elsőként 2012 első negyedévében kínálnak majd kezdeti támogatást az OpenACC szabványhoz. Az OpenACC szabvány tökéletesen kompatibilis az Nvidia CUDA architektúrájával és zökkenőmentesen együtt is tud működni vele, ami szintén jó hír.

Maguk a direktívák egy egységes kódbázist biztosítanak a programozók számára, ami több platformmal, valamint több gyártó termékeivel is kompatibilis. A meglévő alkalmazások esetében így könnyedén át lehet térni a párhuzamos számítási technológia használatára, ezáltal a korábbi befektetések nem vesznek kárba.

A legfrissebb adatok szerint a fejlesztők többsége kétszeres és tízszeres közötti teljesítménynövekedésről számolt be az egyes alkalmazások esetében a direktíva alapú fordítók használatának köszönhetően.

Az OpenACC szabvánnyal kapcsolatban további információk itt találhatóak. Az OpenACC szabvány egyébként nagyrészt a PGI és a Cray gyorsító programozási modelljeire támaszkodik.

Az OpenACC technológia iránt érdeklődő fejlesztőknek az egyhónapos időtartamú ingyenes kipróbálási lehetőségért az Nvidia weboldalára kell ellátogatniuk - ami egyelőre nem érhető el -, de fordulhatnak egyenesen a Cray-hez is.

Új hozzászólás írásához előbb jelentkezz be!

Eddigi hozzászólások

13. Terror
2011.11.17. 16:59
...és most, hogy már abszolúte mindenkinek van saját platformja, és egyik sem kompatibilis a másikkal, kezdődhet az igazi buli.
 
Válasz írásához előbb jelentkezz be!
12. prohlep
2011.11.17. 17:00
KOMOLYTALAN.

Komolytalan, ha nincs benne az OSSZES komoly GPU gyarto.

Szabvany a POSIX, csak eppen a MicroSoft nem tud rola.

Szabvany a Win7 authentifikacios/profile rendszere, csak eppen jogilag ki van zarva belole a szabad vilag.

Komolytalan dolog haboruzni, ... azt a kisgyerekek is tudnak a jatszoteren.

Irak elleni obol haborurol is azt mondjak, hogy sok katonai baromsagot elkovettek ott, de az amerikai gyerekekbol felnott amerikai katonak egy dolgot nagyon nagy hatekonysaggal tudtak csinalni: GYILKOLNI. Mert arra jol kikepeztek az amerikai gyermek-jatekok.

Sokkal komolyabb dolog a beke. Ahhoz emberi erettseg kell.
 
Válasz írásához előbb jelentkezz be!
11. Blero3311
2011.11.17. 17:45
A béke egy gazdaságilag nem hatékony állapot.. (és mivel tudjuk hogy senki sem hajtja a pénzt, és senki sem a maximális profitra törekszik... stbstb)
 
Válasz írásához előbb jelentkezz be!
10. carraroxt
2011.11.17. 18:19
prohlep Respect! De szép is volna...
 
Válasz írásához előbb jelentkezz be!
9. isx
2011.11.17. 19:27
Huh, ez annyira open, hogy menj el egy honlapra, csináld ezt-azt és 30, aza harminc napig ingyen ki is próbálhatod. Aha, tényleg.
 
Válasz írásához előbb jelentkezz be!
8. sanyix
2011.11.17. 21:13
Grat az nvidia megint egy lépést tett a fejlődés visszafogása felé... de már megszokhattuk.
 
Válasz írásához előbb jelentkezz be!
7. Juliska
2011.11.17. 22:39
Szóval rakok pár direktívát a C++ programomba, és azt az OpenACC-t ismerő fordító GPU-ra szabja? Mi garantálja, hogy a kód hatékonyan használja ki a GPU-t? Vagy ez nem garantált? Ha nem, akkor miért írják a FAQ-ba, hogy változatlanul lehet hagyni az eredeti kódot? Szerintem nem elég itt direktívát adni, át is kell írni még a kódot. Csak a lustáknak lesz ez hasznos.
 
Válasz írásához előbb jelentkezz be!
6. hEngi
2011.11.18. 00:17
El nem tudom képzelni hogy ez lehetséges. Vagy hogy teljesen triviális eseteken kívül lehetne használni. Bla bla programozok azt mondták hogy gyorsabb bla bla... De mikor vagy honnan tudná maga a fordító h mikor és milyen módon lehet a programomat párhuzamosítani... Ha az ilyen egyszerű lenne nem kéne évekig tanulni... Sztem bizony ez egy nagy kaki egy csinos masnival átkötve..
sztem...
 
Válasz írásához előbb jelentkezz be!
5. Flegeton
2011.11.18. 08:27
fos!
Már most is lefojtották a programozásban rejlő potenciált. Elérték hogy minden össze vissza, de mégis egy jól megadott szabványokba fürödjön és így minden lehetőséget kiöltek az egyedi kódokból. Ami ugye a fejlődést jelenti.
 
Válasz írásához előbb jelentkezz be!
4. Juliska
2011.11.18. 10:34
hEngi: Pont ez az érzésem nekem is. El tudom képzelni, hogy működik, de kizárt, hogy változatlan kóddal hatékony.
 
Válasz írásához előbb jelentkezz be!
3. rini
2011.11.18. 13:41
Nem értelek benneteket. Ez az API arra szolgál, hogy még nagyobb hatékonyságot lehessen elérni az ilyen jellegű programozásban. Nem egy teljesen új dologról van szó. Eddig is létezett de a hatékonysága nem volt tökéletes. Talán emlékeztek, hogy nemrégen volt hír arról, hogy Spanyolországban épül a Cray Titán néven ismert szuperszámítógépe. Az OpenACC elsősorban ehhez készül de pont ezáltal a HPC piacon is szeretnék elterjeszteni. Ennek a programnak vagy API-nak pont az a célja, hogy ennek a szuperszámítógépnek a programozását szeretnék vele megkönnyíteni.
 
Válasz írásához előbb jelentkezz be!
2. Warpath
2011.11.18. 18:16
Jól sejtettem, hogy Nvidia emblémás hírnél lesz néhány rosszindulatú megjegyzés. Kell ilyen API is, ha nem akarod hát nem használod fel.
 
Válasz írásához előbb jelentkezz be!
1. thedevelop...
2011.11.20. 07:05
Úgy látszik, sokan nem vettetek még részt nagyobb project-ek megvalósításában. Tegyük fel, hogy egy nagy, több komponensből álló szoftvert kellene párhuzamosítani. A komponensek egy része zárt forráskódú.
A kód egy részét nem szabad módosítani, mert olyan licence alatt áll.
És ha ez mind nem lenne elég, akkor hozzá jön még az is, hogy az egész forráskód több százezer sorból áll.

Elég nyilvánvaló, hogy határidős munka esetén ezt képtelenség az elejéről újraírni (esetleg egy új branch keretén belül, hosszú évek során).
Tehát maradnak az ilyen rapid megoldások. Egyszerű és kényelmes. A tárgykód kihasználja majd valamennyire a párhuzamosítás előnyeit, igaz, nem minden hardveren.
Ez is több, mint a semmi.

Egyébként ez a direktívás technika már régóta létezik (pl.: OpenMP)
 
Válasz írásához előbb jelentkezz be!