La seconda generazione di
processori Intel Core,
annunciata all'inizio di quest'anno e battezzata
Sandy Bridge, porta con sé numerose
migliorie tecnologiche: oltre alla
microarchitettura a 32 nm, va notato che per la prima volta si è riusciti a raggruppare il controller di memoria, quello grafico e il processore sullo stesso
die, garantendo così una maggiore sinergia di questi componenti.
Dalle nuove caratteristiche possono trarre vantaggio tutte le applicazioni che richiedono l'esecuzione di processi in parallelo, e di conseguenza, è partita immediatamente l'
ottimizzazione delle piattaforme di sviluppo parallelo su
Sandy Bridge. Una fra tutte, quella basata sullo
standard aperto OpenCL, creato da Apple e mantenuto da
Khronos Group, viene elaborata dalla stessa Intel, la quale in questi giorni rilascia la
versione 1.5 del suo
OpenCL SDK.
Utilizzando il
nuovo instruction set,
Intel AVX a 256 bit, il modulo di vettorizzazione della CPU permette infatti l'elaborazione parallela di 8 numeri a virgola mobile per ogni core fisico disponibile. In pratica, ciò permette un
aumento delle performance in tutti gli ambiti con grandi esigenze di calcolo, come la modellazione tridimensionale, l'analisi dei dati, le simulazioni scientifiche, l'elaborazione audio e video.
Non solo, ma l'
SDK garantisce ora una migliore integrazione con i set di istruzioni disponibili sulla CPU utilizzata: il codice Assembly del kernel verrà infatti ottimizzato per i requisiti a disposizione, garantendo al programmatore le migliori performance possibili, sia nelle CPU già esistenti che in quelle di domani.
Grazie a brevi
opzioni, che si possono aggiungere al momento dell'esecuzione del client compiler tramite linea di comando, o selezionabili attraverso l'intefaccia grafica, è sempre possibile forzare il codice (per sistemi a 32 e 64 bit) a utilizzare uno
specifico instruction set, a scelta fra
Intel Streaming SIMD Extensions 4.1, 4.2 e
Intel AVX.
Per maggiori informazioni è possibile consultare l'
ampia documentazione fornita sul sito ufficiale.