Boltzmann Initiative, AMD pronta con il porting da CUDA a C++

AMD ha annunciato una serie di strumenti dedicati a chi opera nel mondo HPC. Tra questi un'interfaccia per effettuare il porting di software da CUDA a C++.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

AMD ha annunciato la Boltzmann Initiative (dal nome del noto fisico austriaco) per dare nuovi impulso alla prova azione nel settore HPC e nel rapporto con il mondo dei ricercatori e l'ambito accademico. Nel corso della SuperComputing Conference 2015 l'azienda di Sunnyvale ha svelato una nuova suite di strumenti ideata per semplificare lo sviluppo di sistemi heterogeneous computing ad alte prestazioni ed elevata efficienza energetica. Gli strumenti presentati saranno disponibili dal primo trimestre 2016.

boltzmann initiative 01

Clicca per ingrandire

La Boltzmann Initiative si fonda sulla capacità dei sistemi HSA di sfruttare nello stesso momento le capacità di elaborazione della CPU e delle GPU AMD FirePro per la massima efficienza di calcolo tramite il software. I primi risultati dell'iniziativa includono un Heterogeneous Compute Compiler (HCC) per lo sviluppo C++.

boltzmann initiative 02

Clicca per ingrandire

Il compilatore favorisce lo sviluppo semplificato tramite un'esecuzione a singola sorgente, con il codice per la CPU e quello per la GPU sullo stesso file. Il compilatore automatizza la disposizione del codice che esegue su entrambi gli elementi per la massima efficienza di esecuzione. Nella Boltzmann Initiative rientra anche un driver a 64-bit pensato per funzionamento headless sotto Linux.

Il driver sarà implementato in un ambiente HSA esteso che porterà molti dei vantaggi dell'HSA alle schede video dedicate AMD FirePro. Questo ambiente (che l'azienda chiama HSA+) aggiunge estensioni per supportare HSA su GPU dedicate e consente di mettere CPU HSA e schede video in un solo address space unificato, cosa che può semplificare enormemente la programmazione in applicazioni che usano attivamente CPU e GPU.

boltzmann initiative 03

Clicca per ingrandire

Questo nuovo driver Linux porta capacità necessarie al settore, come una distribuzione dei calcoli a bassa latenza e trasferimento dati via PCI Express, supporto al "GPU peer to peer", Remote Direct Memory Access (RDMA) per una connessione diretta alla memoria della GPU e molto altro.

Inoltre c'è anche "Heterogeneous-compute Interface for Portability (HIP)", un tool che permette il porting di software basati su CUDA al linguaggio di programmazione C++. AMD, in sintesi, ha capito che CUDA è ben consolidata nel mondo HPC e così ha lavorato affinché il codice CUDA funzioni sulle proprie GPU. "Nei nostri test, nel 90% dei casi o più il codice CUDA può essere automaticamente convertito in C++ attraverso HIP, mentre il 10% può essere convertito manualmente", sottolinea AMD.

boltzmann initiative 04

Clicca per ingrandire

"La Interface for Portability di AMD permette alla comunità HPC di sviluppare applicazioni che siano compatibili con più piattaforme. La possibilità di prendere il codice che è stato scritto per un'architettura e trasferirlo su un'altra senza un impatto negativo sulle prestazioni è davvero interessante", ha dichiarato Jim Belak del Lawrence Livermore National Laboratory del Dipartimento dell'Energia statunitense.

FirePro W5100 FirePro W5100