Grafički procesor

S Wikipedije, slobodne enciklopedije
Jump to navigation Jump to search
Za proširujuću karticu koja sadrži grafički procesor, pogledajte Grafička kartica.
Komponente[mrtav link] GPU-a

GPU, grafička procesorska jedinica ili grafički čip (engleski: Graphics Processing Unit, ponekad i Visual Processing Unit ili VPU) jest specijalizirano elektroničko kolo dizajnirano za efikasno stvaranje slika u video bufferu (memorijsko spremište koji sadrži bitmapirane kadrove) koje su namijenjene za prikazivanje na nekom izlaznom uređaju. Grafički procesori se koriste u ugrađenim sistemima, mobilnim telefonima, ličnim računarima, radnim stanicama i igraćim konzolama. Moderni grafički procesori su vrlo efikasni u baratanju sa računarskom grafikom i obradom slika. Visoko paralelna struktura grafičkog čipa čini ih efikasnijima od centralnih procesorskih jedinica opće namjene (CPU) za algoritme koji paralelno obrađuju velike blokove podataka. U ličnom računaru GPU može biti prisutan na grafičkoj kartici ili ugrađen na matičnu ploču. U većini savremenih CPU-a, grafički čip je već ugrađen u njegovu poluprovodničku matricu.[1]

Izraz "GPU" je prvi put koristio Sony za svoj PlayStation iz 1994. godine. Izraz je popularizovan 1999 sa Nvidia GeForce 256 koji je predstavljen kao "prvi GPU na svijetu".[2] Predstavljen je kao "procesor na jednim čipom sa integrisanim pogonom za transformaciju, sječenje, osvjetljenje (T&L) i renderiranje".[3] ATI Technologies je koristio svoj termin "jedinica za vizuelnu obradu" ili VPU sa izdavanjem Radeon 9700, 2002. godine.[4]

Prvi grafički čipovi su imali primitivne operacije kojima se iscrtavanje trouglova, krugova i uglova izvršavalo mnogo brže, što ujedno znači da je glavni procesor oslobođen i ne mora izvršavati te operacije što rezultira ukupno većom brzinom sistema. Svi noviji čipovi imaju podršku za obrađivanje jednostavnih i naprednih 3D i video operacija.

Historija[uredi | uredi izvor]

Također pogledajte: Sprajt (računarska grafika)
S3[mrtav link] Grafika VIRGE

Arkadne sistemske ploče su koristili specijalizovane grafičke čipove još od 1970-ih. Fujitsuov MB14241 video mjenjač korišten je za ubrzavanje crtanja sprajtova za razne arkadne igre Taita i Midwaya iz 1970-ih, kao što su Gun Fight (1975), Sea Wolf (1976) i Space Invaders (1978).[5][6][7] Namco Galaxian arkadni sistem iz 1979. godine koristio je specijalozvani grafički hardver koji podržava RGB boju, raznobojne sprajtove i tilempa pozadine. [8] Galaxian hardver je bio jako popularan tokom zlatnog doba arkadnih video igara, za kojeg su radili igre razni proizvođači kao Namco, Centuri, Gremlin, Irem, Konami, Midway, Nichibutsu, Sega i Taito.[9][10]

NEC µPD7220 je bio prva implementacija PC grafičkog procesora kao LSI čip. BIo je je najpoznatiji GPU sve do sredine 1980-ih. Korišten je u velikom broju grafičkih kartica. 1986, Texas Instruments je objavio TMS34010, prvi potpuno programabilni grafički procesor.[11] Mogao je pokrenuti kod opće namjene, ali imao je poseban skup namijenjen za grafiku. Između 1990 i 1992. ovaj će čip postati osnova Windows akceleratorskih kartica "TIGA".

