[ cope.rs @ 18.08.2008. 13:52 ] @
http://www.nvidia.com/cuda

Baš me zanima šta mislite o CUDA?

Ja sam tek počeo da čitam Programming Guide jer nisam nikad radio u C-u...
[ Ivan Dimkovic @ 18.08.2008. 14:05 ] @
CUDA je NVidia-in pokusaj da od njihovih GPGPU cipova (G80, G92, itd...) napravi general-purpose platformu za procesiranje visokih performansi.

U teoriji, to znaci da se graficke kartice u PC racunarima mogu pretvoriti u vrlo jake superkompjutere, koji su u stanju da rade racunanje brzinom vecom od 1 TFLOPS-a, sto je vise puta brze od najbrzeg intelovog procesora..

U praksi, rezultati variraju - pre svega, sama CUDA arhitektura je vrlo ogranicena i da bi algoritmi imali punu brzinu, moraju biti vrlo specificno optimizovani za CUDA-u, i ne smeju da rade odredjene stvari koje ubijaju performanse. CUDA ima svoj kompajler, koji opet ima neka ogranicenja; a i sama arhitektura diktira vrlo striktan nacin pisanja koda sa ogromnom kolicinom stvari koje unose velike brzinske penale.

To cini celu arhitekturu ne tako univerzalnom, jer je opseg algoritama koji su upotrebljivi limitiran. Takodje, memorijski bandwidth je problem, jer CUDA zahteva ogromnu kolicinu podataka kako bi bila brza, a to takodje znaci dosta I/O bandwidth-a ka procesoru...

Naime, CUDA najbolje radi ako imate neku veliku 2D (ili 3D) povrsinu/prostor, gde jedna "kernel" funkcija radi procesiranje, tj. izvrsava jedan algoritam na toj povrsini. Ono sto ce CUDA uraditi je, startovace vas "kernel" na ogromnom broju threadova (>256), i ceo algoritam ce se izvrsiti za jako kratko vreme zbog ogromne paralelizacije.

Na primer, zamislite da hocete da dekodirate 4096x4096 (filmska rezolucija) AVC video - DCT na CUDA-i bi bio jako brz, jer bi u 4096x4096 bilo 256 makroblokova koji bi se procesirali sa DCT kernelom odjednom, na 256 simultanih niti.

U takvim slucajevima, CUDA blista... medjutim, kao sto se vidi, to je ogranicava na slicne slucajeve. Dodatni problem je sto svaki blok sa nitima ima zajednicku memoriju koja je relativno brza, ali ako postoji zavisnost izmedju blokova van tog opsega, placate jako skupe penale - to svaki algoritam koji ima prostornu medju-zavisnost cini jako tesko portabilnim na CUDA-u, zbog tih penala... Takodje, morate paziti kako adresirate memoriju, da ne granate previse i sl... dakle, dosta ogranicenja.

--

Sve ovo CUDA-u cini odlicnom za neka naucna istrazivanja, meteorologiju i sl... gde imate >ogromne< povrsine nad kojima izvrsavate neke transformacije / racunanja. Ali za neke druge algoritme, koji su vise bliski kucnoj upotrebi, pitanje je koliko je CUDA upotrebljiva.

Intel je, takodje, najavio svoj prodor u ovaj segment trzista, ali je njihovo resenje (Tera-scale / Larrabee) drugacije, i zasnivace se na malim x86-kompatibilnim jezgrima povezanim preko vrlo brze magistrale. Time ce se dobiti 32-64 jezgra na jednom procesoru, koji bi za SIMD/vektorske operacije imali slicne performanse kao na CUDA-i, ali bi bili manje ograniceni sto se algoritama tice... Mada, Intel bi morao da pozuri tu, jer ni NVidia ne spava :)
[ cope.rs @ 18.08.2008. 14:14 ] @
Dakle WOW!

Očekivao sam po neku informaciju ali OVAKO detaljan odgovor nisam ni sanjao da ću dobiti!!!

