Skip to main content

Automatic code generation for Graphics Processing Units

Article Category

Article available in the folowing languages:

Migliorare la tecnologia informatica

Facendo avanzare la tecnologia delle unità di elaborazione grafica (graphics processing unit o GPU) si permetterà un cambiamento di paradigma nella produzione dei processori per computer. Un intraprendente progetto finanziato dall'UE ha fatto progressi significativi in questo settore.

Economia digitale

I GPU, che alimentano alcuni dei più sofisticati video giochi del momento, stanno sorprendendo gli scienziati e i ricercatori che si occupano di informatica per il loro uso nel calcolo numerico ad alte prestazioni. Grazie alla diffusa domanda di giochi per computer, la tecnologia GPU ha abbassato i prezzi fino al punto che adesso viene considerata una via conveniente per far avanzare il calcolo ad alta velocità. Il progetto AUTH-AUTOGPU ("Generazione automatica di codice per le unità di elaborazione grafica") ha lavorato per estendere il ciclo vitale di codici numerici ottimizzati su GPU in modo da renderli più efficienti per l'informatica di tutti i giorni. Una delle aree d'interesse era lo sviluppo di un linguaggio di parallelismo esplicito ad alto livello per programmare algoritmi numerici usati per le applicazioni di elaborazione di segnali e immagini. AUTH-AUTOGPU ha lavorato alla generazione automatica di codice usando uno speciale compilatore, template di codici e librerie di algoritmi. Usando tecniche di ottimizzazione e ricerca avanzate, i membri del progetto si sono occupati anche di automatizzare la regolazione di componenti software critici per le prestazioni. Per raggiungere i suoi obiettivi, l'equipe del progetto è riuscita a sviluppare una piattaforma chiamata AUToGPU, che facilita la progettazione e la creazione di un prototipo di algoritmi paralleli per l'elaborazione digitale di segnali e immagini. Questo ha contribuito ad accelerare il ciclo di sviluppo, in particolare per quanto riguarda i GPU, automatizzando l'ottimizzazione delle prestazioni, adattandosi agli aggiornamenti hardware dei GPU e rendendo il software più agile. AUToGPU sfrutta tecniche di compilazione specifiche e nuove astrazioni matematiche per rendere più avanzato il calcolo ad alte prestazioni manipolando le strutture matematiche specifiche del settore e associandole a un'architettura di GPU. Permette una migliore elaborazione di un'astrazione unificata degli algoritmi nell'espressione matematica di alto livello. Vengono quindi usate regole per trasformare l'astrazione dell'algoritmo in varianti equivalenti usando identità matematiche. Lo studio attualmente in corso di varianti algoritmiche aiuta le future applicazioni nella Compute Unfied Device Architecture, la piattaforma di calcolo parallela e modello di programmazione inventato dal gigante della grafica NVIDIA. Su questo sfondo, il successo fenomenale di NVIDIA e della sua architettura GPU sul mercato ad alte prestazioni sta aprendo nuove possibilità per grandi aziende fornitrici di microprocessori. Sia AMD che Intel sono entrate nel mercato dell'acceleratore GPU con il crescere dell'interesse verso questa tecnologia. Sotto questa luce, AUToGPU potrebbe servire un settore di processori molto più ampio molto presto, in particolare visto che l'architettura GPU è destinata a diventare la norma nella progettazione di microprocessori.

Parole chiave

Tecnologia informatica, unità di elaborazione grafica, processore di computer, calcolo numerico, giochi al computer, calcolo ad alta velocità, generazione di codice, programmazione, algoritmi paralleli, microprocessore

Scopri altri articoli nello stesso settore di applicazione