Grafikbehandlingsenhet - Graphics processing unit

Komponenter i en GPU

En grafikbehandlingsenhet ( GPU ) är en specialiserad elektronisk krets som är utformad för att snabbt manipulera och ändra minne för att påskynda skapandet av bilder i en rambuffert avsedd för utmatning till en displayenhet . GPU: er används i inbyggda system , mobiltelefoner , persondatorer , arbetsstationer och spelkonsoler .

Moderna grafikkort är mycket effektiva för att manipulera datorgrafik och bildbehandling . Deras mycket parallella struktur gör dem mer effektiva än centrala processorenheter (CPU: er) för algoritmer som bearbetar stora block av data parallellt. I en persondator kan en GPU vara närvarande på ett grafikkort eller inbäddad på moderkortet . I vissa processorer är de inbäddade i CPU -munstycket .

På 1970 -talet stod termen "GPU" ursprungligen för grafikprocessorenhet och beskrev en programmerbar processorenhet som självständigt arbetar från CPU: n och ansvarar för grafisk manipulation och utmatning. Senare, 1994, Sony använde termen (nu står för Graphics Processing Unit ) med hänvisning till PlayStation konsolens Toshiba -designed Sony GPU 1994. Begreppet populariserades av Nvidia 1999, som marknadsförde GeForce 256 som "världens första GPU ". Den presenterades som en "single-chip- processor med integrerad transformering, belysning, triangelinställning/klippning och återgivningsmotorer". Rival ATI Technologies myntade termen " visual processing unit " eller VPU med lanseringen av Radeon 9700 2002.

Historia

1970 -talet

Arcade -systemkort har använt specialiserade grafikkretsar sedan 1970 -talet. I tidiga hårdvaror för videospel var RAM -minnet för rambuffertar dyrt, så videochips komponerade data tillsammans när skärmen skannades ut på monitorn.

En specialiserad fatskiftarkrets användes för att hjälpa CPU: n att animera framebuffer -grafiken för olika 1970 -talsspel från Midway och Taito , till exempel Gun Fight (1975), Sea Wolf (1976) och Space Invaders (1978). Den Namco Galaxian arcade systemet 1979 används specialiserade grafikhårdvara som stöder RGB-färg , flerfärgade sprites och tilemap bakgrunder. Den galaxiska hårdvaran användes i stor utsträckning under arkadspelens guldålder , av spelbolag som Namco , Centuri , Gremlin , Irem , Konami , Midway , Nichibutsu , Sega och Taito .

Atari ANTIC mikroprocessor på ett Atari 130XE moderkort

På hemmamarknaden använde Atari 2600 1977 en videoskiftare som kallades Television Interface Adapter . Den Atari 8-bitarsdatorer (1979) hade ANTIC , en videoprocessor som tolkade instruktioner som beskriver en "visningslista" -den sätt skanningslinjer mappas till specifika bitmappad eller teckenlägen och där minnet lagras (så att det inte behövde vara en sammanhängande rambuffert). 6502 maskin kod subrutiner kan utlösas på sveplinjer genom att sätta lite på en visningslista instruktion. ANTIC stödde också mjuk vertikal och horisontell rullning oberoende av CPU.

1980 -talet

NEC μPD7220 A

Den NEC μPD7220 var det första genomförandet av en PC Graphics displayprocessor som en enda Large Scale Integration (LSI) integrerad krets -chip, vilket möjliggör konstruktion av låg kostnad, högpresterande videografikkorten såsom de från Number Nine visuell teknik . Det blev den mest kända GPU fram till mitten av 1980-talet. Det var den första fullt integrerade VLSI (mycket storskaliga integrationen) metalloxid-halvledare ( NMOS ) grafikdisplayprocessor för datorer, stödde upp till 1024x1024 upplösning och lade grunden för den framväxande PC-grafikmarknaden. Det användes i ett antal grafikkort och var licensierat för kloner som Intel 82720, den första av Intels grafikprocessorenheter . Williams Electronics arkadspel Robotron 2084 , Joust , Sinistar och Bubbles , som alla släpptes 1982, innehåller anpassade blitterchips för drift på 16-färgs bitmappar.

År 1984 släppte Hitachi ARTC HD63484, den första stora CMOS -grafikprocessorn för PC. ARTC kunde visa upp till 4K -upplösning i monokromläge , och den användes i ett antal PC -grafikkort och terminaler under slutet av 1980 -talet. 1985 presenterade Commodore Amiga ett anpassat grafikkort, med en blitterenhet som accelererar bitmappsmanipulation, radritning och områdesfyllningsfunktioner. En coprocessor med sin egen enkla instruktionsuppsättning ingår också, som kan manipulera grafikhårdvararegister i synk med videobjälken (t.ex. för palettomkopplare per skanning, sprite-multiplex och hårdvarufönster), eller för att driva blittern. År 1986 Texas Instruments släppte TMS34010 , den första fullt programmerbar grafikprocessor. Den kan köra allmän kod, men den hade en grafikorienterad instruktionsuppsättning. Under 1990–1992 blev detta chip grunden för Texas Instruments Graphics Architecture ("TIGA") Windows -acceleratorkort.