HVALA PUNO!!!
[ tosa @ 19.08.2008. 11:26 ] @
Žuri Intel i te kako, pokupili su dosta stručnjaka za optimizacije i grafiku u poslednje vreme...
[ cope.rs @ 19.08.2008. 12:19 ] @
Citat:
tosa: Žuri Intel i te kako, pokupili su dosta stručnjaka za optimizacije i grafiku u poslednje vreme...


Znaš onaj čuveni grafit Džaba ste krečili!
[ calimero @ 21.08.2008. 21:46 ] @
OpenCL
[ boodala2 @ 24.08.2008. 21:33 ] @
samo ću da kažem: car je go
a vi skontajte sami Šta to znači :)
[ gajic82 @ 31.01.2009. 19:59 ] @
i sta ustvari mi imamo od CUDA
[ cope.rs @ 31.01.2009. 20:07 ] @
Citat:
Ivan Dimkovic: CUDA je NVidia-in pokusaj da od njihovih GPGPU cipova (G80, G92, itd...) napravi general-purpose platformu za procesiranje visokih performansi.
Uz svo dužno poštovanje, CUDA nije pokušaj već kompletno i veoma uspešno rešenje koje se sada sve više i više širi na sve veći broj primena.
Citat:
gajic82: i sta ustvari mi imamo od CUDA
Pročitaj lepo šta je Ivan napisao. Ali ukratko, imaćeš mogućnost da za cenu dve-tri grafičke kartice dobiješ ono što se danas smatra super-kompjuterom.
[ jorganwd @ 02.02.2009. 09:16 ] @
http://code.google.com/p/pyrit/

Evo jedan projekat, prilicno zanimljiv za neke profile. Ono sto je interesantno na stranici jeste grafikon poredjenja. ;)
[ Ivan Dimkovic @ 02.02.2009. 20:51 ] @
Citat:

Uz svo dužno poštovanje, CUDA nije pokušaj već kompletno i veoma uspešno rešenje koje se sada sve više i više širi na sve veći broj primena.


Koliko je CUDA uspesno resenje, to je vec malo diskutabilna stvar - marketinski, svakako jeste uspesno ali sa stanovista nekog ucesca u trzistu, broj NVidia sistema prodatih za CUDA namenu je i dalje mizeran u odnosu na broj NVidia sistema prodatih za 3D pucacine. Stavise, u tom nekom HPC segmentu CUDA je tek zagrebala povrsinu.

CUDA, takodje, ima vrlo nezgodnih ogranicenja koja, po meni, predstavljaju veliki problem za neku siru adopciju doticne arhitekture. Medju tim ogranicenjima je neophodnost pisanja vrlo specificnih kernela, koji moraju biti izuzetno paralelizovani (znaci, 256 threadova i vise) + sta ti kerneli mogu da rade je vrlo diktirano ogranicenjima hardvera i jedna pogresna operacija na pogresnom mestu moze ubiti performanse i za red velicine.

Problem je sto nema bas toliko puno radne snage na trzistu dovoljno sposobne da prilagodi svoj stil kreiranja algoritama na nacin koji bi uvek radio na CUDA-i i to je nesto sto ce ih i te kako muciti u buducnosti. Mislim, za istrazivacke projekte i vrlo specificne aplikacije je lako - ali za nesto za siru upotrebu... jos nije tu.

Probaj da nadjes 10 sw. inzenjera koji su sposobni da masivno paralelizuju algoritme - masivno, znaci N stotina threadova bez nepotrebnih semafora/mutexa koji bi ih blokirali... Tough call, nije bas da sve vrvi od istih.

Mogu ljudima dati samo jedan savet - budite pazljivi kada citate marketinski materijal NVidia-e i Intela... sve u njemu je uvek sjajno i njihov produkt XYZ/tehnologija XYZ je sledeci big thing.. Od 100 "big thing-ova" otprilike 95 zavrsi na djubristu IT istorije.

