Elettronica_Oggi_434 - page 20

20
- ELETTRONICA OGGI 434 - MARZO 2014
COVERSTORY
N
el momento in cui i dispositivi di elabora-
zione multicore hanno fatto la loro compar-
sa sul mercato, è stata ravvisata la necessità di
poter avere un modello standard per creare pro-
grammi eseguibili su più core e, potenzialmente,
su dispositivi differenti. La mancanza di uno stan-
dard che permettesse la portabilità (porting) tra
diverse tecnologie programmabili ha rappresen-
tato sicuramente un ostacolo per i programmato-
ri. È stato quindi con un certo sollievo che è stata
accolta nel 2008 la decisione, da parte di Apple,
di sottoporre le prime specifiche del linguaggio
OpenCL (Open Computing Language) a The Kro-
nos Group: l’obbiettivo dichiarato era creare uno
standard per la programmazione parallela di tipo
cross-platform (ovvero non legata a una specifi-
ca piattaforma). The Kronos Group è un consorzio
industriale che annovera, tra gli altri, società del
calibro di Apple, IBM, Intel, AMD, nVidia e Altera.
Questo consorzio si è assunto la responsabilità di
definire le specifiche OpenCL, arrivate in tempi
recenti alla versione 2.0.
Lo standard OpenCL consente l’implementazione
di algoritmi paralleli che possono essere trasferiti
tra diverse piattaforme a prezzo di una ricodifica
minima. OpenCL è basato sul linguaggio di pro-
grammazione C e contiene alcune estensioni per
la gestione del parallelismo.
Oltre a rendere disponibile un modello portabile,
lo standard OpenCL intrinsecamente dà la possi-
bilità di descrivere algoritmi paralleli che devono
essere implementati su FPGA a un livello di astra-
zione più elevato rispetto a quello consentito dai
tradizionali linguaggi di descrizione dell’hardwa-
Lo sviluppo di progetti basati su FPGA utilizzando una descrizione
OpenCL assicura numerosi vantaggi rispetto alle tradizionali
metodologie basate sulla programmazione HDL
Deshanand Singh
Supervising principal engineer
Software and IP engineering
Altera
LO STANDARD OPENCL
SU FPGA
E LA SUA IMPLEMENTAZIONE
1...,10,11,12,13,14,15,16,17,18,19 21,22,23,24,25,26,27,28,29,30,...88
Powered by FlippingBook