Den IBM 8514 Micro Channel adapter, med minnes add-on.

1987 släpptes IBM 8514- grafiksystemet som ett av de första grafikkorten för IBM PC-kompatibla för att implementera 2D-primitiv med fast funktion i elektronisk hårdvara . Sharp är X68000 , släpptes 1987, använde en anpassade grafik chipset med 65.536 färgpalett och hårdvarustöd för sprites, rullning, och flera playfields, så småningom tjänar som en utvecklingsmaskin för Capcom 's CP System arcade ombord. Fujitsu tävlade senare med FM Towns -datorn, som släpptes 1989 med stöd för hela 16 777 216 färgpaletter. 1988 introducerades de första dedikerade månghörniga 3D -grafikkorten i arkader med Namco System 21 och Taito Air System.

VGA -sektion på moderkortet i IBM PS/55

IBM : s egenutvecklade standarden Video Graphics Array (VGA) introducerades 1987, med en maximal upplösning på 640 × 480 pixlar. I november 1988 meddelade NEC Home Electronics att man skapade Video Electronics Standards Association (VESA) för att utveckla och marknadsföra en Super VGA (SVGA) datorskärmsstandard som en efterträdare till IBM: s egenutvecklade VGA -skärmstandard. Super VGA -aktiverade grafikskärmsupplösningar upp till 800 × 600 pixlar , en ökning med 36%.

1990 -talet

Voodoo3 2000 AGP -kort

1991 introducerade S3 Graphics S3 86C911 , som dess designers namngav efter Porsche 911 som en indikation på prestandahöjningen den lovade. 86C911 gav upphov till en mängd imitatorer: 1995 hade alla större PC -grafikkortstillverkare lagt till 2D -accelerationsstöd till sina marker. Vid den här tiden hade Windows-acceleratorer med fast funktion överträffat dyra grafikprocessorer för allmänna ändamål i Windows-prestanda, och dessa coprocessorer bleknade från PC-marknaden.

Under 1990 -talet fortsatte 2D GUI -accelerationen att utvecklas. I takt med att tillverkningskapaciteten förbättrades, så förbättrades integrationsnivån för grafikkretsar. Ytterligare gränssnitt programmerings (API) kom för en mängd olika uppgifter, till exempel Microsofts Wing grafikbiblioteket för Windows 3.x , och deras senare Direct gränssnitt för hårdvaruacceleration av 2D-spel i Windows 95 och senare.

I början och mitten av 1990-talet blev 3D-grafik i realtid allt vanligare inom arkad-, dator- och konsolspel, vilket ledde till en ökad allmän efterfrågan på hårdvaruaccelererad 3D-grafik . Tidiga exempel på massmarknads 3D-grafikhårdvara finns i arkadsystemkort som Sega Model 1 , Namco System 22 och Sega Model 2 , och femte generationens videospelkonsoler som Saturn , PlayStation och Nintendo 64 . Arkadsystem som Sega Model 2 och Namco Magic Edge Hornet Simulator 1993 kunde hårdvara T&L ( transform, klippning och belysning ) år innan de visades på konsumentgrafikkort. Vissa system använde DSP för att påskynda transformationer. Fujitsu , som arbetade med arkadsystemet Sega Model 2, började arbeta med att integrera T&L i en enda LSI -lösning för användning i hemmadatorer 1995; Fujitsu Pinolite, den första 3D-geometri processor för persondatorer, släpptes 1997. Den första hårdvaru T & L GPU på hemmaspelkonsoler var Nintendo 64 's Reality Coprosessor , släpptes 1996. År 1997 Mitsubishi släppt 3Dpro / 2MP , en fullt utrustad GPU som kan transformeras och belysas, för arbetsstationer och Windows NT -stationära datorer; ATi utnyttjade det för deras FireGL 4000 grafikkort , släpptes 1997.

Termen "GPU" myntades av Sony med hänvisning till 32-bitars Sony GPU (designad av Toshiba ) i PlayStation -spelkonsolen, som släpptes 1994.

