The simulation of a combustion phenomenon is a challenging task in modern Computational Fluid Dynamics (CFD) due to the high complexity of the experiment. The stiffness of the chemical mechanism, in addition to a large computational mesh and the CPU serial architecture, can increase the computational effort of several order of magnitude. In the last years, General Purpose Graphic Processor Unit (GPGPU) computing has become very important in computer industry thanks to its capability to exploit massive parallelization and achieve great performance improvements. Thanks to this technique, it should be possible to obtain the same results of a Central Processing Unit (CPU) combustion code while saving plenty of time. This master thesis offers a possible implementation of GPGPU computing in the chemistry combustion model that is present in the open-source CFD software OpenFOAM. The code adopted is introduced and main planning choices are described. An explicit adaptive Runge-Kutta Cash-Karp of 4th and 5th order has been used. Different chemical kinetic mechanisms were tested, showing that accuracy is preserved when using an hybrid CPU/GPU implementation. Furthermore, an increase of the performance has been obtained for all the multi-cell test case. Low, medium and high-stiffness combustion mechanisms performed more than 1.4, 3.5 and 4.3 times faster than the original counterpart. Finally, possible future implementation were discussed in order to achieve a better speed-up.

La simulazione di fenomeni di combustione nella moderna CFD è un’operazione ambiziosa a causa della sua enorme complessità. La rigidità (stiffness) del meccanismo chimico, la dimensione della mesh utilizzata e l’architettura seriale della CPU possono andare ad aumentare il costo computazionale di diversi ordini di grandezza. Negli ultimi anni la General Purpose Graphic Processor Unit (GPGPU) computing è diventata sempre più importante nell’industria informatica a causa della sua capacità di sfruttare un’ingente parallelizzazione e ottenere grandi miglioramenti in termini di performance. Grazie a questa implementazione, è possibile ottenere gli stessi risultati di un codice di simulazione di fenomeni di combustione funzionante sulla CPU ma risparmiando molto più tempo. Questo lavoro di tesi offre una possibile implementatazione della GPGPU per i solutori della combustione presenti nel software open-source OpenFOAM. Si descriverà il codice prodotto e le maggiori scelte progettuali adottate. Per poter portare il codice in GPU, è stato scelto di utilizzare un metodo di integrazione esplicita delle equazioni differenziali ordinarie derivanti dalla chimica, in particolare il metodo di Runge-Kutta Cash-Karp del quarto e quinto ordine. Sono stati testati meccanismi chimici differenti, andando a mostrare come l’accuratezza delle soluzioni si preservi passando ad un’implementazione CPU/GPU ibrida come quella descritta. Inoltre, per i casi multi cella si ottiene anche un sensibile incremento nelle performance. I casi testati, a vari livelli di rigidezza numerica, hanno ottenuto un miglioramento rispettivamente di 1.4, 3.5 e 4.3 volte in confronto alla simulazione svolta totalmente in CPU. In conclusione, sono state presentate alcune possibili implementazioni future per poter ottenere un ulteriore miglioramento.

Accelerating reactive flow simulations via GPGPU ODE solvers in OpenFOAM

Trevisiol, Filippo
2019/2020

Abstract

The simulation of a combustion phenomenon is a challenging task in modern Computational Fluid Dynamics (CFD) due to the high complexity of the experiment. The stiffness of the chemical mechanism, in addition to a large computational mesh and the CPU serial architecture, can increase the computational effort of several order of magnitude. In the last years, General Purpose Graphic Processor Unit (GPGPU) computing has become very important in computer industry thanks to its capability to exploit massive parallelization and achieve great performance improvements. Thanks to this technique, it should be possible to obtain the same results of a Central Processing Unit (CPU) combustion code while saving plenty of time. This master thesis offers a possible implementation of GPGPU computing in the chemistry combustion model that is present in the open-source CFD software OpenFOAM. The code adopted is introduced and main planning choices are described. An explicit adaptive Runge-Kutta Cash-Karp of 4th and 5th order has been used. Different chemical kinetic mechanisms were tested, showing that accuracy is preserved when using an hybrid CPU/GPU implementation. Furthermore, an increase of the performance has been obtained for all the multi-cell test case. Low, medium and high-stiffness combustion mechanisms performed more than 1.4, 3.5 and 4.3 times faster than the original counterpart. Finally, possible future implementation were discussed in order to achieve a better speed-up.
GHIOLDI, FEDERICO
ING - Scuola di Ingegneria Industriale e dell'Informazione
15-dic-2020
2019/2020
La simulazione di fenomeni di combustione nella moderna CFD è un’operazione ambiziosa a causa della sua enorme complessità. La rigidità (stiffness) del meccanismo chimico, la dimensione della mesh utilizzata e l’architettura seriale della CPU possono andare ad aumentare il costo computazionale di diversi ordini di grandezza. Negli ultimi anni la General Purpose Graphic Processor Unit (GPGPU) computing è diventata sempre più importante nell’industria informatica a causa della sua capacità di sfruttare un’ingente parallelizzazione e ottenere grandi miglioramenti in termini di performance. Grazie a questa implementazione, è possibile ottenere gli stessi risultati di un codice di simulazione di fenomeni di combustione funzionante sulla CPU ma risparmiando molto più tempo. Questo lavoro di tesi offre una possibile implementatazione della GPGPU per i solutori della combustione presenti nel software open-source OpenFOAM. Si descriverà il codice prodotto e le maggiori scelte progettuali adottate. Per poter portare il codice in GPU, è stato scelto di utilizzare un metodo di integrazione esplicita delle equazioni differenziali ordinarie derivanti dalla chimica, in particolare il metodo di Runge-Kutta Cash-Karp del quarto e quinto ordine. Sono stati testati meccanismi chimici differenti, andando a mostrare come l’accuratezza delle soluzioni si preservi passando ad un’implementazione CPU/GPU ibrida come quella descritta. Inoltre, per i casi multi cella si ottiene anche un sensibile incremento nelle performance. I casi testati, a vari livelli di rigidezza numerica, hanno ottenuto un miglioramento rispettivamente di 1.4, 3.5 e 4.3 volte in confronto alla simulazione svolta totalmente in CPU. In conclusione, sono state presentate alcune possibili implementazioni future per poter ottenere un ulteriore miglioramento.
File allegati
File Dimensione Formato  
Tesi_FilippoTrevisiol.pdf

Open Access dal 19/11/2023

Dimensione 2.84 MB
Formato Adobe PDF
2.84 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/170955