Godine 1988. predstavljene su prve namjenske poligonalne 3D grafičke ploče u arkadnim sistemima Namco System 21[12] i Taito Air System.[13] IBM-ov standard za video grafički niz (VGA) predstavljen je 1987. godine, i imao je maksimalnu rezoluciju od 640×480 piksela. U novembru 1988. godine, NEC Home Electronics najavio je stvaranje Udruženja za standarde video elektronike (VESA) za razvoj i promociju Super VGA (SVGA) standarda kao nasljednika. Super VGA je imao rezoluciju do 800x600 piksela.[14] 1991. godine S3 Graphics predstavio je S3 86C911.[15] 86C911 je bio uticajan, i mnogi su slijedili njegov primjer, pa su do 1995. godine svi veliki proizvođači grafičkih čipova PC-a su svojim čipovima dodali podršku za 2D ubrzanje.[16][17] Tokom 1990-ih, 2D ubrzanje GUI-a nastavilo se razvijati. Dodatni aplikativni programski interfejsi (API) su predstavljeni za različite zadatke, poput Microsoftove WinG grafičke biblioteke za Windows 3.x, i kasnijeg DirectDraw interfejsa za hardversko ubrzanje 2D igara u sistemu Windows 95 i novijim.

Grafička kartica Hercules 3D Prophet sa GeForce 256 grafičkim čipom.

Početkom i sredinom 1990-ih, 3D grafika u stvarnom vremenu postala je sve češća u arkadnim, računarskim i konzolnim igrama. Rani primjeri 3D grafičkog hardvera za masovno tržište bili su arkadni sistemi Sega Model 1, Namco System 22 i Sega Model 2, kao i igraće konzole 5 generacije kao što su Sega Saturn, PlayStation i Nintendo 64. Arkadni sistemi kao što su Sega Model 2 i Namco Magic Edge Hornet Simulator 1993. godine bili su sposobni za hardverski T&L (transformacija, sječenje i osvjetljenje) godinama prije nego što su se pojavili na potrošačkim grafičkim karticama.[18][19] Neki su sistemi koristili DSP-ove za ubrzanje transformacija.

U svijetu PC-a prvi pokušaji jeftinih 3D grafičkih čipova su bili neuspješni, kao što su su S3 ViRGE, ATI Rage i Matrox Mystique. Ovi čipovi su u osnovi bili samo 2D ubrzivači prethodne generacije sa naknadno dodanim 3D karakteristikama. OpenGL se pojavio početkom 90-ih kao profesionalni API za grafiku, ali prvobitno nije imao zadovoljavajuće performanse, što je omogućilo da Glide API bude dominantan na PC platformi krajem 90-ih.[20] Međutim, vremenom je OpenGL postao standardan kada je prevazišao svoje početne probleme. DirectX je postao popularan među programerima Windows igara tokom kasnih 90-ih.

Nvidia GeForce 256 (poznata i kao NV10) bila je prva kartica na potrošačkom tržištu koja je imala T&L hardversko ubrzanje. Nvidia je bila i prva koja je napravila čip sposoban za programiranje shadera, GeForce 3 (NV20). Korišten u Xbox konzoli, takmičio se sa PlayStationom 2 (koji je koristio prilagođeni DSP za hardversku obradu verteksa). U oktobru 2002 ATI je predstavio Radeon 9700 (R300) koji je bio prvi Direct3D 9.0 ubrzivač.[21]

Sa Nvidia GeForce 8 serijom počeo je trend prema generičkom stream procesiranju, što je od grafičkog čipa stvorilo općenitiji računski uređaj. Danas paralelni GPU-ovi ulaze u domen koji je nakada pripadao samo centralnim procesorima, i njihovo korištenje u poljima mašinskog učenja, linearne algebre,[22] statistike,[23] 3D rekonstrukcije itd. pripada polju Općenitog računanja na GPU (GPGPU - General Purpose Computing on GPU). GPGPU bio preteča onoga što danas nazivamo računarskim shaderima (npr. CUDA, OpenCL, DirectCompute).

Računske funkcije[uredi | uredi izvor]