I PC-världen var anmärkningsvärda misslyckade första försök med billiga 3D-grafikkretsar S3 ViRGE , ATI Rage och Matrox Mystique . Dessa marker var i huvudsak tidigare generationens 2D-acceleratorer med 3D-funktioner bultade på. Många var till och med stiftkompatibla med tidigare generationens chips för enkel implementering och minimala kostnader. Inledningsvis var prestanda 3D -grafik endast möjlig med diskreta kort som är avsedda att accelerera 3D -funktioner (och helt saknar 2D GUI -acceleration) som PowerVR och 3dfx Voodoo . När tillverkningstekniken fortsatte att utvecklas integrerades dock video, 2D GUI -acceleration och 3D -funktionalitet i ett chip. Renditions Verite -chipset var bland de första som gjorde detta tillräckligt bra för att vara värda att notera. År 1997 gick Rendition ett steg längre genom att samarbeta med Hercules och Fujitsu om ett "Thriller Conspiracy" -projekt som kombinerade en Fujitsu FXG-1 Pinolite-geometriprocessor med en Vérité V2200-kärna för att skapa ett grafikkort med en full T & L-motor år före Nvidias GeForce 256 . Detta kort, som är utformat för att minska belastningen på systemets CPU, kom aldrig ut på marknaden.

OpenGL framträdde i början av 90 -talet som ett professionellt grafik -API, men led ursprungligen av prestandaproblem som gjorde att Glide API kunde kliva in och bli en dominerande kraft på datorn i slutet av 90 -talet. Dessa problem övervinnades dock snabbt och Glide API föll av vägen. Programvaruimplementeringar av OpenGL var vanliga under denna tid, även om påverkan av OpenGL så småningom ledde till utbrett hårdvarustöd. Med tiden uppstod en paritet mellan funktioner som erbjuds i hårdvara och de som erbjuds i OpenGL. DirectX blev populärt bland Windows -spelutvecklare under slutet av 90 -talet. Till skillnad från OpenGL insisterade Microsoft på att tillhandahålla strikt en-till-ett-stöd för hårdvara. Tillvägagångssättet gjorde DirectX mindre populärt som ett fristående grafik -API inledningsvis, eftersom många GPU: er gav sina egna specifika funktioner, som befintliga OpenGL -applikationer redan kunde dra nytta av och lämnade DirectX ofta en generation bakom sig. (Se: Jämförelse av OpenGL och Direct3D .)

Med tiden började Microsoft arbeta närmare med hårdvaruutvecklare och började rikta in versionerna av DirectX för att sammanfalla med dem för den stödjande grafikhårdvaran. Direct3D 5.0 var den första versionen av det växande API: et för att få utbredd användning på spelmarknaden, och det konkurrerade direkt med många mer hårdvaruspecifika, ofta proprietära grafikbibliotek, medan OpenGL höll en stark följd. Direct3D 7.0 introducerade stöd för hårdvaruaccelererad transformering och belysning (T&L) för Direct3D, medan OpenGL redan hade denna funktion avslöjad från starten. 3D -acceleratorkort flyttade bortom att vara bara enkla rasterisatorer för att lägga till ytterligare en betydande hårdvarustad till 3D -rendering pipeline. Den Nvidia GeForce 256 (även känd som NV10) var den första konsument-nivå kort släpps ut på marknaden med hårdvaruaccelererad T & L, medan professionella 3D-kort redan hade denna förmåga. Hårdvarutransformering och belysning, båda redan existerande funktioner i OpenGL, kom till hårdvara på konsumentnivå på 90-talet och skapade prejudikat för senare pixelskuggare och vertexskuggare som var mycket mer flexibla och programmerbara.

2000 till 2010

Nvidia producerade först ett chip som kan programmeras med skuggning ; den GeForce 3 (kodnamn NV20). Varje pixel kan nu bearbetas av ett kort "program" som kan inkludera ytterligare bildtexturer som ingångar, och varje geometrisk hörnpunkt kan likaledes behandlas av ett kort program innan det projiceras på skärmen. Används i Xbox -konsolen, det tävlade med PlayStation 2 , som använde en anpassad vektorenhet för hårdvaruaccelererad vertexbehandling (vanligen kallad VU0/VU1). De tidigaste inkarnationerna av shader -körningsmotorer som användes i Xbox var inte av allmänt syfte och kunde inte exekvera godtycklig pixelkod. Hörn och pixlar bearbetades av olika enheter som hade sina egna resurser med pixelskuggare som hade mycket snävare begränsningar (eftersom de körs på mycket högre frekvenser än med hörn). Pixelskuggningsmotorer var faktiskt mer besläktade med ett mycket anpassningsbart funktionsblock och "körde" inte riktigt ett program. Många av dessa skillnader mellan skuggning och pixelskuggning behandlades inte förrän mycket senare med Unified Shader -modellen .

