Multe companii au produs GPU-uri sub un numar de marci distincte. In 2009, Intel, Nvidia si AMD / ATI au fost liderii cotei de piata, cu o cota de piata de 49,4%, 27,8% si respectiv, 20,6%. Cu toate acestea, aceste numere includ solutii grafice integrate ca GPU-uri.
Fara a tine cont de acestea, Nvidia si AMD controlau aproape 100% din piata de gpu-uri in 2018. Cota de piata respectiva este de 66% si 33%. In plus, S3 Graphics, Intel si Matrox produc si ele GPU-uri. Smartphone-urile moderne folosesc, de asemenea, in mare parte GPU-uri Adreno de la Qualcomm, GPU-uri PowerVR de la Imagination Technologies si GPU Mali de la ARM.
Functii de calcul
GPU-urile moderne folosesc cea mai mare parte a tranzistoarelor lor pentru a face calcule legate de grafica computerizata 3D. In plus fata de hardware-ul 3D, GPU-urile de astazi includ accelerare de baza 2D si capabilitati framebuffer (de obicei cu un mod de compatibilitate VGA).
Cardurile mai noi, cum ar fi AMD / ATI HD5000-HD7000, au chiar acceleratie 3D; trebuie sa fie emulat de hardware 3D. GPU-urile au fost initial folosite pentru a accelera munca intensiva in memorie a maparii texturilor si a redarii poligoanelor, ulterior adaugand unitati hardware pentru a accelera calculele geometrice, cum ar fi rotirea si transpunerea varfurilor in diferite sisteme de coordonate.
Evolutiile recente ale GPU-urilor includ suportul pentru shadere programabile care pot manipula varfuri si texturi cu multe din aceleasi operatiuni sustinute de procesoare, cu tehnici de suprapunere si interpolare pentru a reduce aliasingul si a creea spatii de culoare foarte precise.
Deoarece majoritatea acestor calcule implica operatiuni cu matrice si vectoriale, inginerii si oamenii de stiinta au studiat din ce in ce mai mult utilizarea GPU-urilor pentru calcule non-grafice; ele sunt potrivite in special pentru calculul paralel.
O data cu aparitia invatarii profunde – deep learning, importanta GPU-urilor a crescut. In cadrul cercetarilor efectuate de Indigo, s-a constatat ca, in timp ce isi antreneaza retelele neuronale de deep learning, GPU-urile pot fi de 250 de ori mai rapide decat procesoarele. Cresterea exploziva a deep learning din ultimii ani a fost atribuita aparitiei GPU-urilor cu scop general.
A existat un anumit nivel de concurenta in acest domeniu cu ASIC-uri, cel mai proeminent fiind Unitatea de procesare a tensiunii (TPU) realizata de Google. Cu toate acestea, ASIC necesita modificari ale codului existent, iar GPU-urile sunt inca foarte populare.
Decodarea si codificarea video accelerata GPU
Majoritatea GPU-urilor realizate incepand cu 1995 accepta suprapunerile de spatiu si hardware color YUV, importante pentru redarea video digitala, iar multe GPU-uri realizate incepand cu anul 2000 accepta, de asemenea, codec MPEG si iDCT.
Acest proces de decodare video accelerat hardware, in care portiuni ale procesului de decodare video si post-procesare video sunt descarcate in hardware-ul GPU, este denumit in mod obisnuit „decodare video accelerata GPU”, „decodare video asistata de GPU”, „hardware cu GPU accelerat” decodare video sau „decodare video asistata de hardware GPU „.
Cardurile grafice mai recente chiar decodeaza videoclipurile de inalta definitie pe card, eliberand unitatea centrala de procesare. Cele mai frecvente API-uri pentru decodarea video accelerata GPU sunt DxVA pentru sistemul de operare Microsoft Windows si VDPAU, VAAPI, XvMC si XvBA pentru sisteme de operare bazate pe Linux si UNIX. Toate, cu exceptia XvMC, sunt capabile sa decodeze videoclipuri codificate cu 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) si codecuri DivX 5, in timp ce XvMC este capabil doar sa decodeze MPEG-1 si MPEG-2.
Exista mai multe solutii dedicate de decodare si codificare video hardware.
Procese de decodare video care pot fi accelerate
Procesele de decodare video care pot fi accelerate de hardware-ul modern GPU de astazi sunt:
- Compensarea miscarii (mocomp)
- Transformarea inversa a cosinusului discret (iDCT)
- Inversare telecine 3: 2 si 2: 2
- Transformarea inversa a cosinusului discret modificata (iMDCT)
- Filtru de deblocare in bucla
- Predictie intra-cadru
- Cuantizare inversa (IQ)
- Decodare cu lungime variabila (VLD), mai frecvent cunoscuta sub numele de acceleratie la nivel de felie
- Deinterlocare spatial-temporala si detectie automata a intercalarii / surselor progresive
- Prelucrare bitstream (codare cu lungime variabila adaptiva la context / codificare aritmetica binara adaptativa la context) si pozitionare perfecta a pixelilor.
Operatiunile de mai sus au, de asemenea, aplicatii de editare video, codificare si transcodare.
Carduri grafice dedicate
GPU-urile celei mai puternice clase au interfata de obicei cu placa de baza cu ajutorul unui slot de expansiune precum PCI Express (PCIe) sau Accelerated Graphics Port (AGP) si pot fi in general inlocuite sau modernizate cu o usurinta relativa, presupunand ca placa de baza este capabila sa sustina upgrade-ul.
Cateva placi grafice utilizeaza inca sloturi PCI (Periferale Component Interconnect), dar latimea de banda a acestora este atat de limitata incat sunt utilizate in general numai atunci cand un slot PCIe sau AGP nu este disponibil.
Un GPU dedicat nu este neaparat detasabil si nu are interfata neaparat cu placa de baza in mod standard. Termenul „dedicat” se refera la faptul ca placile grafice dedicate au RAM – memorie care este dedicata utilizarii cardului, nu la faptul ca majoritatea GPU-urilor dedicate sunt amovibile.
In plus, aceasta memorie RAM este de obicei selectata special pentru sarcina de lucru principala a placii grafice (vezi GDDR). Uneori, sistemele cu GPU-uri dedicate, discrete, au fost numite sisteme „DIS”, spre deosebire de sistemele „UMA”, care nu dispun de placi grafice dedicate.
GPU-urile dedicate pentru computere portabile sunt cel mai frecvent interfatate printr-un slot non-standard si deseori proprietar, datorita constrangerilor de marime si greutate. Astfel de porturi pot fi considerate in continuare PCIe sau AGP in ceea ce priveste interfata lor gazda logica, chiar daca nu sunt schimbate fizic cu omologii lor.
Tehnologii precum SLI si NVLink de Nvidia si CrossFire de AMD permit mai multor GPU-uri sa proceseze imagini simultan pentru un singur ecran, sporind puterea de procesare disponibila pentru grafica. Totusi, aceste tehnologii sunt din ce in ce mai putin frecvente, intrucat majoritatea jocurilor nu utilizeaza mai multe GPU-uri, deoarece majoritatea utilizatorilor nu isi pot permite sa cumpere mai multe unitati grafice.
Mai multe GPU-uri sunt inca utilizate pe supercomputere (ca Summit), pe statiile de lucru pentru a accelera video (procesarea mai multor videoclipuri simultan) si in redarea 3D, pentru VFX si pentru simulari, dar si in AI pentru a accelera procesele, asa cum se intampla in gama de statii de lucru si servere DGX Nvidia.
Carduri grafice integrate
Unitatea de procesare grafica integrata (IGPU), este o solutie grafice partajata, cu o arhitectura de memorie unificata (UMA) ce utilizeaza o portiune din memoria RAM a unui computer in loc de memoria grafica dedicata. IGP-urile pot fi integrate pe placa de baza ca parte a chipset-ului sau in acelasi matrita cu CPU (cum ar fi AMD APU sau Intel HD Graphics).
Pe anumite placi de baza, IGP-urile AMD pot utiliza memorie dedicata pentru suport lateral. Acesta este un bloc fix separat de memorie, de inalta performanta, si este dedicat utilizarii de catre GPU. La inceputul anului 2007, computerele cu grafica integrata reprezinta aproximativ 90% din toate livrarile de PC.
Sunt mai putin costisitoare de implementat decat procesarea grafica dedicata, dar tind sa fie mai putin capabile. Istoric, procesarea integrata a fost considerata nepotrivita pentru a juca jocuri 3D avansate sau pentru a rula programe cu grafica evoluata, dar ar putea rula programe mai putin intensive, cum ar fi Adobe Flash.
Exemple de astfel de IGP-uri ar fi ofertele de la SiS si VIA in jurul anului 2004. Cu toate acestea, procesoarele grafice integrate moderne precum AMD Accelerated Processing Unit si Intel HD Graphics sunt mai mult decat capabile sa proceseze grafica 2D sau grafica 3D.
Deoarece calculele GPU sunt extrem de intensificate in memorie, este posibil ca procesarea integrata sa concureze cu CPU-ul pentru memoria RAM relativ lenta, deoarece are o memorie video minima sau deloc. IGP-urile pot avea pana la 29.856 GB / s de latime de banda de memorie din memoria RAM a sistemului, in timp ce o placa grafica poate avea pana la 264 GB / s de latime de banda intre memoria RAM si nucleul GPU. Aceasta latime de banda a magistralei de memorie poate limita performanta GPU, desi memoria multicanal poate atenua aceasta deficienta.
Prelucrare grafica hibrida
Aceasta clasa mai noua de GPU concureaza cu o grafica integrata pe pietele low-end desktop si notebook. Cele mai frecvente implementari ale acestora sunt HyperMemory ATI si TurboCache de la Nvidia.
Cardurile grafice hibride sunt ceva mai scumpe decat cele grafice integrate, dar mult mai putin costisitoare decat cele grafice dedicate.
Acestea partajeaza memoria cu sistemul si au o memorie cache mica dedicata, pentru a compensa latenta mare a memoriei RAM a sistemului. Tehnologiile din PCI Express pot face acest lucru posibil. In timp ce aceste solutii sunt uneori marketate ca avand 768 MB de memorie RAM, aceasta se refera la cat de mult poate fi partajat cu memoria sistemului.
GPU extern (eGPU)
Un GPU extern este un procesor grafic situat in afara carcasei computerului, similar cu un hard disk extern mare. Procesoarele grafice externe sunt uneori utilizate cu computerele laptop.
Laptop-urile ar putea avea o cantitate substantiala de RAM si o unitate de procesare centrala (CPU) suficient de puternica, dar adesea nu au un procesor grafic puternic, acesta fiind insa mai eficient din punct de vedere energetic. Cardurile grafice “on-board” nu sunt adesea suficient de puternice pentru a juca jocuri video sau pentru alte activitati grafice intensive, cum ar fi editarea video sau animatia 3D.
Prin urmare, este de dorit sa poti atasa un GPU la o sursa externa a unui notebook. PCI Express este singura magistrala utilizata in acest scop. Portul poate fi, de exemplu, un port ExpressCard sau mPCIe (PCIe × 1, pana la 5 sau 2,5 Gbit / s) sau un port Thunderbolt 1, 2 sau 3 (PCIe × 4, pana la 10, 20 sau Respectiv 40 Gbit / s). Aceste porturi sunt disponibile numai pe anumite sisteme de notebook-uri. Carcasele eGPU includ propria sursa de alimentare (PSU), deoarece GPU-urile puternice pot consuma cu usurinta sute de wati.