TORIma Accademia Logo TORIma Accademia
Unità di elaborazione grafica (Graphics processing unit)
Tecnologia

Unità di elaborazione grafica (Graphics processing unit)

TORIma Accademia — Hardware informatico

Graphics processing unit

Unità di elaborazione grafica (Graphics processing unit)

Un'unità di elaborazione grafica (GPU) è un circuito elettronico specializzato progettato per l'elaborazione di immagini digitali e per accelerare la grafica del computer, essendo presente...

Un'unità di elaborazione grafica (GPU) rappresenta un circuito elettronico specializzato progettato per l'elaborazione delle immagini digitali e l'accelerazione della grafica del computer. Queste unità sono integrate come componenti discreti su schede grafiche o incorporate in schede madri, telefoni cellulari, personal computer, workstation e console di gioco. Inoltre, le GPU vengono sempre più utilizzate nell'elaborazione dell'intelligenza artificiale (AI), sfruttando le loro capacità nell'accelerazione dell'algebra lineare, una tecnica fondamentale anche per l'elaborazione grafica.

Sebbene una definizione singolare per il termine rimanga sfuggente e possa abbracciare ampiamente qualsiasi sistema di visualizzazione video, l'uso contemporaneo definisce una GPU come dotata della capacità computazionale interna per diverse operazioni grafiche, come la rotazione e il ridimensionamento delle immagini 3D. Spesso le GPU supportano anche l'esecuzione di programmi personalizzati chiamati shader. Questa funzionalità li distingue dai controller grafici precedenti, in particolare dai controller per display video, che mancavano di capacità di calcolo interne, e dai blitter, che erano limitati alle operazioni fondamentali di trasferimento della memoria. La moderna GPU si è evoluta negli anni '90, incorporando inizialmente la capacità di eseguire il rendering di linee e testo indipendentemente dall'unità di elaborazione centrale (CPU) e successivamente integrando funzionalità 3D.

L'indipendenza intrinseca delle funzioni grafiche facilita la loro implementazione su motori di calcolo distinti. Le GPU contemporanee incorporano centinaia o addirittura migliaia di unità di elaborazione. Questa architettura parallela li rende estremamente efficaci per i calcoli non grafici che coinvolgono problemi paralleli imbarazzanti. La capacità delle GPU di eseguire rapidamente una moltitudine di calcoli ha guidato la loro integrazione in vari domini, in particolare l'intelligenza artificiale (AI), dove dimostrano prestazioni eccezionali nella gestione di attività ad alta intensità di dati e computazionalmente rigorose. Ulteriori applicazioni non grafiche comprendono l'addestramento della rete neurale e il mining di criptovaluta.

Storia

anni '60

Le origini dell'hardware grafico 3D dedicato possono essere ricondotte a terminali grafici come l'Adage AGT-30, introdotto nel 1967, che presentava processori a matrice analogica. Nel 1969, Evans & Sutherland (E&S) ha presentato il Line Drawing System-1 (LDS-1), noto come il primo sistema interamente digitale in grado di moltiplicare matrici. Contemporaneamente, nel 1969, fu lanciato l'IMLAC PDS-1, un terminale grafico conveniente. Questo sistema è successivamente servito come una delle prime piattaforme per i giochi 3D, esemplificati da titoli come Maze War.

anni '70

Nell'ambito dell'hardware professionale, il sistema PLATO IV ha iniziato ad operare presso l'Università dell'Illinois Urbana-Champaign nel 1972. Dal 1973 al 1978 circa, gli utenti di questo sistema hanno sviluppato e reso popolari diversi giochi 3D wireframe multiplayer in rete. Sempre nel 1972, il sistema "Watkins box" E&S Continuous Tone 1 (CT1), comprendente un E&S LDS-2 e uno Shaded Picture System, fu implementato presso la Case Western Reserve University, introducendo la prima ombreggiatura Gouraud in tempo reale. Nel 1975, uno sforzo di collaborazione tra Evans & La Sutherland Computer Corporation e il dipartimento di computer grafica dell'Università dello Utah hanno prodotto il pionieristico framebuffer video MOSFET, che supportava colori e ombreggiature uniformi. Il sistema E&S Continuous Tone 3 (CT3), consegnato a Lufthansa nel 1977 per l'addestramento dei piloti tramite simulazione al computer, rappresentò il primo sistema grafico in grado di effettuare la mappatura delle texture in tempo reale. Durante la fine degli anni '70, Ikonas produsse sistemi grafici caratterizzati da grafica a 8 e 24 bit insieme all'accelerazione 3D.

Dagli anni '70, le schede di sistema arcade hanno incorporato circuiti grafici 2D specializzati. Nelle fasi nascenti dell'hardware dei videogiochi, il costo elevato della RAM per i frame buffer richiedeva che i chip video componessero i dati durante il processo di scansione del display sul monitor.

Un circuito dedicato del cambio a botte ha facilitato l'animazione della CPU della grafica framebuffer per numerosi videogiochi arcade degli anni '70 sviluppati da Midway e Taito, tra cui Gun Fight (1975), Sea Wolf (1976) e Space Invaders (1978). Nel 1979, il sistema arcade Namco Galaxian integrava hardware grafico specializzato che forniva supporto per colori RGB, sprite multicolori e sfondi Tilemap. L'hardware Galaxian ha raggiunto un'adozione diffusa durante l'età d'oro dei videogiochi arcade, utilizzato da aziende importanti come Namco, Centuri, Gremlin, Irem, Konami, Midway, Nichibutsu, Sega e Taito.

Nel 1977, la console Atari 2600 utilizzava un commutatore video noto come adattatore di interfaccia televisivo. Successivamente, i computer Atari a 8 bit, introdotti nel 1979, incorporarono ANTIC, un processore video dedicato. ANTIC ha interpretato un "elenco di visualizzazione", che definiva il modo in cui le linee di scansione venivano mappate su specifiche modalità bitmap o carattere e gestiva l'archiviazione della memoria, eliminando così la necessità di un frame buffer contiguo. Inoltre, questo processore consentiva l'esecuzione di subroutine del codice macchina 6502 su specifiche linee di scansione attivando un bit designato all'interno di un'istruzione di elenco di visualizzazione. ANTIC ha inoltre facilitato lo scorrimento verticale e orizzontale indipendente, alleggerito dall'unità di elaborazione centrale.

Gli anni '80

Gli anni '80 sono stati caratterizzati da progressi sostanziali nell'hardware grafico 3D professionale. Uno sviluppo particolarmente cruciale è stata la creazione nel 1981 del Geometry Engine, un circuito integrato specifico per l'applicazione (ASIC) del processore vettoriale Very Large Scale Integration (VLSI), concepito da Jim Clark e Marc Hannah presso l'Università di Stanford. Questo processore è riconosciuto come un precursore dei tensor core contemporanei e dei processori analoghi utilizzati nelle applicazioni grafiche e di intelligenza artificiale. Il Geometry Engine è stato successivamente integrato nelle workstation Silicon Graphics per un lungo periodo. Il prodotto inaugurale di Silicon Graphics, il terminale IRIS 1000, spedito nel novembre 1983, presentava grafica 3D con accelerazione hardware alimentata dal Geometry Engine. Questo processore innovativo ha dimostrato una capacità di elaborazione di circa 6 milioni di operazioni al secondo.

Il NEC μPD7220 ha rappresentato l'implementazione inaugurale di un processore per display grafico per personal computer come un singolo chip di circuito integrato Large-Scale Integration (LSI). Questa innovazione ha facilitato lo sviluppo di schede grafiche video convenienti e ad alte prestazioni, esemplificate da quelle di Number Nine Visual Technology. Ha acquisito importanza come l'unità di elaborazione grafica (GPU) più riconosciuta fino alla metà degli anni '80. Essendo il primo processore per display grafico a semiconduttore a ossido di metallo (NMOS) Very Large-Scale Integration (VLSI) completamente integrato per personal computer, supportava risoluzioni fino a 1024 × 1024 e ha gettato le basi per il mercato della grafica per PC. Il μPD7220 è stato incorporato in numerose schede grafiche e successivamente è stato concesso in licenza per progetti compatibili, incluso l'Intel 82720, che ha segnato l'incursione iniziale di Intel nelle unità di elaborazione grafica. Contemporaneamente, i giochi arcade Williams Electronics del 1982, Robotron: 2084, Joust, Sinistar e Bubbles, presentavano ciascuno chip blitter personalizzati progettati per manipolare bitmap a 16 colori.

Nel 1984, Hitachi introdusse ARTC HD63484, che divenne il primo significativo complementare Processore grafico Metal-Oxide-Semiconductor (CMOS) per personal computer. L'ARTC era in grado di eseguire il rendering di risoluzioni fino a 4K quando funzionava in modalità monocromatica. È stato ampiamente adottato in varie schede grafiche e terminali durante la fine degli anni '80.

L'Amiga, lanciato nel 1985, ha debuttato con un chip grafico proprietario chiamato Agnus. Questo chip incorporava un blitter, che facilitava la manipolazione della bitmap, il disegno di linee e le operazioni di riempimento dell'area. Inoltre, Agnus presentava un coprocessore dotato di un proprio set di istruzioni semplificato. Questo coprocessore era in grado di manipolare in modo sincronizzato i registri dell'hardware grafico con il raggio video, abilitando funzionalità come i cambi di tavolozza per linea di scansione, il multiplexing degli sprite e le finestre hardware, oppure poteva controllare direttamente il blitter.

Sempre nel 1985, IBM ha introdotto il Professional Graphics Controller, una scheda grafica 3D fondamentale. Offriva una risoluzione 640 × 480 con grafica a 256 colori e utilizzava una CPU dedicata per eseguire il rendering della grafica in modo autonomo dal sistema principale. Questo controller fungeva da base architettonica per le schede prodotte da vari produttori, tra cui Matrox, e il suo segnale RGB analogico influenzò direttamente lo sviluppo dello standard video VGA.

Nel 1986, Texas Instruments ha presentato il TMS34010, che si è distinto come il primo processore grafico completamente programmabile. Questo processore possedeva la capacità di eseguire codice generico e allo stesso tempo presentava un set di istruzioni specializzate orientate alla grafica. Dal 1990 al 1992, questo chip ha successivamente costituito il nucleo delle schede acceleratrici Windows Texas Instruments Graphics Architecture ("TIGA").

Successivamente, nel 1987, IBM introdusse il sistema grafico 8514. Questo sistema si è distinto come una delle prime schede video per PC compatibili IBM a implementare primitive 2D a funzioni fisse direttamente nell'hardware elettronico. Sempre nel 1987, il computer X68000 di Sharp incorporava un chipset grafico personalizzato, offrendo una tavolozza di 65.536 colori e fornendo accelerazione hardware per sprite, scorrimento e campi di gioco multipli. Questa macchina è servita in particolare come piattaforma di sviluppo per la scheda arcade CP System di Capcom. Due anni dopo, nel 1989, il computer FM Towns di Fujitsu supportava una tavolozza di 16.777.216 colori.

Nel 1987, IBM ha introdotto il suo sistema di visualizzazione Video Graphics Array (VGA), che supportava una risoluzione massima di 640 × 480 pixel. A differenza dell'8514/A, il VGA mancava di capacità di accelerazione hardware. Nel novembre 1988, NEC Home Electronics ha fondato la Video Electronics Standards Association (VESA) per sviluppare e promuovere Super VGA (SVGA) come standard di visualizzazione per computer successore al VGA. Super VGA supportava risoluzioni di visualizzazione che raggiungevano 800 × 600 pixel, che rappresentano un miglioramento del 56% nella risoluzione.

Nel 1988, SGI commercializzò sistemi grafici per workstation IRIS dotati di 10-12 Geometry Engine e successivamente lanciò la scheda aggiuntiva IrisVision, anch'essa basata sul Geometry Engine, per IBM Sistemi bus MicroChannel (RS/6000).

Contemporaneamente, nel 1988, debuttarono Namco System 21 e Taito Air System, con le prime schede grafiche 3D poligonali dedicate nelle macchine arcade.

Gli anni '90

Gli anni '90 hanno visto progressi significativi nell'hardware grafico 3D per workstation professionali di Sun Microsystems, SGI e altri produttori. L'introduzione di OpenGL da parte di SGI nel 1992 ha gettato le basi per interfacce di programmazione 3D standardizzate e indipendenti dall'hardware. Tuttavia, dalla metà alla fine degli anni ’90, l’hardware di livello professionale è stato progressivamente oscurato dai prodotti di consumo. Queste offerte per i consumatori fornivano prestazioni paragonabili o superiori, in particolare per quanto riguarda la mappatura delle texture, a un costo ridotto e su piattaforme più accessibili agli utenti finali.

Nel 1991, S3 Graphics ha introdotto la S3 86C911, chiamata dai suoi progettisti in onore della Porsche 911 per indicare i miglioramenti prestazionali previsti. L'86C911 ha ispirato numerose imitazioni; nel 1995, tutti i principali produttori di chip grafici per PC avevano integrato funzionalità di accelerazione 2D nei loro prodotti. Gli acceleratori Windows dedicati a funzioni fisse hanno successivamente sovraperformato i costosi coprocessori grafici per uso generale negli ambienti Windows, portando all'obsolescenza di questi ultimi nel mercato dei PC.

Tra l'inizio e la metà degli anni '90, la proliferazione della grafica 3D in tempo reale nei giochi arcade, per computer e console ha stimolato una crescente domanda da parte dei consumatori di soluzioni grafiche 3D con accelerazione hardware. Esempi pionieristici di hardware grafico 3D per il mercato di massa sono emersi nelle schede di sistema arcade, tra cui Sega Model 1, Namco System 22 e Sega Model 2, nonché nelle console per videogiochi di quinta generazione come Saturn, PlayStation e Nintendo 64. In particolare, i sistemi arcade come Sega Model 2 e Namco Magic Edge Hornet Simulator basato su SGI Onyx, introdotto nel 1993, presentavano T&L con accelerazione hardware. (trasformazione, ritaglio e illuminazione) anni prima della loro integrazione nelle schede grafiche consumer. Un'altra delle prime innovazioni fu il chip Super FX, un processore grafico basato su RISC incorporato nelle cartucce di giochi SNES, utilizzato in modo prominente in titoli come Doom e Star Fox. Alcuni sistemi utilizzavano processori di segnale digitale (DSP) per accelerare le trasformazioni. Fujitsu, un collaboratore del sistema arcade Sega Model 2, ha avviato gli sforzi nel 1995 per integrare T&L in una soluzione monolitica di integrazione su larga scala (LSI) per personal computer. Questo sforzo culminò nel Fujitsu Pinolite, il primo processore di geometria 3D per personal computer, presentato nel 1997. Il Reality Coprocessor del Nintendo 64, lanciato nel 1996, rappresentò la prima GPU hardware T&L per console di videogiochi domestiche. Successivamente, nel 1997, Mitsubishi ha introdotto 3Dpro/2MP, una GPU che offre funzionalità di trasformazione e illuminazione per workstation e desktop Windows NT. ATi ha incorporato questa tecnologia nella sua scheda grafica FireGL 4000, anch'essa rilasciata nel 1997.

L'acronimo "GPU" è stato coniato da Sony, riferendosi specificamente alla GPU Sony a 32 bit (progettata da Toshiba) integrata nella console per videogiochi PlayStation, che ha debuttato nel 1994.

Gli anni 2000

Nell'ottobre 2002, il lancio della ATI Radeon 9700 (denominata anche R300), riconosciuta come l'acceleratore Direct3D 9.0 inaugurale al mondo, ha consentito agli shader di pixel e vertex di eseguire calcoli iterativi ed estesi in virgola mobile. Questi shader si avvicinarono rapidamente alla flessibilità delle CPU offrendo allo stesso tempo una velocità maggiore di ordini di grandezza per l'elaborazione degli array di immagini. Il pixel shading viene spesso utilizzato per il bump mapping, una tecnica che applica texture per eseguire il rendering di oggetti con aspetti diversi, come superfici lucide, opache, ruvide, arrotondate o estruse.

Con l'introduzione della serie Nvidia GeForce 8 e di nuove unità generiche di elaborazione del flusso, le unità di elaborazione grafica (GPU) si sono evolute in dispositivi informatici più generalizzati. Le GPU parallele hanno progressivamente messo alla prova le unità di elaborazione centrale (CPU) nelle attività computazionali, promuovendo un dominio di ricerca specializzato noto come GPU computing o GPGPU, acronimo di general Purpose Computing on GPU. Questo campo ha prodotto diverse applicazioni, tra cui l’apprendimento automatico, l’esplorazione petrolifera, l’elaborazione scientifica di immagini, l’algebra lineare, la statistica, la ricostruzione 3D e la determinazione del prezzo delle stock option. Le GPGPU sono servite come predecessori fondamentali degli shader di calcolo contemporanei (ad esempio, CUDA, OpenCL, DirectCompute), inizialmente sfruttando l'hardware in modo non convenzionale interpretando i dati algoritmici come mappe di texture ed eseguendo algoritmi attraverso il rendering di un triangolo o quadrato con un pixel shader adatto. Questo approccio introduceva intrinsecamente costi operativi, poiché componenti come il convertitore di scansione erano impegnati inutilmente e le manipolazioni dei triangoli erano irrilevanti se non per il solo scopo di invocare il pixel shader.

La piattaforma CUDA di Nvidia, lanciata nel 2007, ha rappresentato il paradigma di programmazione iniziale ampiamente adottato per il GPU computing. Al contrario, OpenCL, uno standard aperto stabilito dal Gruppo Khronos, facilita lo sviluppo di codice compatibile sia con GPU che con CPU, dando priorità alla portabilità multipiattaforma. Le implementazioni OpenCL ricevono il supporto dei principali attori del settore, tra cui Intel, AMD, Nvidia e ARM; un rapporto del 2011 di Evans Data indicava che OpenCL era emerso come il secondo strumento più diffuso nel calcolo ad alte prestazioni (HPC).

Anni 2010