I oktober 2002, med introduktionen av ATI Radeon 9700 (även känd som R300), kunde världens första Direct3D 9.0 -accelerator, pixel- och vertex -skuggare implementera looping och lång flytande matematik, och blev snabbt lika flexibla som processorer, men beställningar storleken snabbare för bildmatrisoperationer. Pixelskuggning används ofta för bump mapping , vilket ger textur, för att få ett objekt att se glänsande, tråkigt, grovt eller till och med runt eller extruderat.

Med introduktionen av Nvidia GeForce 8 -serien och sedan blev nya generiska strömbehandlingsenheter GPU: er en mer generaliserad beräkningsenhet. Idag har parallella GPU: er börjat göra beräkningsmässiga intrång mot CPU: n, och ett undersökningsområde, kallat GPU Computing eller GPGPU för General Purpose Computing på GPU , har hittat in på så olika områden som maskininlärning , oljeutforskning , vetenskaplig bildbehandling , linjär algebra , statistik , 3D -rekonstruktion och till och med bestämning av aktieoptioner . GPGPU var då föregångaren till det som nu kallas en beräkningsskuggare (t.ex. CUDA, OpenCL, DirectCompute) och missbrukade faktiskt hårdvaran till en viss grad genom att behandla data som överförs till algoritmer som texturkartor och exekvera algoritmer genom att rita en triangel eller fyrkant med en lämplig pixelskuggare. Detta innebär uppenbarligen vissa omkostnader eftersom enheter som Scan Converter är inblandade där de inte verkligen behövs (inte heller är triangelmanipulationer ens ett problem - förutom att åberopa pixelskuggaren).

Nvidias CUDA -plattform, som först introducerades 2007, var den tidigaste allmänt antagna programmeringsmodellen för GPU -datorer. På senare tid har OpenCL blivit allmänt stött. OpenCL är en öppen standard definierad av Khronos Group som möjliggör utveckling av kod för både GPU och CPU med tonvikt på portabilitet. OpenCL -lösningar stöds av Intel, AMD, Nvidia och ARM, och enligt en ny rapport från Evans Data är OpenCL den GPGPU -utvecklingsplattform som används mest av utvecklare i både USA och Asien och Stillahavsområdet.

2010 att presentera

Under 2010 inledde Nvidia ett partnerskap med Audi för att driva sina bilars instrumentbrädor med hjälp av Tegra GPU: er för att ge ökad funktionalitet för bilars navigations- och underhållningssystem. Framsteg inom GPU-teknik i bilar har hjälpt till att driva självkörande teknik . AMDs Radeon HD 6000 -seriekort släpptes 2010 och 2011 släppte AMD sina diskreta GPU: er i 6000M -serien för användning i mobila enheter. Kepler -serien med grafikkort från Nvidia kom ut 2012 och användes i Nvidias 600- och 700 -seriekort. En funktion i denna nya GPU-mikroarkitektur inkluderade GPU-boost, en teknik som justerar klockhastigheten på ett grafikkort för att öka eller minska det beroende på dess effektdragning. Den Kepler mikroarkitekturen tillverkades på 28 nm process.

Den PS4 och Xbox One släpptes 2013, de båda använder grafikkretsar baserade på AMD: s Radeon HD 7850 och 7790 . Nvidias Kepler -serie GPU: er följdes av Maxwell -linjen, tillverkad på samma process. 28 nm -chips av Nvidia tillverkades av TSMC, Taiwan Semiconductor Manufacturing Company, som tillverkade med 28 nm -processen vid den tiden. Jämfört med 40 nm -tekniken från det förflutna möjliggjorde denna nya tillverkningsprocess 20 procent högre prestanda samtidigt som den drog mindre effekt. Virtual reality -headset har mycket höga systemkrav. Tillverkare av VR -headset rekommenderade GTX 970 och R9 290X eller bättre när de släpptes. Pascal är nästa generation av grafikkort för konsumenter från Nvidia som släpptes 2016. GeForce 10 -kortserien är under denna generation av grafikkort. De tillverkas med 16 nm tillverkningsprocess som förbättrar tidigare mikroarkitekturer. Nvidia har släppt ett icke-konsumentkort under den nya Volta- arkitekturen, Titan V. Ändringar från Titan XP, Pascals avancerade kort, inkluderar en ökning av antalet CUDA-kärnor, tillägg av tensorkärnor och HBM2 . Tensorkärnor är kärnor som är speciellt utformade för djupinlärning, medan minne med hög bandbredd är ett on-die, staplat, lägre klockminne som erbjuder en extremt bred minnesbuss som är användbar för Titan V: s avsedda ändamål. För att understryka att Titan V inte är ett spelkort tog Nvidia bort "GeForce GTX" -tillägget som det lägger till konsumentspelkort.

