Aprire gli argini delle simulazioni di fluidi con il supercalcolo
Il calcolo ad alte prestazioni (HPC) consente di simulare accuratamente i processi fisici, evitando esperimenti costosi e lunghi nel mondo reale. Uno dei principali beneficiari è il campo della fluidodinamica computazionale, dove i modelli che prevedono il trasferimento di calore e massa nei fluidi sono utilizzati per progettare applicazioni in settori che vanno dall’aerospaziale alla medicina. «Essendo già una tecnologia matura, la crescita futura della fluidodinamica computazionale dipende da un più efficace sfruttamento delle opportunità offerte dall’HPC», spiega Fred Mendonça del gruppo ESI e ricercatore principale del progetto exaFOAM. Il progetto ha potenziato le prestazioni di OpenFOAM, un software molto diffuso per i flussi di lavoro della fluidodinamica computazionale, migliorando la capacità di sfruttare la potenza dell’HPC lungo tutta la catena di processo. Migliorando la comprensione di aree come la meccanica dei solidi, l’aerodinamica e il trasferimento di calore, OpenFOAM ottimizza la progettazione di prodotti per l’ingegneria dei veicoli terrestri, il settore aerospaziale, la generazione di energia e le applicazioni biomediche, tra gli altri. «L’ingegneria virtuale si basa sulla combinazione della potenza di elaborazione dell’HPC con la versatilità delle tecniche di intelligenza artificiale. Il nostro lavoro, indipendente da qualsiasi piattaforma o chip particolare, consente di effettuare gli immensi calcoli necessari per addestrare gli algoritmi alla base di queste tecniche all’avanguardia», aggiunge Mendonça.
Strozzature informatiche
Durante la lunga elaborazione al computer, gli utenti si basano sulla ricezione di informazioni intermedie per valutare i progressi. Questo scambio di dati (I/O) può trasformarsi in un collo di bottiglia, soprattutto se il core di elaborazione si ferma fino al completamento dello scambio di dati. Il progetto ha utilizzato software open-source, come ADIOS-2, per mantenere efficiente l’accesso ai file I/O durante l’esecuzione su un gran numero di core di unità di elaborazione centrale (CPU). E’ stato così possibile eseguire OpenFOAM sul supercomputer Hawk di HLRS, dove è stato distribuito su 500 000 core, ricevendo per questo il Technology Innovation Excellence award per l’HPC. «Per quanto ne sappiamo, questo è il maggior numero di core mai utilizzato per una simulazione OpenFOAM», spiega Mendonça. A complemento di questi miglioramenti, dal 2023 la versione del software OpenFOAM contiene gli strumenti di profilazione di exaFOAM, che identificano i colli di bottiglia dell’elaborazione.
Codice legacy
Il progetto ha anche migliorato il codice di OpenFOAM in modo che possa essere eseguito su nuove architetture di chip di CPU e unità di elaborazione grafica (GPU). La sfida principale da superare era che il codice legacy della CPU (come il C++) non funziona necessariamente sulle GPU più potenti. Il team ha sviluppato una soluzione che consente di trasferire una parte del codice della CPU, nota come solutore lineare, dalla CPU alla GPU. Sono iniziati anche i lavori per consentire l’esecuzione di codice CPU legacy direttamente sulle GPU, utilizzando acceleratori standard del settore (OpenMP). Mentre le soluzioni di I/O e GPU hanno portato a un aumento delle prestazioni, il team ha anche modificato alcuni algoritmi di exaFOAM per ottenere guadagni incrementali e ridurre i colli di bottiglia della comunicazione nel codice. «Insieme, questi approcci hanno fatto aumentare le prestazioni di OpenFOAM di almeno dieci volte», osserva Mendonça.
Applicazioni industriali
Il progetto ha avviato diversi benchmark di prestazioni HPC (applicazioni industriali e Grand Challenge) e li ha resi pubblicamente disponibili. «Abbiamo selezionato esempi quotidiani, in vari settori, che riguardano aspetti critici come il miglioramento della progettazione e delle prestazioni delle apparecchiature, l’efficienza dei carburanti per un buon rapporto costi-benefici, la garanzia di sicurezza e comfort per i cittadini e la riduzione dell’impatto ambientale», spiega Mendonça. Le sfide specifiche del settore comprendono la riduzione della resistenza aerodinamica dei veicoli per aumentare l’autonomia e l’ottimizzazione del posizionamento delle turbine negli impianti eolici per massimizzare la produzione di energia. Ne sono scaturiti 19 casi di benchmark. Il team del progetto ha avviato una collaborazione con il progetto EXASIM, finanziato dall’UE, che condivide l’obiettivo di consentire la simulazione di fluidodinamica computazionale in grado di gestire l’esascala utilizzando OpenFOAM.
Parole chiave
exaFOAM, impresa comune EuroHPC, fluidodinamica computazionale, algoritmo, codice, I/O, GPU, CPU, chip, core, intelligenza artificiale, HPC