Sta ce biti sa CUDA-om i/ili Intel Larrabee-om (koji jos i ne postoji ;-) - mislim da je jos jako rano da se definitivno kaze.
[ NicholasMetropolis @ 17.12.2009. 23:01 ] @
Citat:
Ivan Dimkovic:
Sta ce biti sa CUDA-om i/ili Intel Larrabee-om (koji jos i ne postoji ;-) - mislim da je jos jako rano da se definitivno kaze.


Da resurrectujem:

CUDA i GPGPU trenutno doživljavaju eksploziju primene u fizici. Imamo poplavu radova koaj se bavi implementacijom raznoraznih algoritama. Ja sada kući mogu na mom desktopu sa grafičkom karticom od 150€ da radim ono o čemu nisam mogao ni da sanjam pre šest meseci. Neki od mojih starih proračuna vezanih za kvantnu teoriju polja na rešetci koje sam reimplementirao u CUDA rade do 10 puta brže, a pri tome se nisam uopšte trudio oko optimizacije. Ljudi u radovima prijavljuju ubrzanja do 40 puta na GTX 260 u odnosu na neki besni QuadCore.

Edit:

Da se ispravim za ubrzanje, upravo videh neki rad koji prijavljuje ubrzanje od 100 puta.
[ Ivan Dimkovic @ 17.12.2009. 23:08 ] @
Yep,

Postoji "sweet spot" za GPGPU trziste, a tu upravo spadaju razne naucne simulacije, statistika, procesiranje ogromnih 2D/3D povrsina (satelitski imaging, geologija...) - tamo gde su algoritmi pogodni, ubrzanja mogu biti vise redova velicine. Opet, postoji i siroka klasa problema/algoritama koji su trenutno nepodsni za CUDA arhitekture mada videcemo sta ce nova generacija (Fermi) uraditi povodom toga.

Medjutim ono sto jos ostaje da se vidi je da li ce to biti dovoljno da NVidia-u drzi "afloat" ako ih Intel potpuno isece iz desktop-PC igre osim za high-end 3D kartice.

Opet, stvari se rapidno desavaju - FTC je bas pre koji dan otvorio vrlo ozbiljnu istragu protiv Intela (mada, i NVidia sa ATI-jem su bili predmet price-fixing istraga, cisto da ne bude da je Intel "bad guy" a ovi ostali nevinasca) sto moze stopirati Intel-ovu strategiju secenja NVidia-e kroz integraciju diskretne grafike u CPU die, ne-izdavanju licenci za QPI i sl.. Takodje, Intel je odlucio da baci Larrabee u smece (bar kao stand-alone proizvod) sto se vec duze vremena i ocekivalo - steta, konkurencija je nesto sto je uvek dobro ali je postalo ocigledno da Larrabee ne moze biti na nivou modernih NVidia / ATI resenja.

Moje misljenje je da NVidia nema sanse da prezivi samo na HPC+high-end 3D trzistu i da im i te kako treba laptop/mid-range desktop jer samo tako mogu da isplate R&D i da im se uopste isplati razvijanje cipova zbog kvantiteta. Intel je to ocigledno ukapirao, i zato se trude iz sve snage da dizajnom svog hardvera izbace NVidia-u iz jednacine.

Medjutim ta strategija je mac sa dve ostrice - FTC ce sigurno detaljno procesljati Intel, a to isto moze uraditi i EU koja ih je pre koji mesec rebnula sa najvecom kaznom u istoriji EU. Takodje, i NVidia moze sama razviti neke stvari koje mogu u nekom % istisnuti Intel iz izgre (netbook/MID/embedded segment sa Atom-om, NVidia je vec najavila svoj x86 core)

Sve u svemu, bice jako zanimljivo - CUDA je vrlo lepa tehnologija za nauku i bilo koju industriju gde je masivna paralelizacija potrebna. Nadajmo se samo da ce kompanija preziveti, jer samo od toga definitivno ne moze da zivi.
[ NicholasMetropolis @ 17.12.2009. 23:33 ] @
Ima to još nekih zanimljivih tržišta. CGI industrija: renderovanje je visoko paralelan proces i već su se pojavili rendereri koji rade produkcioni kvalitet skoro u realnom vremenu (npr. Furry Ball). Grafički dizajn: softver tipa Photoshopa, pošto je dosta operacija u rasterskoj grafici bazirano na manipulaciji orgomnim matricama.
[ Ivan Dimkovic @ 18.12.2009. 14:53 ] @
FTC je udario Intel i za pokusaj smanjenja GPU konkurencije:

Jako lep clanak

http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=3690

NVidia 9400M se pominje kao jedan od kljucnih konkurenata - a to je upravo ono o cemu sam i ja pricao: NVidia-i treba taj "jeftini" segment kako bi bila u stanju da odrzava sebe na ovom nivou na kome je danas.

Ova FTC istraga ce biti jako bitna za buducnost NVidia-e (zato je CEO NVidia-e pre neki dan i dao izjavu da ce ova istraga mozda promeniti izgled IT trzista)

Videcemo sta ce biti...

Citat:

As for the specific complaints:

1. Intel eliminated the future threat of NVIDIA’s chipset business by refusing to license the latest version of the DMI bus (the bus that connects the Northbridge to the Southbridge) and the QPI bus (the bus that connects Nehalem processors to the X58 Northbridge) to NVIDIA, which prevents them from offering a chipset for Nehalem-generation CPUs.
2. Intel “created several interoperability problems” with discrete CPUs, specifically to attack GPGPU functionality. We’re actually not sure what this means, it may be a complaint based on the fact that Lynnfield only offers single PCIe x16 connection coming from the CPU, which wouldn’t be enough to fully feed 2 high-end GPUs.
3. Intel has attempted to harm GPGPU functionality by developing Larrabee. This includes lying about the state of Larrabee hardware and software, and making disparaging remarks about non-Intel development tools.
4. In bundling CPUs with IGP chipsets, Intel is selling them at below-cost to drive out competition (given Intel’s margins, we find this one questionable. Below-cost would have to be extremely cheap).
5. Intel priced Atom CPUs higher if they were not used with an Intel IGP chipset.
6. All of this has enhanced Intel’s CPU monopoly.

The FTC believes that all of this will help Intel to establish a GPU monopoly. This is on top of all other effects of Intel’s actions, which are similar to the effects of their actions in the CPU market: driving up GPU prices, driving up GPU distribution costs, limited OEM differentiation, and limited GPU innovation.

[ flighter_022 @ 19.12.2009. 10:19 ] @
Pada mi na pamet neki custom-made, namenski, database server koji bi kompletnu bazu drzao u memoriji i izvrsavao upite sekvencijalno, suludom brzinom... mada opet, kome to treba...
[ mmix @ 19.12.2009. 23:31 ] @
Pa Irancima za simulacije vezane za a-bomb Zna se ko je, kad i zasto izmislio Monte Carlo metod

A to za FTC i Intel, to je bezorbazluk veliki. Intel je toliko narastao u sopstvenim ocima da vise ni ne gleda gde udara, da integrises GPU sa CPU i onda ga prodajes za manje para nego CPU bez GPUa, zar je moguce da su mislili da to niko nece primetiti? A cimka-cokolada sa Larabee-em je tek bezobrazna, u poredjenju sa Fermiem izgleda kao 8086 u prodjenju sa 486-om, i to se znalo vec neko vreme al opet je Intel trubio o tome znajuci da od toaga nema nista podrivajuci nvidiu tim izjavama.
[ milanvscg @ 05.05.2015. 20:03 ] @
gde se može naći "cuda c++ tutorial" srpski ili nešto za početnike
hvala na odgovoru
[ Texas Instruments @ 05.05.2015. 22:04 ] @
http://mups.etf.rs/vezbe/MPS%20-%20CUDA.pdf

To su neke osnove. Ali kad je u pitanju IT, počni da se navikavaš na englesku literaturu.