Den 20 augusti 2018 lanserade Nvidia GPU: er i RTX 20-serien som lägger till strålspårningskärnor till GPU: er, vilket förbättrar deras prestanda när det gäller ljuseffekter. Polaris 11 och Polaris 10 GPU: er från AMD är tillverkade av en 14-nanometerprocess. Deras utgåva resulterar i en väsentlig ökning av prestandan per watt AMD -grafikkort. AMD har också släppt Vega GPU -serien för high end -marknaden som konkurrent till Nvidias high -end Pascal -kort, även med HBM2 som Titan V.

År 2019 släppte AMD efterföljaren till deras Graphics Core Next (GCN) mikroarkitektur/instruktionsuppsättning. Dubbade som RDNA, den första produktserien med den första generationen av RDNA var Radeon RX 5000 -serien av grafikkort, som senare lanserades den 7 juli 2019. Senare meddelade företaget att efterträdaren till RDNA -mikroarkitekturen skulle bli en uppdatering. Dubbel som RDNA 2, den nya mikroarkitekturen var enligt uppgift planerad att släppas under Q4 2020.

AMD presenterade Radeon RX 6000-serien , dess nästa generations RDNA 2-grafikkort med stöd för hårdvaruaccelererad strålspårning vid ett evenemang online den 28 oktober 2020. Sortimentet består ursprungligen av RX 6800, RX 6800 XT och RX 6900 XT . RX 6800 och 6800 XT lanserades den 18 november 2020, med RX 6900 XT som släpptes den 8 december 2020. RX 6700 XT, som är baserad på Navi 22, lanserades den 18 mars 2021.

Den PlayStation 5 och Xbox-serien X och serie S släpptes 2020, de använder både GPU baserade på RDNA 2 mikroarkitektur med egna tweaks och olika GPU konfigurationer i genomförandet varje systems.

GPU -företag

Många företag har producerat GPU: er under ett antal varumärken. Under 2009 var Intel , Nvidia och AMD / ATI marknadsledande med 49,4%, 27,8% respektive 20,6% marknadsandel. Dessa siffror innehåller dock Intels integrerade grafiklösningar som GPU: er. Om man inte räknar med dem kontrollerar Nvidia och AMD nästan 100% av marknaden från och med 2018. Deras respektive marknadsandelar är 66% och 33%. Dessutom producerar Matrox GPU: er. Moderna smartphones använder också mestadels Adreno GPU från Qualcomm , PowerVR GPU från Imagination Technologies och Mali GPU från ARM .

Beräkningsfunktioner

Moderna grafikkort använder de flesta av sina transistorer för att göra beräkningar relaterade till 3D -datorgrafik . Förutom 3D -hårdvaran innehåller dagens GPU: er grundläggande 2D -acceleration och rambuffertfunktioner (vanligtvis med ett VGA -kompatibilitetsläge). Nyare kort som AMD/ATI HD5000-HD7000 saknar till och med 2D-acceleration; det måste emuleras av 3D -hårdvara. Grafikprocessorer användes ursprungligen för att påskynda det minneskrävande arbetet med texturmappning och återgivning av polygoner, senare lägga till enheter för att påskynda geometriska beräkningar som rotation och översättning av hörn till olika koordinatsystem . Den senaste utvecklingen i GPU: er inkluderar stöd för programmerbara shaders som kan manipulera hörn och texturer med många av samma operationer som stöds av CPU: er , översampling och interpoleringsteknik för att minska aliasing och mycket högprecisiona färgutrymmen . Med tanke på att de flesta av dessa beräkningar involverar matris- och vektoroperationer har ingenjörer och forskare alltmer studerat användningen av GPU: er för icke-grafiska beräkningar; de är särskilt lämpade för andra pinsamt parallella problem.

Flera faktorer i GPU: s konstruktion påverkar kortets prestanda för realtidsåtergivning. Gemensamma faktorer kan innefatta storleken av anslutningsvägar i halvledaranordningstillverkning , den klocksignalfrekvensen, och antalet och storleken på olika on-chip minne cachar . Dessutom är antalet Streaming Multiprocessors (SM) för NVidia GPU: er eller Compute Units (CU) för AMD GPU: er, som beskriver antalet kärnor på kiselprocessorenheter i GPU-chipet som utför kärnberäkningarna, som vanligtvis fungerar parallellt med andra SM/CU: er på GPU. GPU: s prestanda mäts vanligtvis i flytande punktoperationer per sekund eller FLOPS , medan GPU: er under 2010- och 2020 -talet levererar vanligtvis prestanda mätt i teraflops (TFLOPS). Detta är ett uppskattat prestandamått eftersom andra faktorer kan påverka den faktiska visningshastigheten.

