Documenti full-text disponibili:
Abstract
In questa tesi si discute l'implementazione di un algoritmo di generazione procedurale di un mondo 3D a blocchi ispirato al videogioco Minecraft. L'algoritmo è realizzato sfruttando tecniche di high performance computing che consentono di parallelizzarne
l'esecuzione mediante una GPU NVIDIA e il paradigma di programmazione CUDA.
Il codice viene realizzato a partire da una versione del gioco esistente e realizzata in codice C esclusivamente seriale.
Le motivazioni alla base della scelta di questo progetto derivano da alcune considerazioni sull'attualità del mondo dei videogiochi, in cui si nota una tendenza ad abusare delle potenzialità sempre maggiori dell'hardware a discapito di chi non si può permettere
macchine e componenti di ultima generazione. Questa tesi e un tentativo esplicito di mettere in campo le attuali conoscenze in ambito di calcolo parallelo al servizio di una funzionalità che molti giochi presentano, ossia la generazione di un mondo infinito in
maniera dinamica a seconda della posizione del giocatore. È presente una guida pratica allo sviluppo di applicazioni CUDA, considerazioni generali su un progetto su cui si vuole intervenire con la parallelizzazione, e la discussione dell'implementazione vera e propria con la spiegazione dettagliata alla base delle scelte effettuate. Si presentano anche le analisi delle prestazioni effettuate, che rivelano l'esistenza di un vantaggio effettivo in termini di tempi di esecuzione della versione parallela rispetto a quella seriale.
Abstract
In questa tesi si discute l'implementazione di un algoritmo di generazione procedurale di un mondo 3D a blocchi ispirato al videogioco Minecraft. L'algoritmo è realizzato sfruttando tecniche di high performance computing che consentono di parallelizzarne
l'esecuzione mediante una GPU NVIDIA e il paradigma di programmazione CUDA.
Il codice viene realizzato a partire da una versione del gioco esistente e realizzata in codice C esclusivamente seriale.
Le motivazioni alla base della scelta di questo progetto derivano da alcune considerazioni sull'attualità del mondo dei videogiochi, in cui si nota una tendenza ad abusare delle potenzialità sempre maggiori dell'hardware a discapito di chi non si può permettere
macchine e componenti di ultima generazione. Questa tesi e un tentativo esplicito di mettere in campo le attuali conoscenze in ambito di calcolo parallelo al servizio di una funzionalità che molti giochi presentano, ossia la generazione di un mondo infinito in
maniera dinamica a seconda della posizione del giocatore. È presente una guida pratica allo sviluppo di applicazioni CUDA, considerazioni generali su un progetto su cui si vuole intervenire con la parallelizzazione, e la discussione dell'implementazione vera e propria con la spiegazione dettagliata alla base delle scelte effettuate. Si presentano anche le analisi delle prestazioni effettuate, che rivelano l'esistenza di un vantaggio effettivo in termini di tempi di esecuzione della versione parallela rispetto a quella seriale.
Tipologia del documento
Tesi di laurea
(Laurea)
Autore della tesi
Bordeianu, Alin Stefan
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
High performance computing,CUDA,Parallelizzazione,Generazione procedurale,GPU,Videogiochi,Ottimizzazione
Data di discussione della Tesi
28 Novembre 2024
URI
Altri metadati
Tipologia del documento
Tesi di laurea
(NON SPECIFICATO)
Autore della tesi
Bordeianu, Alin Stefan
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
High performance computing,CUDA,Parallelizzazione,Generazione procedurale,GPU,Videogiochi,Ottimizzazione
Data di discussione della Tesi
28 Novembre 2024
URI
Statistica sui download
Gestione del documento: