PDA

View Full Version : NVIDIA CUDA - GPGPU la cel mai inalt nivel



matose
19-11-2008, 12:54
"Mult timp am auzit expertii IT vorbind de puterea imensa a unui procesor grafic modern (GPU) comparativ cu cea a unui procesor (CPU) dar pana acum nu am putut realiza o comparatie directa intre cele doua unitati de calcul. Odata cu introducerea de catre NVIDIA a tehnologiei CUDA putem folosi GPU-ul pentru diferite activitati care necesita putere de calcul foarte mare. Conceptul de GPGPU (General-Purpose computation on GPUs) nu este nou, el avand cateva implementari destul de primitive inca de acum multi ani. La acel timp neexistand procesoarele complet programabile din prezent, dezvoltatorii erau limitati la folosirea numai a unor functii cum ar fi rasterizarea si Z-Buffering. O data cu aparitia shaderelor au fost dezvoltate aplicatii de accelerare a matricilor. Cel mai cunoscut compilator din acele timpuri este BrookGPU care a fost creat pentru calculul pe GPU fiind bazat pe limbajul de programare Brook.
CUDA (Compute Unified Device Architecture) este un compilator si un set de dezvoltare al programelor menite sa ruleze pe GPU-urile NVIDIA. Limbajul de programare folosit este limbajul C cu un set de extensii aditional, deci preia atat avantajele cat si dezavantajele acestuia. Principalul avantaj si cel mai important este simplitatea si raspandirea acestui limbaj printre programatori, fapt ce usureaza foarte mult dezvoltarea de noi aplicatii CUDA. Elaborarea unui nou limbaj ar fi fost pe cat de costisitoare, pe atat de greu de implementat."

Articolul complet poate fi citit pe Lab501 (http://lab501.ro/placi-video/nvidia-cuda-gpgpu-la-cel-mai-inalt-nivel).

lucassp
19-11-2008, 14:49
Putin prea optimist articolul :P Oricum un lucru e sigur: primul pas s-a facut.

Comparatia in Folding@Home nu e prea corecta prin prisma faptului ca WU-urile pentru GPU sunt diferite de cele pentru CPU.

Cei de la Pegasys s-au laudat cu suportul CUDA aproape de un an de zile, si tot ce au reusit sa faca sunt niste filtre. TMPGEnc nu foloseste CUDA la encodare ci doar la decodare (doar MPEG1/2), pentru acces la VP2, si la randare/filtrare.

Niste screenshot-uri din rezultatele Badaboom si Handbrake (x264) ne-ar ajuta mai mult sa ne facem o parere despre cat poate Badaboom. Oricum e destul de limitat dar e un inceput :).

CUDA va avansa foarte incet datorita API-ului greoi. Sunt foarte curios cum o sa se comporte Larrabee cand va aparea pe piata. Spre exemplu cei de la Avail Media (creatorii unei parti foarte mari din x264) au avut de ales intre a optimiza x264 pentru CUDA sau de a-l adapta pentru FPGA-uri. In final au ramas la FPGA-uri...si asta spune multe despre modelul de programare din CUDA.

Daca post-ul meu a fost prea critic, va rog sa ma corectati :D

Monstru
19-11-2008, 14:51
Doamne cat a avansat industria....Ma gandesc la un sigur lucru....SFX-urile pentru Lord Of The Rings (toate trei episoadele) au fost randate pe ~3000 de procesoare, de-a lungul unui an, 24/24. Fluxul de date a fost ceva de genul 6PB...randati intr-un an...Cand ma gandesc la faptul ca poti folosi u cluster bazat pe Tesla ca sa faca acelasi lucru la o cincime din bani, de 'nspe ori mai repede, fara a consuma cat un oras....imi dau seama ca Nvidia si-a facut intrarea maiestuos intr-un domeniu poate nu la fel de mediatizat ca jocurile pe PC si lansarile de placi video, dar de 100 de ori mai important din punct de vedere financiar. Practic, cat de curand vom asista la filme randate pe asa ceva sau institute de cercetare care vor folosi asemenea componente in loc de ferme de calculatoare. Great job!

lucassp CUDA si optimizarile pentru home-user sunt doar varful unui iceberg monstruos care vizeaza acapararea cotei majoritare din piata aplicatiilor industriale gen randari pentru Hollywood sau inlocuirea clustere-lor din institutele de cercetare. De ce crezi ca Intel dezvolta Larrabee? Pentru ca le este amenintata una dintre cele mai importante susre de venit...Si asta spune multe despre Nvidia si CUDA ;)

lucassp
19-11-2008, 15:09
Larrabee are un avantaj major cel putin pe hartie: nuclee x86 :) Si nu doar Intel se vrea a fi un jucator pe piata HPC, ci si AMD prin mult mai primitivul Stream, si IBM/Toshiba cu al lor CELL care pe PC se va materializa in Leadtek WinFast PxVC1100 (un CELL fara nucleul PPC si doar cu 4 SPE-uri).

Daca DX11 si OpenCL vor face lucrurile mai simple pentru programatori chiar nu vad niciun motiv ca marea majoritate a aplicatiilor usor paralelizabile sa beneficieze de suport GPGPU.

Artanis
19-11-2008, 15:09
Poate ca nici ATI nu ar trebui neglijati in chestia asta, si ei GPU-uri performante, si un proiect indraznet si inedit in fata: fusion.

lucassp
19-11-2008, 15:13
Poate ca nici ATI nu ar trebui neglijati in chestia asta, si ei GPU-uri performante, si un proiect indraznet si inedit in fata: fusion.

Cu atat mai mult cu cat exista deja un precedent (de care vorbeam si mai sus): CELL. Fusion seamana foarte mult cu CELL cel putin in privinta multiprocesarii asimetrice. CELL a avut aceleasi probleme ca si CUDA in momentul de fata: SDK/API greoi, care a fost criticat in multe randuri.

Monstru
19-11-2008, 15:13
ATI nu sunt eglijati deloc, ideea e destul de simpla. Proiectul Nvidia e gata, cel ATI nu. Asta din punct de vedere profesionist. Ca o parere personala...daca astept dupa ATi sa scrie un software calumea...haha.....mai dureaza :)

matose
19-11-2008, 16:55
Niste screenshot-uri din rezultatele Badaboom si Handbrake (x264) ne-ar ajuta mai mult sa ne facem o parere despre cat poate Badaboom. Oricum e destul de limitat dar e un inceput :).

Ce anume screenshot-uri te-ar interesa? Articolul nu vizeaza Badaboom in principal asa ca nu am exagerat cu screenshoturile.

Dragos Saraolu
19-11-2008, 20:04
Bravo matose, vezi ca se poate mai mult text intr-un articol, nu 3 randuri si 3 grafice.

Monstru
19-11-2008, 20:17
Asta ma gandeam si eu, chiar a scris foarte frumos domnul matose, imi place :D

burebista
19-11-2008, 21:12
Eu am zis sa ma abtin ca dupa aia i se urca la cap. :P

Boggy
20-11-2008, 01:38
http://xtreview.com/addcomment-id-4939-view-Nvidia-vs-Intel-RapiHD-technologies.html

http://www.youtube.com/watch?v=8C_Pj1Ep4nw

radusim
27-11-2008, 12:33
a fost implementata tehnologia cuda pe noile tesla din cate stiu eu. corectati-ma daca gresesc