Search
Filters
Close

Guida al GPU computing industriale

GPU Computing


Le GPU fan parte dell'informatica sin da quando il primo pixel è comparso su un display. Tuttavia, il ruolo delle GPU è cambiato radicalmente nel tempo. Da un uso principalmente legato ai videogiochi, si è passati a scopi d'elaborazione GPU generica (GPGPU). Questo articolo vuole essere un approfondimeno su questo componente hardware critico che sta alla base dell'intelligenza artificiale, della visione artificiale e di tutta una serie di nuove applicazioni computer based. Cercheremo di fare mente locale sulle GPU, perché sono importanti, come si applicano ai computer industriali, a cosa servono e perché potrebbero essere necessarie per una determinata applicazione.

 

Cos'è una GPU


L'unità di elaborazione grafica (GPU) è il componente hardware che prende le istruzioni per la visualizzazione e indirizza i pixel sullo schermo. Le GPU sono progettate per l'elaborazione parallela e vengono utilizzate in un ampio spettro di applicazioni, inclusa la grafica e il rendering video. Sebbene siano meglio conosciute per le loro capacità nei videogiochi e nella grafica intensiva, le GPU stanno diventando sempre più popolari per la produzione creativa e per l'intelligenza artificiale (Fonte Intel). La moderna GPU generica quindi, non è più limitata alla semplice visualizzazione d'immagini sullo schermo ma è diventato il nodo centrale alla base del calcolo parallelo e dell'elaborazione di input macchina complessi, che le CPU non sono in grado di svolgere in maniera efficiente. Quali sono i motivi che stanno alla base di tale evoluzione?

 

Breve storia del GPU computing


Per motivi di precisione, tutti i computer integrano una GPU se visualizzano immagini su uno schermo. Esistono due tipi principali. Le GPU integrate nelle moderne CPU, forniscono funzionalità di base per la maggior parte dei contesti operativi, in ufficio o in casa. In questo ambito ci occuperemo invece delle GPU ad alta potenza che vengono integrate a bordo di schede grafiche. NVIDIA ha coniato il termine GPU nel 1999, con il rilascio della GeForce 256, pubblicizzata come "la prima GPU al mondo" (Fonte: ResponseSource). Sebbene inizialmente pensata per attività ad alta intensità di grafica, la GPU generica si è già da tempo fatta strada in altri campi. Questi includono l'esplorazione petrolifera, la manipolazione delle immagini, la finanza, la statistica, l'algebra lineare e tutto ciò che necessita di calcoli matematici complessi. Di conseguenza, le GPU si sono evolute dal rendering delle immagini per i giochi ad aree applicative completamente nuove. Ma dopo anni che hanno visto le prestazioni delle CPU spingersi sempre più in alto, perché le GPU stanno conquistando i riflettori?


Come funziona una GPU ?


Le GPU eccellono nel calcolo matematico. A differenza delle CPU, che eseguono una varietà di attività general purpose come l'accesso alla memoria e ai dischi rigidi, le GPU svolgono un set di funzioni molto più limitato. Il parallelismo è la forza trainante di queste capacità. Invece di eseguire funzioni complesse in sequenza sulle CPU, che hanno un massimo di 18 core, le attività matematiche vengono trasmesse alla GPU che offre centinaia o addirittura migliaia di core che lavorano contemporaneamente. Questa potenza di elaborazione è ciò che viene richiesto dalla visione artificiale e dal deep learning, che sta alla base dell'intelligenza artificiale. Il GPU Computing si applica quindi non solo al rendering grafico per artisti e giocatori, bensì a workstation HPC, supercomputer, ed edge computer (Fonte NVIDIA).

 

Il ruolo delle GPU nell'elaborazione visiva


La GPU ha svolto un ruolo fondamentale nella creazione di mondi 3D immaginari visivamente sbalorditivi nei giochi per computer. La stessa potenza di elaborazione consente oggi di spingere il ruolo dei computer ben oltre, consentendogli di prendere decisioni sulla base di input visivi e di farlo in maniera intelligente. Questa capacità di elaborare gli input visivi è il ruolo principale della GPU ed è ciò che distingue un computer GPU da uno general purpose. Ovviamente, qualsiasi computer con una fotocamera è in grado di processare degli input visivi. Tuttavia, per applicazioni di visione complesse, equivarrebbe ad  un guidatore miope che cerca di guidare nella nebbia con i finestrini appannati e dopo aver dimenticato gli occhiali a casa. Proseguendo nella metafora, la GPU è come se fornisse gli occhi e il tempo di reazione di un pilota di F1 il giorno della gara, cogliendo ogni input con dettagli accurati e agendo di conseguenza.

 