Nel 2010, Nvidia ha collaborato con Audi per integrare le GPU Tegra nei cruscotti dei veicoli, migliorando così la funzionalità dei sistemi di navigazione e intrattenimento automobilistici. Allo stesso tempo, i progressi nella tecnologia GPU nel settore automobilistico hanno contribuito in modo significativo al progresso delle capacità di guida autonoma. AMD ha introdotto le sue schede grafiche della serie Radeon HD 6000 nel 2010, seguite dal rilascio delle GPU discrete della serie 6000M per piattaforme mobili nel 2011. La linea di schede grafiche Kepler di Nvidia, lanciata nel 2012, è stata incorporata nelle serie Nvidia 600 e 700. Caratteristiche degne di nota della microarchitettura GPU Kepler includevano GPU Boost, una tecnologia progettata per regolare dinamicamente la velocità di clock di una scheda video in base al suo consumo energetico, e NVENC, una tecnologia di accelerazione della codifica video dedicata.

Nel 2013 sono state rilasciate le console PlayStation 4 e Xbox One, entrambe incorporanti GPU derivate dalle architetture Radeon HD 7850 e 7790 di AMD. La serie di GPU Kepler di Nvidia è stata sostituita dalla linea Maxwell, che utilizzava lo stesso processo di produzione. I chip da 28 nm di Nvidia sono stati fabbricati da TSMC a Taiwan, utilizzando il processo da 28 nm che, rispetto alla precedente tecnologia da 40 nm, ha prodotto un aumento delle prestazioni del 20% insieme a un consumo energetico ridotto. I visori per realtà virtuale, al momento del loro rilascio iniziale, necessitavano di specifiche di sistema sostanziali, con i produttori che consigliavano GPU come GTX 970 o R9 290X o modelli superiori. Nel 2016 sono state introdotte le schede grafiche basate sulla microarchitettura Pascal, che comprendono la serie GeForce 10. Queste schede sono state prodotte utilizzando un processo di produzione a 16 nm, che rappresenta un miglioramento significativo rispetto alle microarchitetture precedenti.

Nel 2018, Nvidia ha introdotto le GPU della serie RTX 20, che integravano core di ray tracing dedicati, consentendo funzionalità di ray tracing in tempo reale su hardware di livello consumer. Allo stesso tempo, le GPU Polaris 11 e Polaris 10 di AMD sono state prodotte utilizzando un processo a 14 nm, portando a un notevole miglioramento nella metrica delle prestazioni per watt per le schede video AMD. AMD ha inoltre lanciato la serie di GPU Vega, rivolgendosi al mercato di fascia alta come concorrente diretto delle schede Pascal di fascia alta di Nvidia, e in particolare presentava High Bandwidth Memory 2 (HBM2), simile alla Titan V.

Nel 2019, AMD ha introdotto RDNA, il successore della sua microarchitettura Graphics Core Next (GCN) e del set di istruzioni, con la serie di schede video Radeon RX 5000 che sono i prodotti inaugurali a presentarla. La società ha successivamente annunciato che la successiva iterazione della microarchitettura RDNA costituirà un "aggiornamento" incrementale. AMD ha successivamente presentato la serie Radeon RX 6000, che incorporava l'architettura grafica RDNA 2 e forniva supporto per il ray tracing con accelerazione hardware. Questa serie di prodotti, lanciata alla fine del 2020, includeva RX 6800, RX 6800 XT e RX 6900 XT. La RX 6700 XT, basata sull'architettura Navi 22, è stata rilasciata all'inizio del 2021.

PlayStation 5, Xbox Series X e Xbox Series S, tutte rilasciate nel 2020, integrano GPU basate sulla microarchitettura RDNA 2, con miglioramenti incrementali e configurazioni GPU distinte su misura per l'implementazione di ciascun sistema.

2020

Durante gli anni 2020, le unità di elaborazione grafica (GPU) hanno visto una crescente adozione di calcoli che comportano problemi altamente parallelizzabili, in particolare l'addestramento di reti neurali su estesi set di dati essenziali per modelli linguistici di grandi dimensioni di intelligenza artificiale. La maggior parte delle GPU contemporanee incorpora core di elaborazione specializzati progettati per il deep learning, che migliorano sostanzialmente le prestazioni FLOPS attraverso operazioni di moltiplicazione e divisione di matrici 4×4. Le implementazioni iniziali, esemplificate dalla microarchitettura Volta di Nvidia, introdotta nel 2017, hanno dimostrato livelli di prestazioni che raggiungono fino a 128 TFLOPS in applicazioni specifiche.

