• Home
  • Chimica
  • Astronomia
  • Energia
  • Natura
  • Biologia
  • Fisica
  • Elettronica
  • Una nuova strategia parallela per affrontare le turbolenze al Summit

    Un'illustrazione di complesse strutture di flusso in turbolenza da una grande simulazione eseguita utilizzando 1, 024 nodi su Summit. Il riquadro in basso a destra mostra una vista ingrandita di una regione ad alta attività. Credito:Dave Pugmire e Mike Matheson, Laboratorio nazionale di Oak Ridge

    Turbolenza, lo stato di movimento fluido disordinato, è un puzzle scientifico di grande complessità. La turbolenza permea molte applicazioni nel campo della scienza e dell'ingegneria, compresa la combustione, trasporto di inquinanti, previsioni del tempo, astrofisica, e altro ancora. Una delle sfide che devono affrontare gli scienziati che simulano la turbolenza risiede nell'ampia gamma di scale che devono catturare per comprendere con precisione il fenomeno. Queste scale possono estendersi su diversi ordini di grandezza e possono essere difficili da catturare entro i limiti delle risorse di elaborazione disponibili.

    Il calcolo ad alte prestazioni può resistere a questa sfida se abbinato al giusto codice scientifico; ma simulare flussi turbolenti con dimensioni del problema superiori allo stato attuale dell'arte richiede un nuovo modo di pensare in concerto con piattaforme eterogenee di prima qualità.

    Una squadra guidata da P. K. Yeung, professore di ingegneria aerospaziale e ingegneria meccanica presso il Georgia Institute of Technology, esegue simulazioni numeriche dirette (DNS) di turbolenza utilizzando il nuovo codice del suo team, GPU per simulazioni di turbolenza su scala estrema (GETS). Il DNS può catturare con precisione i dettagli che derivano da un'ampia gamma di scale. All'inizio di quest'anno, il team ha sviluppato un nuovo algoritmo ottimizzato per il supercomputer IBM AC922 Summit presso l'Oak Ridge Leadership Computing Facility (OLCF). Con il nuovo algoritmo, il team ha raggiunto una prestazione di meno di 15 secondi di tempo dell'orologio da parete per passo temporale per oltre 6 trilioni di punti della griglia nello spazio, un nuovo record mondiale che supera lo stato dell'arte precedente nel campo per le dimensioni del problema.

    Le simulazioni che il team conduce su Summit dovrebbero chiarire importanti questioni riguardanti i flussi di fluidi turbolenti a rapida agitazione, che avrà un impatto diretto sulla modellizzazione dei flussi reagenti nei motori e in altri tipi di sistemi di propulsione.

    GETS è un codice di fluidodinamica computazionale nel Center for Accelerated Application Readiness dell'OLCF, una struttura per gli utenti dell'Office of Science del Dipartimento dell'Energia degli Stati Uniti (DOE) presso l'Oak Ridge National Laboratory del DOE. Al centro di GETS c'è un algoritmo matematico di base che calcola su larga scala, trasformate veloci distribuite di Fourier (FFT) in tre direzioni spaziali.

    Una FFT è un algoritmo matematico che calcola la conversione di un segnale (o un campo) dal suo dominio temporale o spaziale originale in una rappresentazione nello spazio della frequenza (o del numero d'onda) e viceversa per la trasformata inversa. Yeung applica ampiamente un numero enorme di FFT per risolvere accuratamente l'equazione differenziale parziale fondamentale della fluidodinamica, l'equazione di Navier-Stokes, utilizzando un approccio noto in matematica e informatica scientifica come "metodi pseudospettrali".

    La maggior parte delle simulazioni che utilizzano un massiccio parallelismo basato sulla CPU partirà un dominio di soluzione 3D, o il volume di spazio in cui viene calcolato un flusso di fluido, lungo due direzioni in tante lunghe "scatole dati, " o "matite". quando il team di Yeung si è incontrato a un GPU Hackathon dell'OLCF alla fine del 2017 con il mentore David Appelhans, un membro dello staff di ricerca presso IBM, il gruppo ha concepito un'idea innovativa. Avrebbero combinato due diversi approcci per affrontare il problema. Prima partirebbero il dominio 3D in una direzione, formando una serie di "lastre" di dati sulle CPU di grande memoria di Summit, quindi parallelizzare ulteriormente all'interno di ogni lastra utilizzando le GPU di Summit.

    Il team ha identificato le parti che richiedono più tempo di un codice CPU di base e ha deciso di progettare un nuovo algoritmo che riducesse il costo di queste operazioni, spingere i limiti della dimensione del problema più grande possibile, e sfruttare le caratteristiche uniche incentrate sui dati di Summit, il supercomputer più potente e intelligente al mondo per la scienza aperta.

    "Abbiamo progettato questo algoritmo come un parallelismo gerarchico per garantire che funzionasse bene su un sistema gerarchico, " Ha detto Appelhans. "Abbiamo messo fino a due lastre su un nodo, ma poiché ogni nodo ha 6 GPU, abbiamo rotto ogni lastra e messo quei singoli pezzi su GPU diverse."

    Nel passato, le matite potrebbero essere state distribuite tra molti nodi, ma il metodo del team utilizza la comunicazione su nodo di Summit e la sua grande quantità di memoria della CPU per adattare intere lastre di dati su singoli nodi.

    "Inizialmente pensavamo di eseguire il codice con la memoria che risiedeva sulla GPU, che ci avrebbe limitato a problemi di dimensioni inferiori, " Yeung ha detto. "Tuttavia, al GPU Hackathon dell'OLCF, ci siamo resi conto che la connessione NVLink tra la CPU e la GPU è così veloce da poter effettivamente massimizzare l'utilizzo dei 512 gigabyte di memoria della CPU per nodo."

    La realizzazione ha spinto il team ad adattare alcune delle parti principali del codice (kernel) per lo spostamento dei dati GPU e l'elaborazione asincrona, che consente il calcolo e lo spostamento dei dati contemporaneamente. I kernel innovativi hanno trasformato il codice e hanno permesso al team di risolvere problemi molto più grandi che mai a un ritmo molto più veloce che mai.

    Il successo del team ha dimostrato che anche grandi, le applicazioni dominate dalla comunicazione possono trarre grandi vantaggi dal supercomputer più potente del mondo quando gli sviluppatori di codice integrano l'architettura eterogenea nella progettazione dell'algoritmo.

    Unirsi al successo

    Uno degli ingredienti chiave per il successo del team è stata la perfetta combinazione tra la lunga esperienza scientifica del team di Georgia Tech e il pensiero innovativo e la profonda conoscenza della macchina di Appelhans.

    Altrettanto cruciale per il raggiungimento è stato l'accesso anticipato ai sistemi Ascent e Summitdev dell'OLCF e un'assegnazione di un milione di nodi di ore su Summit fornita dal programma Innovative Novel and Computational Impact on Theory and Experiment (INCITE), gestito congiuntamente da Argonne e Oak Ridge Leadership Computing Facilities, e il Summit Early Science Program nel 2019.

    Oscar Hernandez, sviluppatore di strumenti presso l'OLCF, ha aiutato il team a superare le sfide durante tutto il progetto. Una di queste sfide è stata capire come eseguire ogni singolo processo parallelo (che obbedisce allo standard dell'interfaccia di passaggio dei messaggi [MPI]) sulla CPU insieme a più GPU. Tipicamente, uno o più processi MPI sono legati a una singola GPU, ma il team ha scoperto che l'utilizzo di più GPU per processo MPI consente ai processi MPI di inviare e ricevere un numero inferiore di messaggi più grandi rispetto a quanto originariamente previsto dal team. Utilizzando il modello di programmazione OpenMP, Hernandez ha aiutato il team a ridurre il numero di attività MPI, migliorare le prestazioni di comunicazione del codice e quindi portare a ulteriori accelerazioni.

    Kiran Ravikumar, uno studente di dottorato della Georgia Tech sul progetto, presenterà i dettagli dell'algoritmo all'interno del programma tecnico della Supercomputing Conference 2019, SC19.

    Il team prevede di utilizzare il codice per compiere ulteriori incursioni nei misteri della turbolenza; in futuro introdurranno nel codice anche altri fenomeni fisici come la miscelazione oceanica e i campi elettromagnetici.

    "Questo codice, e le sue versioni future, fornirà opportunità entusiasmanti per importanti progressi nella scienza della turbolenza, con intuizioni di generalità relative al mescolamento turbolento in molti ambienti naturali e ingegnerizzati, " ha detto Yeung.


    © Scienza https://it.scienceaq.com