Durante l'epidemia di COVID 19, i sistemi Cincoze GM-1000 sono stati utilizzati in sofisticate applicazioni di visione per garantire la sicurezza, monitorando e registrando dati sulla temperatura, sull'effettivo uso della mascherina e sul distanziamento delle persone in ambiti pubblici. 

 


Cosa caratterizza un GPU computer industriale ?


Un computer GPU industriale si basa sugli stessi principi di progettazione di un computer industriale general purpose destinato ad ambienti difficili. Queste caratteristiche includono un design robusto, componenti ridondanti, resistenza agli urti, resistenza alle vibrazioni, design senza ventole, elevate temperature di esercizio, protezione ESD, resistenza ad acqua e polveri e altre caratteristiche. Il principale punto di differenziazione è che un computer GPU industriale supporta almeno una scheda di espansione GPU, in genere attraverso uno slot PCI Express x16 in computer di dimensioni normali, e attraverso slot MXM (Mobile PCI Express Module) su sistemi embedded più compatti. Le GPU introducono uno stress aggiuntivo per il sistema, che deve essere gestito. Esse producono calore, talvolta a livelli molte volte superiori a quello generato dalla CPU, che deve essere gestito attraverso meccanismi di raffreddamento specializzati che vanno oltre la semplice aggiunta di ventole di sistema. Le GPU introducono poi un consumo aggiuntivo di energia considerevole. L'alimentazione di sistema deve essere quindi in grado di fornire la potenza aggiuntiva per la GPU. Le GPU, sia full-size che compatte, necessitano di uno spazio interno adeguato. Le applicazioni che prevedono l'uso di computer industriali basati su GPU sono spesso di tipo critico e devono garantire la contiuità operativa anche in contesti di tipo 24/7 (24 ore su 24, 7 giorni su 7). E' questa la principale sfida nella progettazione di un computer basato su GPU per scopi industriali.



Le caratteristiche base da ricercare in un computer GPU industriale

Design cable-free e Jumper-less > utilizzando connessioni alternative e più affidabili rispetto a cavi e jumper, sensibili ad urti e vibrazioni, si aumenta la affidabilità.

Chassis in alluminio estruso > dissipa efficientemente il calore dall'interno verso l'esterno. Una struttura di dipo "unibody" garantisce inoltre una migliore dissipazione.

Resistenza a shock e vibrazioni > Una serie di fattori influiscono su questo, tra cui la struttura meccanica, la scelta ed il design dei meccanismi di assorbimento in gomma, nonché l'assenza di jumper e cavi. E' fondamentale che il sistema preveda inoltre appositi meccanismi di fissaggio per la scheda GPU. Parametri di resistenza a shock e vibrazioni di 5/50 Grms sono un ottimo presupposto. Tuttavia gli standard militari MIL-STD-810G forniscono linee guida ancor più rigorose per computer rugged.

Design Fanless > I computer industriali basati su GPU ad alte prestazioni generano molto calore. Possono quindi essere necessarie ventole per raffreddare il sistema. Le nuove GPU a basso consumo ottimizzano le prestazioni in modo che un buon design termico possa dissipare il calore senza bisogno di ventole che, essendo un componente meccanico in movimento, rappresentano una delle principali fonti di guasto. Tuttavia l'utilizzo di architetture fanless non è in molti casi possibile data la potenza in gioco, talvolta superiore ai 200/300 Watt per la sola GPU. In questo caso è preferibile optare per sistemi con ventole ad alta affidabilità e con accessibilità dall'esterno della macchina per favorire la facilità di manutenzione.

Temperatura operativa > è difficile definire un range di temperatura ottimale essendo esso legato ai vari contesti ambientali ed applicativi in termini di potenza di CPU/GPU in gioco. Maggiori sono i margini di temperatura operativa rispetto alla temperatura ambiente effettiva, maggiori saranno gli MTBF di sistema, in considerazione del fatto che, a parità di temperatura ambiente, un computer con un range più esteso avrà con tutta probabilità una temperatura interna di sistema inferiore.

Protezioni ESD, over-voltage e over-current > sono una garanzia contro i danni al sistema da anomalie elettriche che molto spesso si verificano in ambienti industriali. Un generoso intervallo di tensioni ammesse in ingresso, come da 9 a 48 VDC, offre margini per le eventuali fluttuazioni di tensione.

 

La nostra gamma di GPU computer industriali

 

GM-1000

GP-3000

GM-1000: computer industriale con supporto per GPU MXM GP-3000: computer industriale dual GPU
PC industriale fanless con CPU 8th/9th gen. Intel Core & Xeon
e supporto per moduli GPU MXM
PC industriale con CPU 8th/9th gen. Intel Core & Xeon
e supporto per schede GPU fino a 350 Watt