Med framväxten av djupinlärning har GPU: s betydelse ökat. I forskning gjord av Indigo visade det sig att GPU: er kan vara 250 gånger snabbare än processorer medan de tränar neuronätverk med djupinlärning. Det har varit en viss konkurrens på detta område med ASIC , framför allt Tensor Processing Unit (TPU) från Google. ASIC kräver dock ändringar av befintlig kod och GPU: er är fortfarande mycket populära.

GPU -accelererad videoavkodning och kodning

ATI HD5470 GPU (ovan) har UVD 2.1 som gör det möjligt att avkoda AVC- och VC-1-videoformat

De flesta GPU: er som tillverkats sedan 1995 stöder YUV -färgutrymme och hårdvaruöverlagringar , viktiga för digital videouppspelning, och många GPU: er som tillverkats sedan 2000 stöder också MPEG -primitiv som rörelsekompensation och iDCT . Denna process med hårdvaruaccelererad videoavkodning, där delar av videoavkodningsprocessen och efterbearbetning av video laddas ner till GPU-hårdvaran, kallas vanligen "GPU-accelererad videoavkodning", "GPU-assisterad videoavkodning", "GPU-hårdvara accelererad videoavkodning "eller" GPU -maskinvaruassisterad videoavkodning ".

Nyare grafikkort avkodar till och med högupplöst video på kortet och laddar ner den centrala processorenheten. De vanligaste API: erna för GPU-accelererad videoavkodning är DxVA för Microsoft Windows- operativsystem och VDPAU , VAAPI , XvMC och XvBA för Linux-baserade och UNIX-liknande operativsystem. Alla utom XvMC kan avkoda videor som är kodade med MPEG-1 , MPEG-2 , MPEG-4 ASP (MPEG-4 Part 2) , MPEG-4 AVC (H.264 / DivX 6), VC-1 , WMV3 / WMV9 , Xvid / OpenDivX (DivX 4) och DivX 5- codecs , medan XvMC bara kan avkoda MPEG-1 och MPEG-2.

Det finns flera dedikerade lösningar för hårdvaruvideoavkodning och -kodning .

Videokodningsprocesser som kan påskyndas

Videoavkodningsprocesserna som kan påskyndas av dagens moderna GPU -hårdvara är:

Ovanstående operationer har också applikationer för videoredigering, kodning och transkodning

GPU -formulär

Terminologi

I persondatorer finns det två huvudformer av GPU: er. Var och en har många synonymer:

Användningsspecifik GPU

De flesta grafikkort är utformade för en specifik användning, 3D-grafik i realtid eller andra massberäkningar:

  1. Spel
  2. Cloud Gaming
  3. Arbetsstation
  4. Moln arbetsstation
  5. Artificiell intelligens utbildning och moln
  6. Automatiserad/förarlös bil

Dedikerade grafikkort

GPU: erna i den mest kraftfulla klassen har vanligtvis gränssnitt mot moderkortet med hjälp av en expansionsplats som PCI Express (PCIe) eller Accelerated Graphics Port (AGP) och kan vanligtvis ersättas eller uppgraderas relativt enkelt, förutsatt att moderkortet kan stödja uppgraderingen. Några grafikkort använder fortfarande PCI -kortplatser ( Peripheral Component Interconnect ), men deras bandbredd är så begränsad att de vanligtvis endast används när en PCIe- eller AGP -plats inte är tillgänglig.

En dedikerad GPU är inte nödvändigtvis borttagbar, och den behöver inte heller kopplas till moderkortet på ett vanligt sätt. Termen "dedikerad" hänvisar till det faktum att dedikerade grafikkort har RAM som är dedikerat till kortets användning, inte till det faktum att de flesta dedikerade grafikkort är flyttbara. Dessutom är detta RAM vanligtvis speciellt utvalt för grafikkortets förväntade seriella arbetsbelastning (se GDDR ). Ibland kallades system med dedikerade, diskreta GPU: er "DIS" -system, i motsats till "UMA" -system (se nästa avsnitt). Dedikerade GPU: er för bärbara datorer är oftast anslutna via en icke-standardiserad och ofta egenutvecklad plats på grund av storlek och viktbegränsningar. Sådana portar kan fortfarande betraktas som PCIe eller AGP när det gäller deras logiska värdgränssnitt, även om de inte är fysiskt utbytbara med sina motsvarigheter.

