Dom > Izložba > Sadržaj

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

Mar 12, 2019

Sve se češće koristi grafička procesna jedinica opće namjene (GPGPU) kao modificirani oblik procesora struje (ili procesor vektora), koji izvodi računalne jezgre. Ovaj koncept pretvara masivnu računalnu snagu suvremenog grafičkog akceleratora u cjevovod za uštedu energije u opće namjene računalne snage, za razliku od tvrdog ožičenja isključivo za grafičke operacije. U određenim primjenama koje zahtijevaju masivne vektorske operacije, to može donijeti nekoliko reda veličine veće performanse od konvencionalnog CPU-a. Dva najveća diskretna grafička kartica (vidi "Namjenske grafičke kartice"), AMD i Nvidia, počinju slijediti ovaj pristup s nizom aplikacija. I Nvidia i AMD udružili su se sa Sveučilištem Stanford za stvaranje GPU-baziranog klijenta za distribuirani računarski projekt Folding home, za izračunavanje preklapanja proteina. U određenim okolnostima GPU izračunava četrdeset puta brže od uobičajenih CPU-ova 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 općenito prikladni za računanje visokopropusnih tipova koji pokazuju paralelizam podataka za iskorištavanje široke SIMD arhitekture širine vektora GPU-a.


Nadalje, GPU-bazirana računala visokih performansi počinju igrati značajnu ulogu u modeliranju velikih razmjera. Tri od 10 najmoćnijih superračunala na svijetu koriste prednosti GPU ubrzanja.


GPU podržava API ekstenzije programskog jezika C, kao što su OpenCL i OpenMP. Nadalje, svaki dobavljač GPU-a predstavio je vlastiti API koji radi samo s karticama AMD APP SDK i CUDA iz AMD-a i Nvidije. Te tehnologije omogućuju određenim funkcijama koje se nazivaju kalkulacije izračuna iz normalnog C programa za izvođenje na stream procesorima GPU-a. To omogućuje C programima da iskoriste mogućnost GPU-a da radi na velikim međuspremnicima paralelno, dok još uvijek koristi CPU kada je to prikladno. CUDA je također prvi API koji omogućuje aplikacijama temeljenim na CPU-u izravan pristup resursima GPU-a za općenitije korištenje računala bez ograničenja korištenja grafičkog API-ja.


Od 2005. godine postoji zanimanje za korištenje performansi koje nude GPU-ovi za evolucijsko računanje općenito, a posebno za ubrzavanje ocjenjivanja sposobnosti u genetičkom programiranju. Većina pristupa kompilira linearne ili stablene programe na glavnom računalu i prenosi izvršnu datoteku na GPU koji će se pokrenuti. [68] Tipično prednost u performansama dobiva se jedino pokretanjem jednog aktivnog programa istovremeno na mnogim primjerima problema paralelno, koristeći arhitekturu GPU-a SIMD. [68] [69] Međutim, bitno ubrzanje može se postići i ne kompajliranjem programa, a umjesto toga prebacivanjem na GPU, da bi se tamo moglo interpretirati. Ubrzanje se tada može postići ili simultanim tumačenjem više programa, istodobno izvo enjem više primjera problema ili kombinacijom oba. Moderna GPU može istodobno interpretirati stotine tisuća vrlo malih programa.


Neki suvremeni GPU-ovi radne stanice, kao što su Nvidia Quadro radne stanice pomoću Volta i Turingovih arhitektura, imaju procesorske jezgre za aplikacije za dubinsko učenje temeljene na tenzoru. U Nvidijinoj trenutnoj seriji GPU-ova te se jezgre nazivaju Tensor Cores. Ovi GPU-ovi obično imaju značajno povećanje performansi FLOPS-a, koristeći umnožavanje i podjelu 4x4 matrice, što rezultira hardverskim performansama do 128 TFLOPS-a u nekim aplikacijama. Ove tenzorske jezgre također bi se trebale pojaviti u potrošačkim karticama koje pokreću Turingovu arhitekturu, a možda iu Navi seriji potrošačkih kartica tvrtke AMD.