NVIDIA CUDA 6: EGYSZERŰSÖDŐ PÁRHUZAMOS PROGRAMOZÁS

A CUDA 6 számos újítással és új fejlesztőeszközökkel érkezik, amelyek minden eddiginél egyszerűbb, hatékonyabb párhuzamos programozásra adnak módot.
Víg Ferenc (J.o.k.e.r)
Víg Ferenc (J.o.k.e.r)
2013. nov. 15. 9:01
Nvidia CUDA 6: egyszerűsödő párhuzamos programozás

Az Nvidia CUDA platformja egy fontos mérföldkőhöz érkezett, ugyanis bemutatkozott a 6-os kiadás, amelynek legfőbb előnye, hogy leegyszerűsíti a párhuzamos programozással kapcsolatos feladatokat, így gyorsan és hatékonyan kiaknázhatóvá válik a grafikus processzorokban rejlő hatalmas párhuzamos számítási teljesítmény - természetesen akár multi-GPU konfigurációk esetén is.

Galéria megnyitása

Az Nvidia legfőbb célja az új platform, illetve az új fejlesztőeszközök elkészítésénél az volt, hogy a fejlesztők számára egyszerűbbé tegye a tudományos, mérnöki, üzleti és egyéb alkalmazások GPU alapú gyorsításának megvalósítását.

A CUDA 6 legfontosabb tulajdonságairól az alábbi felsorolás ad képet:

[list type="unordered"]

[*]Unified Memory: Egységes memóriakezelés, ami egyszerűsíti az alkalmazások programozását, hiszen az alkalmazások a CPU és a GPU memóriaterületéhez egyaránt hozzáférnek, méghozzá úgy, hogy nincs szükség a különböző adatok egyik területről a másikra történő manuális átmásolására sem.

Ezzel az egységes memóriarendszerrel a programozók hozzáférhetnek bármelyik erőforráshoz vagy címhez a legális címtartományon belül, attól teljesen függetlenül, hogy az adott címhez tartozó adat valójában melyik tárban helyezkedik el, majd műveleteket is végezhetnek az adott cím tartalmán anélkül, hogy azt először kifejezetten át kéne másolni a megfelelő helyre (megteszi a fordító automatikusan a szükséges lépéseket).

A CUDA 6 Unified Memory rendszer tehát nem szünteti meg a sávszélesség korlátokat, a PCI-E busz késleltetése pl. megmarad, de a programozók dolga határozottan egyszerűbb lesz.

[*]Drop-in Libraries: Automatikusan felgyorsíthatóak az egyes alkalmazások BLAS és FFTW számításai, méghozzá akár nyolcszoros mértékben is. Ehhez csak ki kell cserélni a meglévő CPU könyvtárakat GPU gyorsítást használó megfelelőikre.

[*]Multi-GPU Scaling: Az átdolgozott BLAS és FFT GPU könyvtárak automatikus teljesítmény-skálázódást biztosítanak akár 8 GPU egy node-on belül történő alkalmazásakor is, így egyetlen node számára több, mint 9 TFLOP/s-os dupla pontosságú számítási teljesítmény válik elérhetővé.

[/list]

A CUDA 6 platform az új funkciók mellett számos hatékony fejlesztőeszközt is felvonultat, de emellett GPU gyorsítást használó matematikai könyvtárak és programozási segédletek is a fejlesztők rendelkezésre állnak a sikeres és eredményes munkavégzés érdekében.

A CUDAToolkit 6-os kiadása a dolgok jelenlegi állása szerint 2014 elején válik elérhetővé. Azok, akik már regisztrálták magukat a CUDA GPU Computing Developer Programba, a CUDA Toolkit 6-os verziójának megjelenésekor automatikus értesítést kapnak, így azonnal használatba vehetik az új fejlesztőeszközöket. Az említett programba itt lehet regisztrálni.

Hírlevél feliratkozás
A feliratkozással elfogadom a Felhasználási feltételeket és az Adatvédelmi nyilatkozatot.