Successivamente, i core di accelerazione AI sono diventati una caratteristica prevalente nelle microarchitetture consumer e workstation, a partire dalla microarchitettura Turing di Nvidia nel 2018, dove sono stati designati come core Tensor. Inizialmente implementati per il Deep Learning Super Sampling (DLSS) per aumentare le prestazioni di gioco e perfezionare la fedeltà delle immagini, questi core sono stati poi integrati nel software Broadcast di Nvidia, abilitando varie funzionalità basate sull'intelligenza artificiale come il filtraggio vocale e la riduzione del rumore video.

AMD ha successivamente integrato i suoi analoghi core "Matrix" nella sua architettura RDNA 3 per i prodotti di consumo, mentre Intel ha incorporato i suoi core "XMX" equivalenti in tutte le GPU Arc, a cominciare dalla microarchitettura Alchemist.

Produttori GPU

Numerose aziende hanno sviluppato GPU commercializzate con vari marchi. Nel 2009, Intel, Nvidia e AMD/ATI costituivano i principali leader di mercato, detenendo quote di mercato rispettivamente del 49,4%, 27,8% e 20,6%. Matrox produce anche GPU. Inoltre, le aziende cinesi, tra cui Jingjia Micro, hanno prodotto GPU principalmente per il mercato interno, sebbene il loro volume di vendite globali rimanga significativamente inferiore a quello dei leader di mercato affermati.

Capacità computazionali

Le prestazioni di una scheda grafica nel rendering in tempo reale sono influenzate da diversi fattori architettonici, tra cui le dimensioni dei percorsi dei connettori nella fabbricazione dei dispositivi a semiconduttore, la frequenza del segnale di clock e la quantità e la capacità delle cache di memoria integrate. Le prestazioni sono inoltre determinate dal numero di multiprocessori di streaming (SM) nelle GPU Nvidia, unità di calcolo (CU) nelle GPU AMD o core Xe nelle GPU basate su Intel Xe. Queste unità rappresentano i core del processore su silicio all'interno del chip GPU che eseguono calcoli primari, spesso operando in parallelo con altri SM o CU. Le prestazioni della GPU sono convenzionalmente quantificate in operazioni in virgola mobile al secondo (FLOPS); Le GPU sviluppate durante gli anni 2010 e 2020 in genere raggiungono livelli di prestazioni misurati in teraflop (TFLOPS). È importante notare che questa metrica fornisce una prestazione stimata, poiché vari altri elementi possono influire sulla velocità di visualizzazione effettiva.

Interfacce di programmazione di applicazioni grafiche 2D

Le GPU legacy spesso supportavano una o più API (Application Programming Interface) grafiche 2D per l'accelerazione 2D, tra cui GDI e DirectDraw.

Configurazioni GPU

Terminologia

Durante gli anni '70, l'acronimo "GPU" indicava inizialmente un'unità processore grafico, caratterizzando un componente di elaborazione programmabile che operava in modo autonomo dall'unità di elaborazione centrale (CPU) e dedicato alla manipolazione e all'output grafico. Nel 1994, Sony utilizzò il termine (con il significato di unità di elaborazione grafica) riferendosi alla GPU Sony progettata da Toshiba all'interno della console PlayStation. Nvidia ha successivamente reso popolare il termine nel 1999, commercializzando la sua GeForce 256 come "la prima GPU al mondo", che è stata presentata come un "processore a chip singolo con trasformazione integrata, illuminazione, configurazione/ritaglio del triangolo e motori di rendering". In risposta, la rivale ATI Technologies ha introdotto la designazione "unità di elaborazione visiva" (VPU) al momento del rilascio della sua Radeon 9700 nel 2002. Più recentemente, l'AMD Alveo MA35D, lanciata nel 2023, incorpora due VPU, ciascuna fabbricata utilizzando un processo a 5 nm.

