Table of Contents Table of Contents
Previous Page  53 / 84 Next Page
Information
Show Menu
Previous Page 53 / 84 Next Page
Page Background

53

FPGA VERSUS GPU |

HARDWARE

Principali differenze

Entrambe le tecnologie, GPU e FPGA, sono co-

struite per stream processing. A seconda del

problema che si sta affrontando, una o l’altra

tecnologia può risolverlo nel migliore o peggio-

re dei modi. L’utilizzo di architetture parallele

ha permesso il miglioramento dell’analisi di

grosse quantità di dati con FPGA e GPU che

offrono livelli computazionali notevoli, in par-

ticolare FPGA offre un livello di elaborazione

a bassa latenza con qualche limite in termini

computazionali a virgola mobile a causa delle

restrizioni spaziali. Le GPU hanno guadagnato

un notevole mercato sia in termini di flessibili-

tà che di costi, inoltre possono essere

utilizzate in combinazione con FPGA

per migliorare l’esecuzione di algorit-

mi con elevato grado aritmetico, quali

la FFT.

Storicamente le GPU erano state con-

siderate forti consumatori di energia,

che è problematico in scenari di batte-

ria-dipendente, ma gli ultimi prodotti

GPU hanno incrementato fortemente

l’efficienza energetica con nuove tec-

niche di power management. A dif-

ferenza della FPGA che risultano le

migliori in ambienti real-time quando

si richiedono latenze molto basse, core

GPU eccellono in operazioni di virgola

mobile grazie alla sua configurazione

hardware nativa che lo rende ideale

per applicazioni di elaborazione

delle immagini. Cicli di sviluppo

sono generalmente più brevi per

le GPU per il loro modello di pro-

grammazione ben noto con una

buona compatibilità del nuovo

software su chip più vecchi e un

notevole supporto per una vasta

gamma di strumenti di sviluppo

open e librerie di funzioni mate-

matiche gratuite (Fig. 3).

Architetture a confronto:

programming

e soluzioni commerciali

Le FPGA contengono grandi

quantità di memoria e di logica

configurabile insieme con una

notevole quantità di area di silicio dedicata alla

interconnessioni.

L’implementazione di un algoritmo richiede la

combinazione di risorse in modo efficiente al

fine di soddisfare i vincoli temporali richiesti.

La parte migliore della FPGA, però, come sug-

gerisce il nome, è rappresentata dal essere com-

pletamente programmabile. Il chip avrà pin di

ingresso e di uscita e con l’utilizzo di schemi o di

un linguaggio di programmazione software come

VHDL, si è in grado di progettare circuiti digita-

li necessari per eseguire le attività. Molte case

costruttrici forniscono gratuitamente sistemi di

sviluppo che supportano quasi tutta la loro gam-

Fig. 2 - Struttura di una GPU a confronto con una CPU

Fig. 3 - Confronto tra GPU e CPU [Fonte: Nvidia]

EMBEDDED

59 • FEBBRAIO • 2016