This thesis presents the GPU porting and optimization of a Direct Numerical Simulation (DNS) solver that employs the IB Method (IBM), with a particular emphasis on the incompressible Navier-Stokes equations. The solver, originally implemented for CPU execution, was modified and extended to exploit modern GPU architectures, using a combination of CPL and CUDA C programming languages. The motivation behind this work is the growing demand for faster and scalable computational fluid dynamics (CFD) simulations, particularly in applications involving complex geometries such as the human nasal cavity. The work is part of a wider study aiming to find the best setup to accelerate the existing CPU code. Results show significant improvements in both acceleration and core-hour savings compared to the original CPU-based implementation. A simulation of the airflow through human nasal cavities under a fixed pressure difference is performed to demonstrate the solver’s ability to handle large-scale, real-world problems with high efficiency.

Questa tesi presenta il porting e l'ottimizzazione su GPU di un solutore per simulazioni numeriche dirette (DNS) che utilizza il Metodo ai Contorni Immersi (IB method), con particolare attenzione alle equazioni di Navier-Stokes incomprimibili. Il solutore, originariamente implementato per l'esecuzione su CPU, è stato modificato ed esteso per sfruttare le moderne architetture GPU, utilizzando una combinazione dei linguaggi di programmazione CPL e CUDA C. La motivazione di questo lavoro è la crescente richiesta di simulazioni di fluidodinamica computazionale (CFD) più veloci e scalabili, in particolare nelle applicazioni che coinvolgono geometrie complesse come la cavità nasale umana. Il lavoro fa parte di uno studio più ampio che mira a trovare la migliore configurazione per accelerare il codice CPU esistente. I risultati mostrano miglioramenti significativi sia nell'accelerazione che nel risparmio di ore-core rispetto all'implementazione originale basata sulla CPU. Il caso di prova finale simula il flusso d'aria attraverso le cavità nasali umane con una differenza di pressione fissa, dimostrando la capacità del solutore di gestire problemi reali su larga scala con un'elevata efficienza.

Porting a DNS solver to a multi-GPU architecture

Portioli, Andrea
2023/2024

Abstract

This thesis presents the GPU porting and optimization of a Direct Numerical Simulation (DNS) solver that employs the IB Method (IBM), with a particular emphasis on the incompressible Navier-Stokes equations. The solver, originally implemented for CPU execution, was modified and extended to exploit modern GPU architectures, using a combination of CPL and CUDA C programming languages. The motivation behind this work is the growing demand for faster and scalable computational fluid dynamics (CFD) simulations, particularly in applications involving complex geometries such as the human nasal cavity. The work is part of a wider study aiming to find the best setup to accelerate the existing CPU code. Results show significant improvements in both acceleration and core-hour savings compared to the original CPU-based implementation. A simulation of the airflow through human nasal cavities under a fixed pressure difference is performed to demonstrate the solver’s ability to handle large-scale, real-world problems with high efficiency.
ATZORI, MARCO
ING - Scuola di Ingegneria Industriale e dell'Informazione
11-dic-2024
2023/2024
Questa tesi presenta il porting e l'ottimizzazione su GPU di un solutore per simulazioni numeriche dirette (DNS) che utilizza il Metodo ai Contorni Immersi (IB method), con particolare attenzione alle equazioni di Navier-Stokes incomprimibili. Il solutore, originariamente implementato per l'esecuzione su CPU, è stato modificato ed esteso per sfruttare le moderne architetture GPU, utilizzando una combinazione dei linguaggi di programmazione CPL e CUDA C. La motivazione di questo lavoro è la crescente richiesta di simulazioni di fluidodinamica computazionale (CFD) più veloci e scalabili, in particolare nelle applicazioni che coinvolgono geometrie complesse come la cavità nasale umana. Il lavoro fa parte di uno studio più ampio che mira a trovare la migliore configurazione per accelerare il codice CPU esistente. I risultati mostrano miglioramenti significativi sia nell'accelerazione che nel risparmio di ore-core rispetto all'implementazione originale basata sulla CPU. Il caso di prova finale simula il flusso d'aria attraverso le cavità nasali umane con una differenza di pressione fissa, dimostrando la capacità del solutore di gestire problemi reali su larga scala con un'elevata efficienza.
File allegati
File Dimensione Formato  
2024_12_Andrea_Portioli_Executive_Summary.pdf

accessibile in internet solo dagli utenti autorizzati

Dimensione 674.5 kB
Formato Adobe PDF
674.5 kB Adobe PDF   Visualizza/Apri
2024_12_Andrea_Portioli_Tesi.pdf

accessibile in internet solo dagli utenti autorizzati

Dimensione 2.97 MB
Formato Adobe PDF
2.97 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/231051