Teknologier som SLI och NVLink från Nvidia och CrossFire från AMD gör att flera grafikprocessorer kan rita bilder samtidigt för en enda skärm, vilket ökar processorkraften för grafik. Denna teknik är dock alltmer ovanlig, eftersom de flesta spel inte utnyttjar flera GPU: er fullt ut, eftersom de flesta användare inte har råd med dem. Flera GPU: er används fortfarande på superdatorer (som i Summit ), på arbetsstationer för att påskynda video (bearbetning av flera videor samtidigt) och 3D -rendering, för VFX och för simuleringar, och i AI för att påskynda utbildning, vilket är fallet med Nvidias sortiment av DGX -arbetsstationer och servrar och Tesla -GPU: er och Intels kommande Ponte Vecchio -GPU: er.

Integrerad grafikprocessor

Positionen för en integrerad GPU i en systemutformning av northbridge/southbridge
Ett ASRock -moderkort med integrerad grafik, som har HDMI, VGA och DVI -utgångar.

Integrerad grafikprocessor (IGPU), Integrerad grafik , delade grafiklösningar , integrerade grafikprocessorer (IGP) eller enhetlig minnesarkitektur (UMA) använder en del av datorns system -RAM snarare än dedikerat grafikminne. IGP kan integreras på moderkortet som en del av (Northbridge) chipset, eller på samma dörr (integrerad krets) med CPU (som AMD APU eller Intel HD Graphics ). På vissa moderkort kan AMD: s IGP: er använda dedikerat sidportminne. Detta är ett separat fast block av högpresterande minne som är avsett för användning av GPU. I början av 2007 står datorer med integrerad grafik för cirka 90% av alla datorsändningar. De är billigare att implementera än dedikerad grafikbehandling, men tenderar att vara mindre kapabla. Historiskt sett ansågs integrerad behandling olämplig att spela 3D -spel eller köra grafiskt intensiva program men kunde köra mindre intensiva program som Adobe Flash. Exempel på sådana IGP är erbjudanden från SiS och VIA cirka 2004. Moderna integrerade grafikprocessorer som AMD Accelerated Processing Unit och Intel HD Graphics är mer än kapabla att hantera 2D -grafik eller 3D -grafik med låg belastning.

Eftersom GPU-beräkningarna är extremt minneskrävande kan integrerad bearbetning konkurrera med CPU: n om det relativt långsamma system-RAM-minnet, eftersom det har minimalt eller inget dedikerat videominne. IGP: er kan ha upp till 29,856 GB/s minnesbandbredd från system -RAM, medan ett grafikkort kan ha upp till 264 GB/s bandbredd mellan dess RAM och GPU -kärna. Denna minnesbussbredd kan begränsa GPU: s prestanda, även om flerkanaligt minne kan minska denna brist. Äldre integrerade grafikkretsar saknade hårdvarutransform och belysning , men nyare inkluderar det.

Hybrid grafikbehandling

Denna nyare GPU-klass tävlar med integrerad grafik på low-end-stationära och bärbara marknader. De vanligaste implementeringarna av detta är ATI: s HyperMemory och Nvidias TurboCache .

Hybridgrafikkort är något dyrare än integrerad grafik, men mycket billigare än dedikerade grafikkort. Dessa delar minne med systemet och har en liten dedikerad minnescache för att kompensera för hög latens för system -RAM. Teknik inom PCI Express kan göra detta möjligt. Även om dessa lösningar ibland annonseras med så mycket som 768 MB RAM, avser detta hur mycket som kan delas med systemminnet.

Strömbehandling och GPU: er för allmänna ändamål (GPGPU)

Det blir allt vanligare att använda en grafikbehandlingsenhet för allmänna ändamål (GPGPU) som en modifierad form av strömprocessor (eller en vektorprocessor ) som kör datorkärnor . Detta koncept förvandlar den massiva beräkningskraften hos en modern grafikaccelerators shaderrörledning till datorkraft för allmänt ändamål, i motsats till att vara fastkopplad enbart för att utföra grafiska operationer. I vissa applikationer som kräver massiva vektoroperationer kan detta ge flera storleksordningar högre prestanda än en konventionell CPU. De två största diskreta (se " Dedikerade grafikkort " ovan) GPU -formgivare, AMD och Nvidia , börjar följa detta tillvägagångssätt med en rad applikationer. Både Nvidia och AMD har samarbetat med Stanford University för att skapa en GPU-baserad klient för Folding@home- distribuerade dataprojekt, för beräkningar av proteinvikning. Under vissa omständigheter beräknar GPU fyrtio gånger snabbare än processorerna som traditionellt används av sådana applikationer.

GPGPU kan användas för många typer av pinsamt parallella uppgifter, inklusive strålspårning . De är i allmänhet lämpade för beräkningar av hög genomströmningstyp som uppvisar dataparallellitet för att utnyttja den breda vektorbredds SIMD- arkitekturen för GPU: n.

