EO_505
ELETTRONICA OGGI 505 - OTTOBRE 2022 43 DIGITAL HW ACCELERATORS calcolo ad alte prestazioni e un ecosistema stabile ma in continua espansione. L’architettura GPU è solitamente implementata con diversi mini processori grafici. Ogni processore grafico ha la propria unità di calcolo e cache locale che si adatta alla moltiplicazione della matrice. Un bus condiviso ad alta velocità è incluso in più mini processori per consentire un rapido scambio di dati tra di essi. Inoltre, funge anche da bridge per collegare la CPU principale e più mini processori grafici. Ad esempio, il prodotto NVIDIA DGX-1TM con Tesla V100, un sistema integrato per il deep learning, dispone di 8 acceleratori GPU NVIDIA Tesla V100 interconnessi tramite il linkNVLinkTM; ogniGPUha56multiprocessori con 64 core per multiprocessore, per un totale di 3584 core per ogni GPU. La GPU-1 ha una larghezza del bus di memoria di 4096 bit, 16 GB di memoria globale e 4 MB di cache L2. La figura 1 mostra la topologia del DGX-1 a livello di sistema. Il cluster GPU è collegato a uno switch PLX con un’interconnessione PCIe × 16. La larghezza di banda massima dell’interconnessione NVLink con Tesla P100 è 160 GB/s. In uno scenario di clustering o di calcolo parallelo multicore, le prestazioni di interconnessione delle comunicazioni diventano il collo di bottiglia per ottenere un throughput elevato, una bassa latenza e un’elevata efficienza energetica. La GPU ha una velocità di calcolo significativa grazie ai numerosi core di elaborazione paralleli. Tuttavia, il calcolo e la movimentazione dei dati comportano anche un consumo energetico relativamente elevato. Inoltre, è necessaria un’interfaccia di interconnessione ad alta velocità per supportare il rapido scambio di dati. Pertanto, rispetto ad altre tecniche, la GPU consente una capacità di calcolo potente a scapito di costi di progettazione elevati. Con l’evoluzione del settore, gli FPGA (field programmable gate array) stanno emergendo come concorrenti credibili delle GPU per l’implementazione di algoritmi di deep learning basati sulle reti neurali convoluzionali. Microsoft Research ha affermato che l’utilizzo degli FPGA potrebbe essere fino a 10 volte più efficiente dal punto di vista energetico rispetto alle GPU. Sebbene le prestazioni di un singolo FPGA fossero molto inferiori rispetto alle GPU, il fatto che il consumo energetico fosse molto inferiore delle GPU potrebbe avere implicazioni significative per molte applicazioni in cui le prestazioni elevate delle GPU potrebbero non essere la priorità assoluta. L’acceleratore hardware di apprendimento automatico basato su FPGA coinvolge in genere blocchi hardware come DRAM, CPU, controller di interfaccia di rete. Le DRAM agiscono come un grande buffer per memorizzare i dati temporanei, mentre la CPU è responsabile della gestione del calcolo, incluso l’invio di istruzioni agli FPGA. L’FPGA è programmato per adattarsi all’algoritmo ML. Poiché l’algoritmo ML è ottimizzato a livello hardware tramite la programmazione FPGA, si ottiene un’elevata efficienza di accesso ai dati rispetto al normale calcolo GPU che non ha alcuna ottimizzazione hardware sui corrispondenti algoritmi ML. Sebbene l’FPGA riduca il consumo energetico dell’elaborazione attraverso l’ottimizzazione degli algoritmi ML sulla progettazione hardware, l’efficienza complessiva è ancora molto inferiore rispetto all’ASIC (Application Specific Integrated Circuit) per un singolo tipo di algoritmi. Rispetto ai dispositivi ASIC, la programmabilità introdotta dall’FPGA comporta anche una logica complicata che aumenta il costo di progettazione dell’hardware. Inoltre, la velocità dell’FPGA è solitamente limitata a 300 MHz, che è 4–5 volte inferiore rispetto a un tipico ASIC. L’acceleratore hardware CNN basato sui dispositivi ASIC Nel data center, le soluzioni di accelerazione hardware sono dominate dalla soluzione GPU e FPGA. Il calcolo all’avanguardia dell’apprendimento automatico si basa principalmente sui server cloud. Tuttavia, il consumo di energia elevato rende questo approccio limitato in molti scenari applicativi reali. Poiché le applicazioni di intelligenza artificiale basate su cloud e su dispositivi portatili richiedono capacità di connessione di rete, la qualità della connessione di rete influisce sull’esperienza dell’utente. Inoltre, la latenza di rete e della comunicazione non è accettabile per le applicazioni di intelligenza artificiale in tempo reale. InoltrIe, la maggior parte delle applicazioni di intelligenza artificiale IoT ha un rigoroso vincolo di Fig. 1 – Topologia dell’NVIDIA DGX-1
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzg4NjYz