info@panadisplay.com
Obrada grafičke tehnologije Intel grafike i GPU-ovi opće namjene (GPGPU)

Obrada grafičke tehnologije Intel grafike i GPU-ovi opće namjene (GPGPU)

Mar 12, 2019

Sve se češće koristi grafička procesorska jedinica opće namjene (GPGPU) kao modificirani oblik stream procesora (ili vektorskog procesora), koji izvodi računalne jezgre. Ovaj koncept pretvara masovnu računsku snagu shader-a za shader modernog grafičkog ubrzivača u računsku snagu opće namjene, za razliku od toga da je teško ožičena isključivo za grafičke operacije. U određenim aplikacijama koje zahtevaju masivne vektorske operacije, to može doneti nekoliko reda veličine veće performanse nego konvencionalni CPU. Dva najveća diskretna grafička kartica (vidi "Dedicated grafičke kartice") grafički procesori, AMD i Nvidia, počinju ovaj pristup sa nizom aplikacija. I Nvidia i AMD udružili su se sa Stanford univerzitetom kako bi kreirali GPU-baziranog klijenta za Folding home distribuirani računarski projekat, za izračunavanje preklapanja proteina. U određenim okolnostima GPU izračunava četrdeset puta brže od konvencionalnih procesora koji se tradicionalno koriste takvim aplikacijama.


GPGPU se može koristiti za mnoge vrste neugodno paralelnih zadataka, uključujući praćenje tračnica. Oni su uglavnom pogodni za računanje visokopropusnih tipova koji pokazuju paralelizam podataka kako bi se iskoristila široka SIMD arhitektura širine vektora GPU-a.


Osim toga, GPU bazirani računari visokih performansi počinju igrati značajnu ulogu u modeliranju velikih razmjera. Tri od 10 najmoćnijih superračunara na svijetu koriste prednosti GPU akceleracije.


GPU podržava API ekstenzije programskog jezika C, kao što su OpenCL i OpenMP. Štaviše, svaki GPU proizvođač je predstavio svoj API koji radi samo sa njihovim karticama, AMD APP SDK i CUDA iz AMD-a i Nvidije. Te tehnologije dozvoljavaju određenim funkcijama koje se nazivaju kalkulacije izračunavanja iz normalnog C programa za pokretanje na stream procesorima GPU-a. Ovo omogućava C programima da iskoriste mogućnost GPU-a da radi na velikim baferima paralelno, dok još uvek koristi CPU kada je to prikladno. CUDA je takođe prvi API koji omogućava da aplikacije bazirane na procesorima direktno pristupaju resursima GPU-a za računanje općenitijih namjena bez ograničenja upotrebe grafičkog API-ja.


Od 2005. godine postoji interes za korišćenje performansi koje nude GPU-ovi za evolutivno računanje uopšte, a posebno za ubrzavanje ocenjivanja sposobnosti u genetičkom programiranju. Većina pristupa kompilira linearne ili stablo programe na glavnom PC-u i prenosi izvršnu datoteku na GPU koji će se pokrenuti. Obično se prednost u performansama postiže jedino pokretanjem jednog aktivnog programa istovremeno na mnogim primjerima problema paralelno, koristeći SIMD arhitekturu GPU-a. [68] [69] Međutim, bitno ubrzanje može se postići i ne kompajliranjem programa, i umjesto toga prebacivanjem na GPU, da bi se tamo interpretiralo. Ubrzanje se zatim može dobiti ili simultanim tumačenjem više programa, istovremeno pokretanjem više primjera problema ili kombinacija oba. Moderni GPU može istovremeno interpretirati stotine tisuća vrlo malih programa.


Neki moderni GPU-ovi radne stanice, kao što su Nvidia Quadro radne stanice s Volta i Turingovim arhitekturama, odlikuju procesorske jezgre za aplikacije za duboko učenje temeljene na tenzoru. U Nvidijinim trenutnim serijama GPU-ova ove jezgre se nazivaju Tensor Cores. Ovi GPU-ovi obično imaju značajno povećanje performansi FLOPS-a, koristeći umnožavanje i deljenje 4x4 matrice, što rezultira hardverskim performansama do 128 TFLOPS-a u nekim aplikacijama. Ove tenzorske jezgre se također pojavljuju u potrošačkim karticama koje pokreću Turingovu arhitekturu, a možda iu Navi seriji potrošačkih kartica tvrtke AMD.