Dessutom börjar GPU-baserade högpresterande datorer spela en betydande roll i storskalig modellering. Tre av de 10 mest kraftfulla superdatorer i världen utnyttjar GPU -acceleration.

GPU: er stöder API -tillägg till programmeringsspråket C, t.ex. OpenCL och OpenMP . Dessutom introducerade varje GPU -leverantör sitt eget API som bara fungerar med sina kort, AMD APP SDK och CUDA från AMD respektive Nvidia. Dessa tekniker gör det möjligt att köra specifika funktioner som kallas beräkningskärnor från ett normalt C -program på GPU: s strömprocessorer. Detta gör det möjligt för C -program att dra fördel av en GPU: s förmåga att arbeta parallellt med stora buffertar, samtidigt som de använder CPU: n när så är lämpligt. CUDA är också det första API: et som tillåter CPU-baserade applikationer att direkt komma åt resurserna i en GPU för mer allmänt ändamål utan att begränsa användningen av ett grafiskt API.

Sedan 2005 har det funnits intresse för att använda GPU: ernas prestanda för evolutionär beräkning i allmänhet och för att påskynda konditionsevalueringen inom genetisk programmering i synnerhet. De flesta tillvägagångssätt kompilerar linjära eller trädprogram på värddatorn och överför den körbara filen till GPU: n som ska köras. Normalt uppnås prestandafördelen bara genom att köra det enda aktiva programmet samtidigt på många exempelproblem parallellt med GPU: s SIMD -arkitektur. Men en betydande acceleration kan också uppnås genom att inte kompilera programmen, och istället överföra dem till GPU, för att tolkas där. Acceleration kan sedan uppnås genom att antingen tolka flera program samtidigt, samtidigt köra flera exempelproblem eller kombinationer av båda. En modern GPU kan enkelt tolka hundratusentals mycket små program samtidigt.

Vissa moderna GPU: er för arbetsstationer, till exempel Nvidia Quadro-arbetsstationskort som använder Volta- och Turing-arkitekturen, har dedikerade processorkärnor för tensorbaserade djupinlärningsapplikationer. I Nvidias nuvarande serie GPU: er kallas dessa kärnor Tensor Cores. Dessa GPU: er har vanligtvis betydande FLOPS -prestandahöjningar med 4x4 matrismultiplikation och division, vilket resulterar i hårdvaruprestanda upp till 128 TFLOPS i vissa applikationer. Dessa tensorkärnor ska också visas i konsumentkort som kör Turing -arkitekturen, och möjligen i Navi -serien av konsumentkort från AMD.

Extern GPU (eGPU)

En extern GPU är en grafikprocessor som ligger utanför datorns hölje, liknande en stor extern hårddisk. Externa grafikprocessorer används ibland med bärbara datorer. Bärbara datorer kan ha en betydande mängd RAM-minne och en tillräckligt kraftfull central processor (CPU), men saknar ofta en kraftfull grafikprocessor och har istället ett mindre kraftfullt men mer energieffektivt inbyggt grafikkrets. Inbyggda grafikkretsar är ofta inte tillräckligt kraftfulla för att spela videospel eller för andra grafiskt intensiva uppgifter, till exempel redigering av video eller 3D-animering/återgivning.

Därför är det önskvärt att kunna ansluta en GPU till någon extern buss i en bärbar dator. PCI Express är den enda bussen som används för detta ändamål. Porten kan till exempel vara en ExpressCard- eller mPCIe -port (PCIe × 1, upp till 5 respektive 2,5 Gbit/s) eller en Thunderbolt 1, 2 eller 3 port (PCIe × 4, upp till 10, 20 eller 40 Gbit/s). Dessa portar är bara tillgängliga på vissa bärbara system. eGPU -kapslingar inkluderar en egen strömförsörjning (PSU), eftersom kraftfulla grafikkort enkelt kan förbruka hundratals watt.

Officiellt leverantörsstöd för externa grafikkort har fått grepp nyligen. En anmärkningsvärd milstolpe var Apples beslut att officiellt stödja externa grafikkort med MacOS High Sierra 10.13.4. Det finns också flera stora hårdvaruleverantörer (HP, Alienware, Razer) som släpper Thunderbolt 3 eGPU -kapslingar. Detta stöd har fortsatt att driva eGPU -implementeringar av entusiaster.

Försäljning

År 2013 levererades 438,3 miljoner GPU: er globalt och prognosen för 2014 var 414,2 miljoner.

Se även

Hårdvara

API: er

Ansökningar

Referenser

externa länkar