15 hozzászólás

A komment írásához előbb jelentkezz be!
Zabalint
Zabalint
2013. nov. 17. 10:48
#10

rini:

Az OpenCL is szeretne betörni a professzionális területekre, csak éppen elkésett vele. A természettudományos akadémiai szférában már esélye sincsen kiszorítani a CUDA-t, mert ott jellemzően nyomós ok kell ahhoz, hogy technológiát váltsanak. Nem véletlenül támogatja a CUDA a Fortran nyelvet is...

Geries
Geries
2013. nov. 16. 11:38
#9

Én csak azt nem értem miért gondolják hogy jobb lesz a Mantle mint az OpenGL valaha? GL működik (szinte) minden platformon és GPUn, tehát portolhatóság szempontjából tökéletes, míg Mantle (eleinte) AMD-s PC-n (abból is gondolom csak Windows) meg AMD-s konzolon fog futni.. Ezen felül a GL eleve alacsony szintű API, ebből adódóan gyors is, AMDék meg ugyanezzel reklámozzák a Mantle-t?? Kétlem hogy alacsonyabb szintű APIt csinálnának mert az már elég erősen a használhatóság kárára mehet. GL-t már régóta használják az emberek, sokkal elterjedtebb, folyamatosan újul, ezzel szemben mit tud felhozni a Mantle? Így sok esélye nem lesz a Mantlenak, s valószínűleg eleinte egy igazi bughalmaz lesz..

DX is szerintem csak azért létezik mert az emberek alapvetően NEM szeretik az alacsony szintű APIkat, nyelveket használni, tehát egy játékot talán egyszerűbb DXre írni mint GLre, habár DXes(GLt is csak egy picit használtam) tapasztalatok híjján nem igazán tudok erről bármit is mondani.

rini
rini
2013. nov. 15. 22:08
#8

A Mantle alapvetően a Direktx ellenfele próbál lenni. Tehát főleg játékok fejlesztésénél lehet majd vele találkozni. Igaz, ezzel elég nagy fába vágta a fejszéjét az AMD is hiszen egy új direktívát kíván biztosítani a Dx mellé. Nem mellesleg ezt azért a játékgyártóknak is fel kell karolni és támogatni. Vannak is ilyen cégek akik ezt megteszik hiszen többen is bejelentették. Viszont ez azzal jár, hogy plusz melót is fel kell vállalniuk egy program elkészítéséhez mert ugyan annak a programnak egyenlőre támogatni kell a DX-et is. Ha nem teszik ezt akkor egy csomó kártyán nem fogják tudni futtatni az adott programot. Ez pedig egyértelműen azt jelenti, hogy kevesebb eladással kell számolniuk. Ezt viszont nem engedhetik meg maguknak, hacsak az AMD nem kárpótolja őket a kiesett bevételért vagy a többletmunkáért. Szóval azért ez nem lesz egy sétagalopp az AMD-nek a Mantlevel.

Csaber
Csaber
2013. nov. 16. 23:06

Nekem már nemfagy le 14-szer a játék 3 órán belül már csak kb 6-7 alkalommal , viszont a javítás óta 2 kört egymás után úgy , hogy nem lépek ki a szerverről nem igen lehet , mivel szépen belakja az összes memóriámat , mondjuk , én még ne panaszkodjak másnak a 16 GB mellett is megtörténik , amúgy nincs sok gond vele csak épp , fizettünk egy bétárt ...

tombar
tombar
2013. nov. 15. 20:19
#7

az opencl-t az nv tudatosan építi le, mivel a cuda közvetlen ellenfele. az ő érdekük csak annyi h elmondhassák h bipolár támogatásúak. am ha csak árnyékoltan nézzük is a dolgot, ha nem lenne benne effektív potenciál, már rég az nV törné legjobban magát h opencl-ben a legjobb legyen. nyilván van egyfajta rizikófaktor ebben az sdkban, viszont pont a zártsága miatt tud az adott speciális piacon ilyen jól szerepelni. természetesen konzumer piacon be kell áldozni az opencl-t h a zárt támogatásúak és egyben profithozó programok megmaradjanak. csak az a gond h ez vice versa működik és a tesztekből meg jön a pofon a piros oldalról.