Moderni GPU-ovi koriste većinu svojih tranzistora za izračune povezane sa 3D računarskom grafikom. Pored 3D hardvera, današnji GPU-ovi uključuju osnovne 2D mogućnosti ubrzanja i framebuffer. GPU-ovi su u početku korišteni za ubrzavanje mapiranje tekstura i prikazivanja poligona, kasnije dodavanjem jedinica za ubrzanje geometrijskih izračuna poput rotacije i prevođenja verteksa u različite koordinatne sisteme. Najnovija dostignuća u grafičkim čipovima uključuju podršku programibilnih shadera koji mogu baratati verteksima i teksturama pomoću mnogih istih operacija podržanih od CPU-a, tehnikama oversamplinga i interpolacije radi smanjenja aliasinga i vrlo preciznih prostora boje. Pošto većina tih računanja uključuje matrične i vektorske operacije, inženjeri i naučnici sve češće su razmatrali upotrebu GPU-a za negrafičke proračune.

Pojavom dubokog učenja (deep learning) povećao se značaj GPU-a. U istraživanju koje je proveo Indigo, ustanovljeno je da treniranje neuronske mreže GPU-ovi mogu biti 250 puta brži od CPU-a. Eksplozivni rast Dubokog učenja posljednjih godina pripisan je nastanku GPU-a opće namjene.[24]

Grafički ubrzano dekodiranje videa[uredi | uredi izvor]

Većina GPU-a napravljenih od 1995. podržava YUV prostor u boji i slojeve hardveravažnih za reprodukciju digitalnih videa, a mnogi grafički čipovi izrađeni od 2000. godine također podržavaju MPEG primitive kao što su kompenzacija pokreta i iDCT.

Novije grafičke kartice dekodiraju video zapise u visokoj rezoluciji na kartici, oslobađajući centralnu procesorsku jedinicu. Najčešći API za GPU ubrzano dekodiranje videa su DxVA za Microsoft Windows operativni sistem i VDPAU, VAAPI, i XvBA za Linux i UNIX-u slične operativne sisteme. Svi mogu dekodirati video zapise kodirane sa MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4, dio 2), MPEG-4 AVC (H.264/DivX 6), VC-1, WMV3/WMV9, Xvid/OpenDivX (DivX 4) i DivX 5 kodeci.

Oblici grafičkog čipa[uredi | uredi izvor]

Terminologija[uredi | uredi izvor]

Postoje dva glavna oblika GPU-a u ličnim računarima. Svaki ima više sinonima:[25]

  • Namjenska grafička kartica
  • Integrisana grafika - koja se naziva i: dijeljeno grafičko rješenje, integrisani grafički procesor (IGP) ili ujedinjena memorijska arhitektura (UMA).

Grafički čipovi po namjeni korištenja[uredi | uredi izvor]

Većina GPU-a dizajnirana je za specifičnu upotrebu, 3D grafiku u stvarnom vremenu ili druge masovne proračune:

  1. Igre
  2. Igranje u oblaku
    • Nvidia Grid
    • AMD Radeon Sky
  3. Radne stanice
  4. Radne stanice u oblaku
  5. Umjetna inteligencija u oblaku
  6. Automatizirani automobili sa ili bez vozača

Namjenske grafičke kartice[uredi | uredi izvor]

Glavni članak: Grafička kartica

GPU-ovi najmoćnije klase obično su povezani sa matičnom pločom pomoću proširujuće kartice u nekom od utora kao što su PCI Express (PCIe) ili AGP i obično se mogu zamijeniti ili nadograditi.

Tehnologije kao što su SLI (Nvidia) i CrossFire (AMD) omogućavaju više grafičkim kartica da istodobno crtaju slike na jednom ekranu, povećavajući moć obrade.

Integrisana jedinica za obradu grafike[uredi | uredi izvor]

Pozicija[mrtav link] integrisanog GPU-a u rasporedu sistema sjeverni/južni most

Integrisana grafika koristi dio računarskog RAM-a, a ne namjensku grafičku memoriju. Integrisana grafika se može integrisati na matičnu ploču kao dio čipseta ili na istu matricu sa CPU-om (kao što su AMD APU ili Intel HD Graphics).

Stream procesiranje i GPU opće namjene (GPGPU)[uredi | uredi izvor]

Glavni članci: GPGPU i Stream procesiranje

