This thesis investigates the optimization of computational performance and energy effi- ciency in high-performance computing (HPC) applications on NVIDIA GPUs. Conducted in collaboration with ESTECO and the University of Trieste, the research focuses on the CUDA-based implementation of an algebraic multigrid (AMG) method, a key algorithm in numerical simulations. The work aims to exploit the inherent parallelism of GPUs to achieve substantial reductions in execution times compared to CPU-based implemen- tations, addressing the growing demand for computational efficiency in scientific and engineering domains. In Julia a novel library was developed to analyze the energy consumption of the GPU implementation. This library uses Julia macros to collect precise measurements of power drawn by GPUs and CPUs during specific portions of code execution, integrating energy profiling directly into the development process. By systematically evaluating energy con- sumption alongside performance metrics, the research provides a holistic understanding of the impact of GPU acceleration on energy efficiency. Extensive experiments demonstrate the performance gains achieved through GPU opti- mization, while highlighting the energy implications of such computational shifts. The results showcase the feasibility of leveraging GPU parallelism for computationally de- manding tasks while maintaining a focus on sustainable computing practices. This thesis offers practical insights for both academic and industrial applications, pro- viding actionable guidance on optimizing computational workflows in GPU-accelerated environments. By addressing the interplay between performance and energy efficiency, it contributes to advancing energy-aware programming methodologies in high-performance computing.

Questa tesi si concentra sull’ottimizzazione delle prestazioni computazionali e dell’efficienza energetica nelle applicazioni di calcolo ad alte prestazioni (HPC) sfruttando le GPU NVIDIA. Il lavoro, svolto in collaborazione con ESTECO e l’università di Trieste, si basa sull’implementazione in CUDA di un metodo multigriglia algebrico (AMG), un algo- ritmo essenziale in molte simulazioni numeriche. L’obiettivo è dimostrare come il paral- lelismo delle GPU possa ridurre drasticamente i tempi di esecuzione rispetto alle soluzioni tradizionali su CPU, rispondendo alle esigenze crescenti di efficienza e velocità nel calcolo scientifico e ingegneristico. Per affrontare anche l’aspetto dell’efficienza energetica, è stata sviluppata una libreria innovativa in Julia che permette di misurare con precisione l’energia consumata dalle GPU e dalle CPU durante l’esecuzione di specifiche porzioni di codice. Grazie all’uso di macro di Julia, questa libreria integra il monitoraggio del consumo energetico nel flusso di lavoro, consentendo di valutare sia le prestazioni che l’impatto energetico delle ottimizzazioni implementate. Gli esperimenti condotti hanno dimostrato come l’ottimizzazione delle prestazioni su GPU consenta di raggiungere risultati significativi, mostrando al contempo le implicazioni legate al consumo energetico. I risultati evidenziano come sia possibile utilizzare il paral- lelismo delle GPU per applicazioni computazionalmente complesse senza perdere di vista la sostenibilità energetica. Questa ricerca fornisce spunti rilevanti sia per l’ambito accademico che industriale, of- frendo indicazioni pratiche per ottimizzare i flussi di lavoro su piattaforme GPU. Lavo- rando sull’interazione tra prestazioni e consumi energetici, contribuisce allo sviluppo di pratiche di programmazione più consapevoli e sostenibili nel contesto dell’HPC

Study and implementation of an algebraic multi grid method for a meshless solver

Martinolli, Alessandro
2023/2024

Abstract

This thesis investigates the optimization of computational performance and energy effi- ciency in high-performance computing (HPC) applications on NVIDIA GPUs. Conducted in collaboration with ESTECO and the University of Trieste, the research focuses on the CUDA-based implementation of an algebraic multigrid (AMG) method, a key algorithm in numerical simulations. The work aims to exploit the inherent parallelism of GPUs to achieve substantial reductions in execution times compared to CPU-based implemen- tations, addressing the growing demand for computational efficiency in scientific and engineering domains. In Julia a novel library was developed to analyze the energy consumption of the GPU implementation. This library uses Julia macros to collect precise measurements of power drawn by GPUs and CPUs during specific portions of code execution, integrating energy profiling directly into the development process. By systematically evaluating energy con- sumption alongside performance metrics, the research provides a holistic understanding of the impact of GPU acceleration on energy efficiency. Extensive experiments demonstrate the performance gains achieved through GPU opti- mization, while highlighting the energy implications of such computational shifts. The results showcase the feasibility of leveraging GPU parallelism for computationally de- manding tasks while maintaining a focus on sustainable computing practices. This thesis offers practical insights for both academic and industrial applications, pro- viding actionable guidance on optimizing computational workflows in GPU-accelerated environments. By addressing the interplay between performance and energy efficiency, it contributes to advancing energy-aware programming methodologies in high-performance computing.
ING - Scuola di Ingegneria Industriale e dell'Informazione
3-apr-2025
2023/2024
Questa tesi si concentra sull’ottimizzazione delle prestazioni computazionali e dell’efficienza energetica nelle applicazioni di calcolo ad alte prestazioni (HPC) sfruttando le GPU NVIDIA. Il lavoro, svolto in collaborazione con ESTECO e l’università di Trieste, si basa sull’implementazione in CUDA di un metodo multigriglia algebrico (AMG), un algo- ritmo essenziale in molte simulazioni numeriche. L’obiettivo è dimostrare come il paral- lelismo delle GPU possa ridurre drasticamente i tempi di esecuzione rispetto alle soluzioni tradizionali su CPU, rispondendo alle esigenze crescenti di efficienza e velocità nel calcolo scientifico e ingegneristico. Per affrontare anche l’aspetto dell’efficienza energetica, è stata sviluppata una libreria innovativa in Julia che permette di misurare con precisione l’energia consumata dalle GPU e dalle CPU durante l’esecuzione di specifiche porzioni di codice. Grazie all’uso di macro di Julia, questa libreria integra il monitoraggio del consumo energetico nel flusso di lavoro, consentendo di valutare sia le prestazioni che l’impatto energetico delle ottimizzazioni implementate. Gli esperimenti condotti hanno dimostrato come l’ottimizzazione delle prestazioni su GPU consenta di raggiungere risultati significativi, mostrando al contempo le implicazioni legate al consumo energetico. I risultati evidenziano come sia possibile utilizzare il paral- lelismo delle GPU per applicazioni computazionalmente complesse senza perdere di vista la sostenibilità energetica. Questa ricerca fornisce spunti rilevanti sia per l’ambito accademico che industriale, of- frendo indicazioni pratiche per ottimizzare i flussi di lavoro su piattaforme GPU. Lavo- rando sull’interazione tra prestazioni e consumi energetici, contribuisce allo sviluppo di pratiche di programmazione più consapevoli e sostenibili nel contesto dell’HPC
File allegati
File Dimensione Formato  
Tesi_Polimi-Martinolli_Alessandro.pdf

solo utenti autorizzati a partire dal 13/03/2026

Descrizione: Tesi finale, post correzioni
Dimensione 4.92 MB
Formato Adobe PDF
4.92 MB Adobe PDF   Visualizza/Apri
Executive_Summary-Martinolli_Alessandro.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Executive Summary
Dimensione 641.07 kB
Formato Adobe PDF
641.07 kB 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/235074