Nei sistemi di personal computing, le GPU si manifestano principalmente in due configurazioni: grafica dedicata (nota anche come grafica discreta) e grafica integrata (in alternativa denominate soluzioni grafiche condivise, processori grafici integrati (IGP) o architettura di memoria unificata (UMA).

Unità di elaborazione grafica dedicata

Le unità di elaborazione grafica dedicate utilizzano la memoria ad accesso casuale (RAM) allocata esclusivamente alla GPU, quindi non dipendente dalla memoria di sistema principale del computer. Questa RAM specializzata, come la SDRAM GDDR, viene generalmente scelta per soddisfare il carico di lavoro sequenziale previsto della scheda grafica. Storicamente, i sistemi dotati di GPU discrete dedicate venivano spesso chiamati sistemi "DIS", in contrasto con i sistemi "UMA" (Unified Memory Architecture).

Tecnologie come Scan-Line Interleave di 3dfx, Scalable Link Interface (SLI) e NVLink di Nvidia e CrossFire di AMD consentono a più GPU di eseguire il rendering delle immagini contemporaneamente per un singolo display, aumentando così la capacità computazionale dedicata all'elaborazione grafica. Tuttavia, la prevalenza di queste configurazioni multi-GPU sta diminuendo, principalmente perché la maggior parte dei giochi contemporanei non sfrutta appieno le loro capacità e i costi associati sono proibitivi per la maggior parte dei consumatori. Nonostante questo calo nell'adozione da parte dei consumatori, le configurazioni multi-GPU rimangono parte integrante di domini specializzati come il supercalcolo (ad esempio Summit), workstation professionali per accelerare l'elaborazione video e il rendering 3D, produzione di effetti visivi (VFX), carichi di lavoro GPGPU (unità di elaborazione grafica per uso generale), simulazioni scientifiche e formazione sull'intelligenza artificiale (AI), esemplificati dalle workstation e server DGX di Nvidia, dalle GPU Tesla e dalle GPU Ponte Vecchio di Intel.

Unità di elaborazione grafica integrate

unità di elaborazione grafica integrata (IGPU), denominate anche grafica integrata, soluzioni grafiche condivise, processori grafici integrati (IGP) o architetture di memoria unificata (UMA), utilizzano un segmento della memoria ad accesso casuale (RAM) del sistema principale del computer invece di impiegare memoria grafica dedicata. Questi processori grafici integrati possono essere incorporati direttamente su una scheda madre, spesso come componente del chipset northbridge, o collocati sullo stesso die del circuito integrato dell'unità di elaborazione centrale (CPU), esemplificato dalle unità di elaborazione accelerata (APU) di AMD e dalla grafica Intel HD. Inoltre, design specifici della scheda madre consentono agli IGP di AMD di accedere alla memoria sideport dedicata, che costituisce un blocco di memoria distinto e ad alte prestazioni allocato esclusivamente per le operazioni della GPU. All'inizio del 2007, i sistemi dotati di grafica integrata costituivano circa il 90% di tutte le spedizioni di personal computer. Pur offrendo un'implementazione più conveniente rispetto alle soluzioni grafiche discrete, generalmente presentano capacità di prestazioni inferiori. Storicamente, le soluzioni grafiche integrate erano ritenute inadatte per giochi 3D impegnativi o applicazioni graficamente intensive, sebbene supportassero adeguatamente programmi meno faticosi come Adobe Flash. Esempi illustrativi di quest'epoca includono le offerte di SiS e VIA intorno al 2004. Tuttavia, i processori grafici integrati contemporanei, comprese le unità di elaborazione accelerata di AMD e le varianti della tecnologia grafica Intel (ad esempio, HD, UHD, Iris, Iris Pro, Iris Plus e Xe-LP), sono ora in grado di eseguire il rendering di grafica 2D e gestire carichi di lavoro di grafica 3D meno impegnativi.

Data la natura ad alta intensità di memoria dei calcoli GPU, l'elaborazione grafica integrata (IGP) spesso competono con l'unità di elaborazione centrale (CPU) per l'accesso alla RAM di sistema relativamente più lenta, a causa della loro memoria video dedicata minima o assente. Mentre gli IGP utilizzano tipicamente la memoria di sistema con una larghezza di banda che raggiunge circa 128 gigabyte al secondo, una scheda grafica discreta può raggiungere larghezze di banda superiori a 1000 gigabyte al secondo tra la memoria video ad accesso casuale (VRAM) e il core della GPU. Tali disparità nella larghezza di banda del bus di memoria possono limitare in modo significativo le prestazioni della GPU, sebbene l'implementazione di configurazioni di memoria multicanale possa alleviare parzialmente questa limitazione. Storicamente, i chipset grafici integrati omettevano la trasformazione dell'hardware e le funzionalità di illuminazione; tuttavia, le iterazioni moderne ora incorporano queste funzionalità.

Nei sistemi che utilizzano un'architettura di memoria unificata (UMA), come i processori AMD e Intel contemporanei con grafica integrata, processori Apple e console come PlayStation 5 e serie Xbox, i core dell'unità di elaborazione centrale (CPU) e l'unità di elaborazione grafica (GPU) bloccano l'accesso a un pool condiviso di memoria ad accesso casuale (RAM) e a uno spazio di indirizzi di memoria unificato.

Unità di elaborazione del flusso e di elaborazione grafica per uso generale (GPGPU)

L'utilizzo di un'unità di elaborazione grafica generica (GPGPU) come processore vettoriale o stream adattato, che esegue kernel di elaborazione, è diventata una pratica prevalente. Questa metodologia trasforma efficacemente le sostanziali capacità computazionali inerenti alla pipeline shader di un moderno acceleratore grafico in una risorsa versatile per l'elaborazione generica. Per applicazioni specifiche che richiedono operazioni vettoriali estese, questo approccio può fornire miglioramenti delle prestazioni di diversi ordini di grandezza superiori a quelli ottenibili con un'unità di elaborazione centrale (CPU) convenzionale. Sia AMD che Nvidia, i principali progettisti di GPU discrete, stanno attivamente portando avanti questo paradigma in una vasta gamma di applicazioni. In particolare, Nvidia e AMD hanno collaborato con la Stanford University per sviluppare un client accelerato da GPU per il progetto di calcolo distribuito Folding@home, dedicato alle simulazioni di ripiegamento delle proteine. In condizioni specifiche, la GPU può eseguire calcoli fino a quaranta volte più velocemente delle CPU storicamente utilizzate per questi tipi di applicazioni.

I sistemi di calcolo ad alte prestazioni con accelerazione delle unità di elaborazione grafica (GPU) sono fondamentali per facilitare la modellazione computazionale su larga scala. Attualmente, tre dei dieci supercomputer più potenti al mondo sfruttano l'accelerazione GPU per raggiungere le proprie capacità computazionali.

Dal 2005 è emerso un interesse significativo nello sfruttamento delle capacità computazionali delle GPU per il calcolo evolutivo generale, in particolare per accelerare la valutazione dell'idoneità all'interno della programmazione genetica. Le metodologie predominanti prevedono la compilazione di programmi lineari o basati su alberi su un PC host e il successivo trasferimento del codice eseguibile sulla GPU per l'esecuzione. I miglioramenti prestazionali vengono generalmente ottenuti eseguendo contemporaneamente un singolo programma attivo su numerose istanze problematiche parallele, sfruttando l'architettura SIMD (Single Instruction, Multiple Data) della GPU. Inoltre, è possibile ottenere una notevole accelerazione rinunciando alla compilazione dei programmi e trasferendoli invece direttamente sulla GPU per l'interpretazione.

GPU esterna (eGPU)

Una GPU può essere interfacciata con un notebook tramite un bus esterno, essendo PCI Express lo standard esclusivo utilizzato per questa applicazione. I tipi di porte disponibili includono, ma non sono limitati a, ExpressCard o mPCIe (PCIe ×1, che offre rispettivamente fino a 5 o 2,5 gigabit al secondo), Thunderbolt 1, 2 o 3 (PCIe ×4, che fornisce rispettivamente fino a 10, 20 o 40 gigabit al secondo), USB4 con compatibilità Thunderbolt o OCuLink. La disponibilità di queste porte dipende dalle configurazioni specifiche del sistema notebook. I contenitori GPU esterni necessitano di un'unità di alimentazione indipendente (PSU) a causa del notevole consumo energetico, potenzialmente centinaia di watt, delle GPU ad alte prestazioni.

Efficienza energetica

Vendite

Le spedizioni globali di GPU hanno raggiunto 438,3 milioni di unità nel 2013, con una diminuzione prevista a 414,2 milioni per il 2014. Tuttavia, nel terzo trimestre del 2022, le spedizioni di GPU per PC erano scese a circa 75,5 milioni di unità, con una riduzione del 19% su base annua.

Hardware

Hardware

API

Applicazioni

Persone

Riferimenti

Fonti

Çavkanî: Arşîva TORÎma Akademî

Su questo articolo

Che cos’è Unità di elaborazione grafica?

Una breve guida a Unità di elaborazione grafica, alle sue caratteristiche principali, agli usi e ai temi correlati.

Tag dell’argomento

Che cos’è Unità di elaborazione grafica Unità di elaborazione grafica spiegato Concetti base di Unità di elaborazione grafica Articoli di Tecnologia Tecnologia in curdo Temi correlati

Ricerche comuni su questo tema

  • Che cos’è Unità di elaborazione grafica?
  • A cosa serve Unità di elaborazione grafica?
  • Perché Unità di elaborazione grafica è importante?
  • Quali temi sono collegati a Unità di elaborazione grafica?

Archivio categoria

Archivio di Tecnologia - Torima Akademi Neverok

Esplora l'ampio archivio di Torima Akademi dedicato alla Tecnologia. Qui troverai articoli dettagliati, spiegazioni chiare e approfondimenti sulle ultime innovazioni e sui concetti fondamentali che plasmano il nostro

Home Torna a Tecnologia