Librerie matematiche per rendere i supercomputer più efficienti
L’high performance computing (o calcolo ad alte prestazioni) è uno strumento essenziale per elaborare in maniera rapida ed efficiente la grande quantità di dati che vengono prodotti ogni giorno in tutti i campi della scienza.
librerie software matematiche sono un insieme di funzioni e strutture dati che vengono usate per sviluppare applicazioni e programmi software.Con le librerie software, un programmatore ha a disposizione una serie di strumenti, come codici, classi, procedure, script, dati di configurazione e altro, che sono già scritti e non deve aggiungerli manualmente ogni volta che vuole ottenere una certa funzionalità.
Valeria Barra è alla University of Colorado (Stati Uniti) per sviluppare una libreria matematica efficiente, estensibile e portabile per i calcoli a elevate prestazioni dei supercomputer.
Nome: Valeria Barra
Età: 33 anni
Vengo da: Siena
Vivo a: Pasadena (Stati Uniti)
Dottorato in: matematica applicata (New Jersey, Stati Uniti)
Ricerca: Metodi numerici per simulazioni computerizzate su larga scala
Istituto:Department of Computer Science, University of Colorado (Boulders)
Interessi: ballare hip hop, nuotare, musica
Di Pasadena mi piace:si incontrano colleghi che sono rockstar scientifiche,è ambientataThe Big Bang Theory
Di Pasadena non mi piace: il traffico, il caldo umico, la confusione
Pensiero: To infinity and beyond! (Buzz Lightyear, Toy Story)
Che tipo di libreria software stai sviluppando?
Lavoro in quella branca dell’informatica che si chiama High Performance Computing (HPC). L’HPC è un sistema di elaborazione dati in grado di risolvere calcoli estremamente complessi in maniera molto veloce. Per fare un esempio, se il nostro computer di casa può eseguire 1 miliardo di calcoli al secondo, le soluzioni HPC possono eseguire più di un miliardo di miliardi di calcoli al secondo.
Una delle soluzioni HPC più famose è il supercomputer. I supercomputer sono i computer più potenti al mondo, come se avessimo migliaia di PC che lavorano assieme e combinano la loro potenza di calcolo per completare un’attività il più velocemente possibile. I migliori supercomputer che esistono oggi raggiungono una potenza di calcolo di petaFLOPS(Floating Point Operations Per Second).
Le librerie matematiche per i supercomputer, quindi, non devono semplicemente funzionare ma devono lavorare molto bene, in maniera efficiente, veloce, performante per non creare ingorghi di dati.
Supercomputer diversi hanno bisogno di librerie matematiche diverse?
Ogni super computer è fatto in maniera diversa, ha un hardware diverso, è fatto da aziende diverse e tutto ciò si traduce in specifiche diverse su cui lavorare. Il problema di questo campo di ricerca è che ogni volta che esce un nuovo supercomputer, bisogna aggiustare il codice affinché funzioni su quella particolare architettura.
Inoltre, la velocità a cui oggi si evolvono tecnologia e computer è talmente grande che un codice sviluppato l’anno scorso adesso è lento e deve essere riscritto.
Quindi in sostanza non basta avere a disposizione il supercomputer più veloce al mondo, bisogna anche metterlo in condizione di lavorare velocemente, ovvero bisogna fornirgli un codice che non sia solo adatto a quell’architettura ma anche estremamente veloce da non creare ingolfamento di dati.
È come avere a disposizione una Ferrari e guidarla bloccato in seconda: non basta avere la Ferrari, bisogna anche saperla guidare e saperla guidare bene in modo da non sforzare il motore. La tecnologia dietro all’HPC sta tutta qui, nel riuscire a sfruttare al meglio la capacità e la velocità di calcolo dei supercomputer e a farlo in maniera più generale possibile.
Chi sono gli utenti più interessati a una libreria matematica simile?
Tutti gli scienziati che usano modelli matematici per la loro ricerca. C’è chi li usa per fare simulazioni di combustioni, chi simula il passaggio del vento attraverso i grattacieli per testarne la resistenza strutturale, chi li usa nelle simulazioni di fluidodinamica, …
L’obiettivo della libreria che stiamo sviluppando è creare un codice che sia il più generico possibile, che possa funzionare sia sul computer di casa che su un supercomputer senza dover cambiare nemmeno una riga.
Per farlo, usiamo plugin specializzati che accompagnano il programma base: per esempio ne abbiamo uno che funziona bene su GPU, uno su CPU e così via.
Tornando all’esempio di prima, l’idea è fornire sia il plugin per guidare la Ferrari sia quello per guidare la Panda: poi sta all’utente usare quello più adatto in base all’auto che possiede.
È un progetto giovane, la libreria si trova online ed è open source.
Quali sono le prospettive future del tuo lavoro?
Mi occuperò sempre di HPC ma applicata a un campo specifico, la climatologia. All’istituto Caltech (California Institute of Technology) farò parte di un progetto chiamato CLIMA (CLImate Modeling Alliance) dedicato alla creazione di un modello matematico unico in grado di considerare tutte le varie componenti che influenzano il clima.
Il sistema Terra, inteso come sistema fisico, è fatto da diversi elementi che contribuiscono alla variazione del meteo e del clima (ghiaccio, acqua, atmosfera, terra). In genere, i modelli climatici su cui gli scienziati lavorano prendono in considerazione queste componenti in modo separato e c’è sempre stata difficoltà a creare un modello unico che tenga conto che, per esempio, l’aria influisce sull’acqua e viceversa.
L’innovazione del modello CLIMA rispetto agli altri modelli è di iniziare tutto da capo e creare qualcosa di rivoluzionario che consideri già in partenza tutti gli elementi assieme invece di prendere i singoli modelli, seppur assodati da trent’anni, e metterli assieme come un patchwork. Tra l’altro, l’efficienza informatica di questi modelli patchwork non è molto alta, si dice che non sono portabili perché non funzionano su tutte le architetture.
L’ambizione di CLIMA è anche creare un modello che sia efficiente dal punto di vista HPC e che riesca a fare calcoli estremamente veloci sfruttando le architetture moderne come le GPU.
Leggi anche: Nanoparticelle d’oro per scovare virus e tumori
Pubblicato con licenza Creative Commons Attribuzione-Non opere derivate 2.5 Italia.
Immagine di copertina: Pixabay