Ovaj koncept pretvara veliku računsku moć modernog grafičkog akceleratora za korištenje u nekim drugim poljima gdje su potrebne masivne vektorske operacije. Nvidia i AMD udružili su se sa Univerzitetom Stanford kako bi kreirali GPU klijent za računski projekat Folding@home za izračune proteinskog savijanja. GPU je u mogućnosti da izračunava do četrdeset puta brže od CPU-a.[26][27]

Nadalje, 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 GPU ubrzanje.[28]

Neki moderni grafički čipovi za radne stanice, poput Nvidijinog Quadra na Volta i Turing arhitekturama, imaju namjenske jezgre za aplikacije dubokog učenja bazirane na tenzorima. U Nvidijinoj trenutnoj seriji GPU-a ova jezgre se zove Tensor Cores. [29] Ovi grafički čipovi imaju bolje FLOPS performanse, koje mogu dostizati i do 128 TFLOPS-a.[30] Ova tenzorska jezgra trebala bi se pojaviti i na potrošačkim karticama koje imaju Turingovu arhitekturu, a možda i u Navi seriji potrošačkih kartica AMD-a. [31]

Eksterni GPU (eGPU)[uredi | uredi izvor]

Vanjski GPU je grafički procesor smješten izvan kućišta računara. Vanjski grafički procesori ponekad se koriste i kod prijenosnih računala. Prenosnici mogu imati znatnu količinu RAM-a i dovoljno jak procesor (CPU), ali često im nedostaje moćan grafički procesor.

Generalno, jedina sabirnica za jake grafičke kartice je PCI Express koja ima značajnu propusnost podataka. Zbog toga vanjske kartice je moguće spojiti pomoću interfejsa koji podržavaju PCIe sabirnicu, kao što su ExpressCard (PCIe x1 do 5 Gbit/s) ili mini PCIe (PCIe x1 do 2.5 Gbit/s) porta ili Thunderbolt 1, 2 ili 3. (PCIe x4, do 10, 20 ili 40 Gbit/s). Ti su portovi dostupni samo na određenim sistemima prijenosnih računala.[32][33]

Postoji rastući trend i interesovanje za ovakvu vrstu kartica, tako da su HP, Alienware i Razer izdali svoje verzije Thunderbolt 3 eGPU kućišta.[34][35][36]

Proizvođači grafičkih čipova[uredi | uredi izvor]

Također pogledajte[uredi | uredi izvor]

API[uredi | uredi izvor]