5hR3kY
5hR3kY
2013. nov. 15. 18:15
#6

A CUDA ellenfele az AMD-s OpenCL, a Mantle az egy teljesen más dolog. Viszont a CUDA-nak nem sok jövőt jósolok, mert csak nVidia kártyán fut, ellenben az OpenCL az AMD, Intel és nVidia GPU-n is fut. :)

csoty
csoty
2013. nov. 15. 19:01

Nem sok jövőt jósolsz neki? Ahhoz képest elég sok helyen használják és jó pár éve él és virul :) És akár fordítva is nézhetjük: AMD-n csak OpenCL érhető el, míg nV-n CUDA és OpenCL is. Az tény hogy jobb OpenCL-ben az amd.

Humbuk
Humbuk
2013. nov. 15. 14:09
#5

csoty: Nyilván azok a feltételek lesznek csak Amd specifikusak :D

Mert nem tudnám elképzelni, hogy az Nv engedné, hogy 3rdparty programok hozzáférjenek alacsonyszinten a kártyáihoz.

On:

Örülök ennek a dolognak! Egy ideje érik már bennem, hogy neki kéne esni megtanulni programozni a CUDA-t, hiszen ez is benne volt a pakliban amikor karit választottam. Aztán meg ha már van, használni is kéne :)

rini
rini
2013. nov. 15. 13:01
#4

Tényleg össze akarjátok hasonlítani ezt a két programot? Mivel a kettőnek alapvetően köze sincs egymáshoz. Még a felhasználási területe is más a két csomagnak. A CUDA főleg a professzionális területre koncentrál " hogy a fejlesztők számára egyszerűbbé tegye a tudományos, mérnöki, üzleti és egyéb alkalmazások GPU alapú gyorsításának megvalósítását." Persze lehet használni másra is. Ezzel szemben a Mantle mint api másra koncentrál.

ncsicso
ncsicso
2013. nov. 15. 12:23
#3

:) Lesz egy nvidia karim a CUDA kihasználására, ami besegít a a többszálú futtatásban a CPU-nak (pl. fizika...), meg egy ATI a Mantle adta megjelenítési lehetőségek kihasználására...

Ha már az nvidia nem tud alternatívát kínálni a Mantle-nek - nem is kell alternatíva (mert széttöredezik a piac), hanem szégyentelenül használni kellene egy kompatibilis architektúra kidolgozásával, már ha a jogi vonatkozásokban meg tud egyezni az AMD-vel - legalább más irányban van hasznos fejlesztése.

Parano1d
Parano1d
2013. nov. 15. 11:57
#2

Éppen ellenkezőleg, ahogy a cikkben is írják az a célja, hogy "egyszerűbbé tegye a tudományos, mérnöki, üzleti és egyéb alkalmazások GPU alapú gyorsításának megvalósítását." Vagyis a nem grafikai feladatok programozását teszi egyszerűbbé, vagy hatékonyabbá.

A Mantle nem egyszerűbbé teszi a programozást, hanem inkább bonyolultabbá, mivel alacsonyabb hozzáférést biztosít a hardverhez. Nyilván emiatt hatékonyabb is lesz.

tibaimp
tibaimp
2013. nov. 15. 11:33
#1

Nem sok mindent értek belőle, de nekem a mantle api "ellenfelének" tűnik. Mondjuk nem baj, csak nehogy totál kettéágazzon a diszkrét vga piac a végén, ami fut amd, nem fut majd nvidán és vissza.

csoty
csoty
2013. nov. 15. 13:53

A mantle api nem GCN exkluzív lesz, sőt nem is AMD exkluzív. Bármi tudja majd használni ha a feltételek adottak.

Vissza az oldal tetejére