Credito:Oak Ridge National Laboratory
Poiché le architetture GPU sono diventate lo standard per il calcolo scientifico, i team delle applicazioni hanno dovuto adattare i loro codici scientifici per funzionare su nuovi sistemi. Anche i team con codici riprogettati per le GPU devono adattarli continuamente alle nuove architetture.
Evan Schneider dell'Università di Princeton, anche se, ha iniziato a sviluppare il suo codice per le GPU fin dall'inizio. Nel 2012, Schneider ha affrontato la sfida di capire come risolvere enormi problemi di astrofisica utilizzando i cluster GPU. Ciò che è iniziato in piccoli gruppi presso l'Università dell'Arizona con il suo consulente di dottorato, Brant Robertson, attualmente professore associato presso l'Università della California, Santa Cruz—alla fine è stato eseguito sull'ormai dismesso supercomputer Cray XK7 Titan presso l'Oak Ridge Leadership Computing Facility (OLCF), una struttura per gli utenti dell'Ufficio delle scienze del Dipartimento dell'Energia degli Stati Uniti (DOE) situata presso l'Oak Ridge National Laboratory del DOE. Il codice, chiamato Cholla, o Idrodinamica computazionale su architetture ∥ (parallele):è ora uno dei primi codici riscritti per Frontier, un sistema exascale da implementare presso l'OLCF nel 2021.
"Con Frontiera, ci sarà molta più potenza disponibile sulle GPU, " ha detto Schneider. "Non ha più senso fare quasi nulla sulle CPU, quindi molto di ciò su cui stiamo lavorando è far funzionare alcuni dei nostri moduli di fisica aggiuntivi sulle GPU".
Il codice è uno degli otto del Center for Accelerated Application Readiness (CAAR), uno sforzo per preparare applicazioni scientifiche per Frontier. Cholla è usato per simulare i sistemi fisici coinvolti nell'evoluzione delle galassie, che è il modo in cui le galassie nell'universo cambiano con il tempo. Le galassie sono fatte non solo di stelle ma anche di polvere e gas che interagiscono per influenzare questa evoluzione. L'obiettivo del team è eseguire una simulazione della Via Lattea che incorpori tutta la fisica dei gas che si verifica, oltre a tutte le stelle.
"Abbiamo bisogno di modelli ad alta risoluzione perché vogliamo davvero monitorare il gas in tutte le sue diverse fasi:caldo, freddo, piccante, alta velocità, e così via, " ha detto Schneider. "Vogliamo capire la fisica del gas che guida la formazione delle stelle e perché le galassie smettono di formare stelle. Per sfruttare i dati osservativi che già abbiamo, dobbiamo fare una simulazione estremamente ampia".
Cholla è attualmente compatibile con il linguaggio di programmazione CUDA di NVIDIA per essere eseguito sul sistema IBM AC922 Summit di OLCF, che dispone di GPU NVIDIA Tesla V100. Ora, Schneider e il suo team, con il collegamento CAAR Reuben Budiardja nel gruppo di calcolo scientifico dell'OLCF e rappresentanti di AMD e Cray, stanno usando l'Heterogeneous-Compute Interface for Portability (HIP) per fare proprio ciò che suggerisce il nome:tradurre alcune parti del codice in modo che siano portabili per l'architettura Frontier, che presenterà l'architettura Shasta di Cray e Slingshot Interconnect, nonché CPU AMD EPYC e GPU AMD Radeon Instinct. Questo processo di traduzione consente agli utenti come Schneider di adattarsi alle nuove architetture GPU come Frontier.
studente laureato di Schneider, Orlando Warren dell'Università di Pittsburgh, dove Schneider ha recentemente accettato una posizione come assistente professore, ha già riscritto gran parte della porzione GPU del codice per renderla compatibile con HIP. Prossimo, il team riscriverà i pezzi di Cholla attualmente in esecuzione sulle CPU, in modo che questi possano essere eseguiti anche su GPU.
Robertson sta lavorando con il suo studente laureato, Bruno Villasenor, che sta aggiungendo pezzi sostanziali a Cholla, inclusi i calcoli necessari per risolvere la gravità nella gigantesca simulazione della Via Lattea del team. Schneider sta coordinando gli sforzi per riprogettare il codice e aggiungendo quelli che lei chiama "campane e fischietti" per perfezionare ulteriormente le simulazioni necessarie per comprendere la formazione stellare.
Con Frontiera, il team crede di poter simulare la formazione stellare ad alta risoluzione.
"Proprio adesso, vorremmo identificare come il gas lascia la galassia e vi ritorna e come questo influenza il processo di formazione stellare nella Via Lattea. La risoluzione più alta che possiamo ottenere, meglio possiamo comprendere i processi fisici del gas, e questo finisce per influenzare molti problemi diversi in astrofisica."
L'ultimo passo, Schneider ha detto, sta assicurando che il nuovo codice funzioni quando viene trasferito su migliaia di GPU anziché su poche, un compito che richiede un sistema di calcolo ad alte prestazioni su larga scala come Summit. Il team eseguirà test su larga scala su Summit prima di eseguire il sistema Frontier quando verrà distribuito il prossimo anno.