Aplikacije[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ Denny Atkin. "Computer Shopper: The Right GPU for You". Arhivirano s originala, 2007-05-06. Pristupljeno 2007-05-15. 
  2. ^ "NVIDIA Launches the World's First Graphics Processing Unit: GeForce 256". Nvidia. 31 August 1999. Arhivirano s originala, 12 April 2016. Pristupljeno 28 March 2016. 
  3. ^ "Graphics Processing Unit (GPU)". Nvidia. Arhivirano s originala, 8 April 2016. Pristupljeno 29 March 2016. 
  4. ^ Pabst, Thomas (18 July 2002). "ATi Takes Over 3D Technology Leadership With Radeon 9700". Tom's Hardware. Pristupljeno 29 March 2016. 
  5. ^ "mame/8080bw.c at master 路 mamedev/mame 路 GitHub". GitHub. Arhivirano s originala, 2014-11-21. 
  6. ^ "mame/mw8080bw.c at master 路 mamedev/mame 路 GitHub". GitHub. Arhivirano s originala, 2014-11-21. 
  7. ^ "Arcade/SpaceInvaders – Computer Archeology". computerarcheology.com. Arhivirano s originala, 2014-09-13. 
  8. ^ "mame/galaxian.c at master 路 mamedev/mame 路 GitHub". GitHub. Arhivirano s originala, 2014-11-21. 
  9. ^ "mame/galaxian.c at master 路 mamedev/mame 路 GitHub". GitHub. Arhivirano s originala, 2014-11-21. 
  10. ^ "MAME - src/mame/drivers/galdrvr.c". archive.org. Arhivirano s originala, 3 January 2014. 
  11. ^ https://www.computer.org/publications/tech-news/chasing-pixels/Famous-Graphics-Chips-IBMs-professional-graphics-the-PGC-and-8514A/Famous-Graphics-Chips-TI-TMS34010-and-VRAM
  12. ^ "System 16 - Namco System 21 Hardware (Namco)". system16.com. Arhivirano s originala, 2015-05-18. 
  13. ^ "System 16 - Taito Air System Hardware (Taito)". system16.com. Arhivirano s originala, 2015-03-16. 
  14. ^ Brownstein, Mark (November 14, 1988). "NEC Forms Video Standards Group". InfoWorld 10 (46). str. 3. ISSN 0199-6649. Pristupljeno May 27, 2016. 
  15. ^ "S3 Video Boards". InfoWorld 14 (20): 62. May 18, 1992. Arhivirano s originala, November 22, 2017. Pristupljeno July 13, 2015. 
  16. ^ "What the numbers mean". PC Magazine 12: 128. 23 February 1993. Arhivirano s originala, 11 April 2017. Pristupljeno 29 March 2016. 
  17. ^ Singer, Graham. "The History of the Modern Graphics Processor". Techspot. Arhivirano s originala, 29 March 2016. Pristupljeno 29 March 2016. 
  18. ^ "System 16 - Namco Magic Edge Hornet Simulator Hardware (Namco)". system16.com. Arhivirano s originala, 2014-09-12. 
  19. ^ "MAME - src/mame/video/model2.c". archive.org. Arhivirano s originala, 4 January 2013. 
  20. ^ 3dfx Glide API
  21. ^ Søren Dreijer. "Bump Mapping Using CG (3rd Edition)". Arhivirano s originala, 2010-01-18. Pristupljeno 2007-05-30. 
  22. ^ "Linear algebra operators for GPU implementation of numerical algorithms", Kruger and Westermann, International Conf. on Computer Graphics and Interactive Techniques, 2005
  23. ^ "ABC-SysBio—approximate Bayesian computation in Python with GPU support", Liepe et al., Bioinformatics, (2010), 26:1797-1799 "Archived copy". Arhivirano s originala, 2015-11-05. Pristupljeno 2010-10-15. 
  24. ^ "A Survey of Techniques for Optimizing Deep Learning on GPUs", Mittal et al., J. of Systems Architecture, 2019
  25. ^ "Help Me Choose: Video Cards". Dell. Arhivirano s originala, 2016-09-09. Pristupljeno 2016-09-17. 
  26. ^ Darren Murph. "Stanford University tailors Folding@home to GPUs". Arhivirano s originala, 2007-10-12. Pristupljeno 2007-10-04. 
  27. ^ Mike Houston. "Folding@Home - GPGPU". Arhivirano s originala, 2007-10-27. Pristupljeno 2007-10-04. 
  28. ^ "Top500 List - June 2012 | TOP500 Supercomputer Sites". Top500.org. Arhivirano s originala, 2014-01-13. Pristupljeno 2014-01-21. 
  29. ^ "Tensor Cores in NVIDIA Volta". Nvidia. Nvidia. Pristupljeno 16 August 2018. 
  30. ^ Smith, Ryan. "NVIDIA Volta Unveiled: GV100 GPU and Tesla V100 Accelerator Announced". AnandTech. AnandTech. Pristupljeno 16 August 2018. 
  31. ^ Hill, Brandon. "AMD's Navi 7nm GPU Architecture to Reportedly Feature Dedicated AI Circuitry". HotHardware. HotHardware. Pristupljeno 16 August 2018. 
  32. ^ "eGPU candidate system list". Tech-Inferno Forums. 
  33. ^ Neil Mohr. "How to make an external laptop graphics adaptor". TechRadar. Arhivirano s originala, 2017-06-26. 
  34. ^ "OMEN Accelerator | HP® Official Site". www8.hp.com. Pristupljeno 2018-12-11. 
  35. ^ "Alienware Graphics Amplifier | Dell United States". Dell (jezik: en-US). Pristupljeno 2018-12-11. 
  36. ^ "Razer Core X - Thunderbolt™ 3 eGPU". Razer (jezik: en-US). Pristupljeno 2018-12-11. 

Vanjski linkovi[uredi | uredi izvor]