Documenti full-text disponibili:
|
Documento PDF (Thesis)
Full-text accessibile solo agli utenti istituzionali dell'Ateneo
Disponibile con Licenza: Salvo eventuali più ampie autorizzazioni dell'autore, la tesi può essere liberamente consultata e può essere effettuato il salvataggio e la stampa di una copia per fini strettamente personali di studio, di ricerca e di insegnamento, con espresso divieto di qualunque utilizzo direttamente o indirettamente commerciale. Ogni altro diritto sul materiale è riservato
Download (618kB)
| Contatta l'autore
|
Abstract
Il seguente elaborato si pone come obiettivo la trasposizione di una parte degli esercizi presentati durante il corso di High Performance Computing, servendosi
delle tecnologie che non sono state utilizzate per la soluzione delle esercitazioni di laboratorio. Gli algoritmi presi in considerazione per questa esposizione
sono la somma dei numeri in un vettore di N elementi, la ricerca lineare, la schedulazione dinamica, il metodo di eliminazione di Gauss e il Simplesso Primale.
Il progetto prevede, per ogni algoritmo, di trovare il modello di parallelizzazione più adatto al problema che si vuole risolvere e alla tecnologia utilizzata per
la risoluzione. Sarà importante individuare la presenza di dipendenze tra i dati e, in caso sia possibile, eliminare queste dipendenze effettuando delle trasformazioni
sulle istruzioni coinvolte; questa operazione permetterà di capire quali porzioni di codice possono essere eseguite simultaneamente da diversi processi. Le tecnologie
che verranno utilizzate per lo sviluppo delle versioni parallele sono le direttive OpenMP, l'architettura CUDA e la libreria MPI. Le prime due presentano
un'architettura a memoria condivisa ovvero dove tutte le unità di calcolo condividono una memoria globale; mentre MPI si basa su una strutturazione a memoria
distribuita, dove la condivisione dei dati è possibile attraverso una comunicazione esplicita, grazie a una rete di interconnessione tra i nodi di calcolo. Si
studierà quale versione parallela risulta più adatta al problema preso in considerazione e apporta miglioramenti significativi rispetto al programma originale
seriale, e quale invece introduce un decadimento delle prestazioni. Per arrivare a questa valutazione verranno presi in considerazione un insieme di parametri
riguardanti le prestazioni del programma finito; in particolare verranno utilizzate delle librerie specifiche per poter misurare il tempo d'esecuzione dei programmi,
in modo da poter valutare speedup ed efficienza.
Abstract
Il seguente elaborato si pone come obiettivo la trasposizione di una parte degli esercizi presentati durante il corso di High Performance Computing, servendosi
delle tecnologie che non sono state utilizzate per la soluzione delle esercitazioni di laboratorio. Gli algoritmi presi in considerazione per questa esposizione
sono la somma dei numeri in un vettore di N elementi, la ricerca lineare, la schedulazione dinamica, il metodo di eliminazione di Gauss e il Simplesso Primale.
Il progetto prevede, per ogni algoritmo, di trovare il modello di parallelizzazione più adatto al problema che si vuole risolvere e alla tecnologia utilizzata per
la risoluzione. Sarà importante individuare la presenza di dipendenze tra i dati e, in caso sia possibile, eliminare queste dipendenze effettuando delle trasformazioni
sulle istruzioni coinvolte; questa operazione permetterà di capire quali porzioni di codice possono essere eseguite simultaneamente da diversi processi. Le tecnologie
che verranno utilizzate per lo sviluppo delle versioni parallele sono le direttive OpenMP, l'architettura CUDA e la libreria MPI. Le prime due presentano
un'architettura a memoria condivisa ovvero dove tutte le unità di calcolo condividono una memoria globale; mentre MPI si basa su una strutturazione a memoria
distribuita, dove la condivisione dei dati è possibile attraverso una comunicazione esplicita, grazie a una rete di interconnessione tra i nodi di calcolo. Si
studierà quale versione parallela risulta più adatta al problema preso in considerazione e apporta miglioramenti significativi rispetto al programma originale
seriale, e quale invece introduce un decadimento delle prestazioni. Per arrivare a questa valutazione verranno presi in considerazione un insieme di parametri
riguardanti le prestazioni del programma finito; in particolare verranno utilizzate delle librerie specifiche per poter misurare il tempo d'esecuzione dei programmi,
in modo da poter valutare speedup ed efficienza.
Tipologia del documento
Tesi di laurea
(Laurea)
Autore della tesi
Girolomini, Alice
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
High Performance Computing,OpenMP,MPI,CUDA,Prestazioni
Data di discussione della Tesi
30 Novembre 2023
URI
Altri metadati
Tipologia del documento
Tesi di laurea
(NON SPECIFICATO)
Autore della tesi
Girolomini, Alice
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
High Performance Computing,OpenMP,MPI,CUDA,Prestazioni
Data di discussione della Tesi
30 Novembre 2023
URI
Statistica sui download
Gestione del documento: