Nuovo strumento software supporta lo sviluppo e la modellizzazione di applicazioni avanzate
L'avvento di chip di elaborazione più veloci e potenti spinge i programmatori a creare software più produttivi ed efficienti, alimentati da enormi investimenti nel settore. Il progetto MADAME (Manycore application development and modeling environment), finanziato dall'UE, si è concentrato su sviluppo , ottimizzazione e realizzazione dei programmi e sullo sviluppo di applicazioni parallele per le attuali e future architetture manycore e multicore. Per raggiungere i propri obiettivi, il team del progetto ha lavorato con un'interfaccia di programmazione delle applicazioni che supporta la programmazione mediante multielaborazione a memoria condivisa multi-piattaforma nota come OpenMP. Inoltre ha sviluppato una soluzione di monitoraggio efficiente, versatile, semplice da utilizzare e portatile per paradigmi di programmazione multicore e manycore. Un altro principale obiettivo del progetto è quello di sviluppare un quadro di modellizzazione per supportare i programmatori nel rispondere a domande critiche quali i potenziali benefici dell'utilizzo relativo agli acceleratori. I modelli risultanti sono utili durante lo sviluppo di applicazioni e la loro messa a punto, come anche per il loro impiego e durante il tempo di esecuzione negli attuali sistemi operativi manycore. Come risultato della propria ricerca, il progetto MADAME ha sviluppato il profiling tool ompP, un valido strumento per applicazioni OpenMP. Il software crea una relazione di profiling in un formato ASCII leggibile, supportando la misurazione dei contatori di prestazioni hardware mediante l'utilizzo dell'architettura PAPI. Lo strumento supporta anche funzioni per la produttività come la rilevazione della potenzialità operativa assorbita dal sistema e l'analisi delle più comuni situazioni di inefficienza. Esso può essere scaricato dal sito web del progetto insieme a diverse pubblicazioni sull'argomento.
Parole chiave
Sviluppo di applicazioni, chip per calcolatori, manycore, multicore, programmazione, multielaborazione