I compilatori odierni sono in grado di applicare diversi tipi di ottimizzazione al codice, soprattutto per migliorarne il parallelismo e il supporto alle odierne CPU multicore. Con Milepost , acronimo di MachIne Learning for Embedded PrOgramS opTimization , IBM afferma di essersi spinta ben oltre: e di aver applicato alla compilazione alcune tra le più sofisticate tecniche di intelligenza artificiale.
Basato sul codice della celebre suite di compilatori free software GNU GCC 4.4, Milepost è stato sviluppato da Big Blue nel suo laboratorio di ricerche di Haifa, in Israele, ed è frutto di un progetto finanziato dall’Information Society Technologies ( IST ) dell’Unione Europea. L’obiettivo del progetto è quello di sviluppare tecnologie di compilazione che, tenuto conto dell’architettura hardware su cui deve girare il software, sono in grado di apprendere automaticamente come ottimizzare al meglio le applicazioni.
Sebbene Milepost possa essere utilizzato per ottimizzare qualsiasi tipo di applicazione, incluse quelle desktop, questo compilatore è stato pensato soprattutto per il mondo dei dispositivi embedded, dove l’uso di CPU ad architettura riconfigurabile obbliga produttori e sviluppatori a riadattare e ricompilare frequentemente le proprie applicazioni. In tale ambito, poi, è assai più sentita la necessità di ottimizzare le performance e i consumi del software.
“Milepost utilizza tecniche di intelligenza artificiale e di machine learning per capire quale tipo di ottimizzazioni sono ideali per ogni nuovo design hardware”, ha spiegato Mike O Boyle, professore di informatica presso l’Università di Edimburgo e coordinatore del progetto Milepost. “Questo aiuta ad automatizzare completamente la creazione di un compilatore e a ridurre i tempi di scrittura del codice, riducendo altresì in modo sostanziale il time-to-market dei nuovi sistemi”.
IBM afferma che Milepost può ridurre i tempi di sviluppo delle applicazioni mobili fino a dieci volte e, stando ad alcuni test condotti su un server System P con Linux, migliorane le performance fino al 18 per cento.
Milepost GCC 4.4 può essere scaricato da qui . A partire da agosto l’intero progetto sarà affidato alla comunità open source, che ne porterà avanti lo sviluppo. L’imminente versione 4.5 di GCC, poi, avrà un’interfaccia per i plugin dedicata a Milepost. (A.D.R.)