Documenti full-text disponibili:
Abstract
La presente tesi descrive lo sviluppo di una libreria in C++ denominata SLAC per il calcolo parallelo e la risoluzione di problemi di algebra lineare su matrici distribuite, progettata come alternativa moderna e più intuitiva a ScaLAPACK. La libreria adotta uno schema di distribuzione ciclica a blocchi, che consente di ripartire le matrici tra più processi e di sfruttare al meglio la memoria complessiva del sistema. Le comunicazioni avvengono tramite MPI, permettendo l’esecuzione su architetture prive di memoria condivisa, mentre le operazioni locali sono affidate a Eigen, garantendo efficienza e ottime prestazioni nei calcoli locali.
La libreria mette a disposizione funzionalità per la gestione delle matrici locali e distribuite, calcolo di somma, sottrazione, moltiplicazione tra matrici, aggiornamenti simmetrici, decomposizione di CHolesky e solver di sistemi triangolari e sistemi simmetrici definiti positivi.
Lo sviluppo di questo strumento nasce dall’esigenza di effettuare il porting in C++ di un algoritmo di inversione sismico-gravimetrica fornito dall’INGV, originariamente implementato in Fortran e basato su ScaLAPACK. La nuova libreria costituisce un primo passo verso una piattaforma più flessibile, moderna e facilmente configurabile per applicazioni di inversione geofisica.
Abstract
La presente tesi descrive lo sviluppo di una libreria in C++ denominata SLAC per il calcolo parallelo e la risoluzione di problemi di algebra lineare su matrici distribuite, progettata come alternativa moderna e più intuitiva a ScaLAPACK. La libreria adotta uno schema di distribuzione ciclica a blocchi, che consente di ripartire le matrici tra più processi e di sfruttare al meglio la memoria complessiva del sistema. Le comunicazioni avvengono tramite MPI, permettendo l’esecuzione su architetture prive di memoria condivisa, mentre le operazioni locali sono affidate a Eigen, garantendo efficienza e ottime prestazioni nei calcoli locali.
La libreria mette a disposizione funzionalità per la gestione delle matrici locali e distribuite, calcolo di somma, sottrazione, moltiplicazione tra matrici, aggiornamenti simmetrici, decomposizione di CHolesky e solver di sistemi triangolari e sistemi simmetrici definiti positivi.
Lo sviluppo di questo strumento nasce dall’esigenza di effettuare il porting in C++ di un algoritmo di inversione sismico-gravimetrica fornito dall’INGV, originariamente implementato in Fortran e basato su ScaLAPACK. La nuova libreria costituisce un primo passo verso una piattaforma più flessibile, moderna e facilmente configurabile per applicazioni di inversione geofisica.
Tipologia del documento
Tesi di laurea
(Laurea magistrale)
Autore della tesi
Ravaioli, Michele
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
matrici,algebra,algebra lineare,calcolo parallelo,calcolo distribuito,HPC,MPI,Eigen,ScaLAPACK,C++,Fortran,porting,solver,distribuzione ciclica a blocchi,distribuzione ciclica,libreria,inversione geofisica,high performance
Data di discussione della Tesi
11 Dicembre 2025
URI
Altri metadati
Tipologia del documento
Tesi di laurea
(NON SPECIFICATO)
Autore della tesi
Ravaioli, Michele
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
matrici,algebra,algebra lineare,calcolo parallelo,calcolo distribuito,HPC,MPI,Eigen,ScaLAPACK,C++,Fortran,porting,solver,distribuzione ciclica a blocchi,distribuzione ciclica,libreria,inversione geofisica,high performance
Data di discussione della Tesi
11 Dicembre 2025
URI
Statistica sui download
Gestione del documento: