Kako je čip namenjen igračima postao toliko važan u računarstvu? Neki ljudi su mislili izvan ustaljenog okvira. Retko je videti procesor koji doživi veliki uspeh izvan područja za koje je bio namenjen, ali upravo to se desilo grafičkoj procesorskoj jedinici (GPU). Čip je prvobitno bio namenjen za ubrzanje grafike igrica i ni za šta više, sada napaja sve od Adobe Premier-a i baza podataka do računara visokih performansi (HPC) i veštačke inteligencije (VI). GPU se sada nudi na serverima svih velikih i nekih manje poznatih proizvođača opreme, ali ne služi za ubrzanje grafike. To je zato što je GPU u stvari džinovski matematički ko-procesor, koji se sada koristi za obavljanje računski intenzivnih zadataka koji se kreću od 3D simulacija do obrade medicinskih slika i do finansijskog modeliranja.
Poređenje GPU i CPU
Zbog njihovog dizajna za jednu svrhu, jezgra grafičkog procesora su mnogo manja od jezgara za procesore, tako da grafički procesori imaju na hiljade jezgara dok su procesori ograničeni na 32. Sa čak 5.000 jezgara dostupnih za jedan zadatak, dizajn je pogodan za teške paralelne obrade.
Gde god je aplikacija zahtevala paralelnu obradu, tu je uskakalo GPU računanje, rekao je Jon Peddie, predsednik kompanije Jon Peddie Research, koja prati grafičko tržište. „U prošlosti je paralelna obrada obavljana sa ogromnim brojem procesora kao što je x86, pa su oni bili vrlo skupi i teški za programiranje. GPU, kao namenski procesor koji ima jednu svrhu, nudi mnogo veću gustinu računanja i koristi se u mnogim zadacima za ubrzanje matematike „, rekao je on.
Aplikacije koje podržavaju GPU
Korišćenje GPU-a u centru za podatke počelo je sa vlastitim aplikacijama zahvaljujući jeziku CUDA koji je razvila Nvidia. CUDA koristi sintaksu sličnu jeziku C za pozivanje GPU-a umesto CPU-a, ali umesto da se pozove jednom, može se izvršiti paralelno na hiljade puta. Kako su se performanse GPU jedinica poboljšavale i procesori su se pokazali sposobni i za zadatke van igrica, pakovane aplikacije su počele da dodaju podršku za njih. Priključile su se stone aplikacije, poput Adobe Premier-a, ali takođe i aplikacije sa serverske strane, uključujući SQL baze podataka. GPU je idealno pogodan za ubrzavanje obrade SQL upita, jer SQL obavlja istu operaciju – obično pretraživanje – nad svakim redom u skupu. GPU može da napravi paralelne procese tako što svaki red podataka dodeli jednom jezgru.
Brytlyt, SQream Technologies, MapD, Kinetica, PG-Strom i Blazegraph svi u svojim bazama podataka nude analitiku ubrzanu GPU-om. Oracle je rekao da radi sa Nvidijom, ali ništa još ne izgleda čvrsto. Microsoft ne podržava GPU ubrzanje na SQL Serveru.
GPU-ovi i računarstvo visokih performansi (HPC)
GPU-ovi su takođe pronašli svoje mesto u HPC-u, gde mnogi zadaci poput simulacija, finansijskog modeliranja i 3D vizuelizovanja takođe dobro rade u paralelnom okruženju. Prema firmi Intersect 360, firmi za istraživanje tržišta koja prati HPC tržište, 34 od 50 najpopularnijih HPC aplikativnih paketa nudi GPU podršku, uključujući i svih 15 najviših HPC aplikacija. Ovo uključuje aplikacije iz hemije GROMACS, Gaussian i VASP, ANSYS i OpenFOAM za dinamiku fluida, Simulia Abaqus za strukturne analize i WRF za modeliranje vremena/okruženja.
„Verujemo da je GPU računarstvo dostiglo kritičnu tačku na HPC tržištu koje će podstaknuti nastavak povećanja optimizacije aplikacija“, rekli su analitičari u svom izveštaju.
Primeri GPU računarstva
Brzo rastuće tržište za GPU je VI i mašinsko obučavanje, jer su to veliki paralelni problemi. „Mnoga preduzeća i direktori vide kako za rešavanje svojih problema mogu da koriste duboko obučavanje. Neki tek isprobavaju; drugi su već u tome. Međutim, sada već važi za sve – ljudi vide kako duboko obučavanje može da im pomogne, a za sve važi da je potreban GPU server „, rekao je Sarosh Irani, direktor menadžmenta proizvoda za grupu GPU servera kod proizvođača hardvera Supermicro.
VI funkcioniše ako imate dovoljno uzoraka nečega o čemu pokušavate da postanete pametniji. VI sistem uči da prepoznaje nešto – kao što je izgled ćelije karcinoma – ali to zahteva puno podataka koje treba obraditi da bi se razlučilo dobro od lošeg. Kako se otkrivaju korelacije, mogu se kreirati algoritmi koji vode do analize. Na primer, italijanska energetska kompanija Eni i Stone Ridge Technology sa sedištem u Sjedinjenim Državama uspeli su da obrade modele naftnih nalazišta za manje od jednog dana umesto za deset. Koristeći 3.200 GPU-a NVIDIA Tesla i Stone Ridge softver ECHELON za simulaciju rezervi pomoću GPU-a, obrađeno je 100.000 modela nalazišta za oko 15 i po sati, a taj zadatak bi sa starim hardverom i softverom trajao deset dana. Svaki pojedinačni model simulirao je 15 godina proizvodnje na tom nalazištu u proseku za 28 minuta.
Modeliranje naftnih resursa nije mali zadatak. Nalazišta se mogu naći pomoću odbijanja zvučnih talasa sa površine Zemlje i traženja ehoa koji ukazuje na nalazište nafte. Zatim se reflektovani podaci o talasima pretvaraju u slike koje geolozi mogu da koriste da bi utvrdili da li ispitano nalazište sadrži ugljovodonike i gde se ugljovodonici nalaze unutar slike. Tako se utvrđuje da li se isplati bušiti naftu na tom nalazištu. Sve ovo zahteva veliku matematičku obradu, za koju su GPU-ovi specijalizovani.
GPU proizvođači: Nvidia i AMD
Kao za CPU-ove, GPU tržište je svedeno na dva igrača, Nvidia i AMD. U potrošačkom prostoru za igrice, koje je prilično nadmetničko, podela između njih je oko 60/40, sa Nvidijom u vodstvu, prema nalazu Jon Peddie Research.
Međutim, u centrima za podatke oni nisu čak ni blizu. Peddie izveštava da Nvidia ima 90 odsto udela prema 10 odsto za AMD. To je zato što Nvidia već preko dve decenije širi i podržava korištenje GPU-a u centrima podataka i drugim oblastima van igara.
GPU i CUDA programiranje
Početkom dvehiljaditih, neki istraživači iz Univerziteta Stanford počeli su da se udubljuju u programabilnu i paralelnu prirodu GPU-a. Nvidia ih je angažovala da naprave programski jezik CUDA koji bi omogućio programerima da pišu aplikacije u C ++-u koje bi za ubrzanje koristile GPU. „Nvidiji odajem veliko priznanje. Postigli su da se CUDA predaje na univerzitetima širom sveta, na stotine njih. Tako da, kada student diplomira, on je unapred obučeni CUDA programer i postavlja temelje za usađivanje jezika CUDA u industrije kakve znamo danas „, rekao je Peddie.
Jedan od profesora Stanforda u CUDA timu bio je Ian Buck, sada potpredsednik Nvidijine poslovne jedinice Accelerated Computing. Rekao je da je CUDA zamišljen da bude lak za učenje i korišćenje. „Svakoga ko je znao C ili Fortran, mogao sam da naučim CUDA za jedan dan. Uskoro smo shvatili da nema potrebe da se pravi ceo nov programski jezik koji zahteva od vas da učite nešto novo „, rekao je on. Tako se aplikacije koje već koriste procesore relativno brzo mogu paralelizovati. Glavna promena sa CUDA-om je da umesto da funkciju pozovete jednom, kao vrstu rutine, vi je pozovete hiljadama puta i svako jezgro je izvrši. Ali CUDA je samo za Nvidijine GPU-ove. Da biste programirali AMD-ov GPU, morate koristiti biblioteku zvanu OpenCL koja nema ni blizu onoliku podršku kao CUDA.
GPU-ovi su halapljivi za napajanje
GPU-ovi su snažna alternativa procesorima što se tiče sirovih performansi, ali postoji direktna veza između performansi i potrošnje energije, i uprkos Nvidijinim najboljim naporima, to dvoje ostaje povezano. GPU vuče snagu od 300 vati ili više. CPU ima u proseku 85 W. Za Supermicro, to znači da mora od nule da dizajnira proizvod koji će koristiti GPU-e. „Ako u sistem stavim GPU od 300 vati, možda neće biti dovoljno snage ili toplotnog kapaciteta. Sa osam GPU-ova, svakako je neće biti. Zato mi je potrebna namenska kutija oko njega „, rekao je Irani.
A ako imate centar podataka sa ograničenom snagom, to može biti problem. Nemaju svi luksuz da prave centre podataka veličine fudbalskog stadiona pored reke za hidroenergiju i hlađenje. Davidu Rosenbergu, naučniku u Bloombergu, dopada se kako grafički procesori mogu obračunske poslove koji bi na CPU-u trajali godinu dana da svedu na jedan vikend sa grafičkim procesorima. Ali on takođe često ima situacije u kojima jedan ceo kabinet ima samo jednu ili dve kutije grafičkih kartica, jer one troše svu snagu koju kabinet može da obezbedi.
„Mi stalno gledamo na napajanje“, rekao je. „Ako stavimo 500 GPU-a u centar podataka, mnogo drugih računara neće moći da bude tamo. GPU-ovi su za računanje koje pružaju efikasniji nego CPU-ovi. Stvar je u tome da oni rade mnogo više računanja od CPU-a, pa na kraju troše toliko snage. “
Izvor: IT World