Wetenschap
Een illustratie van ingewikkelde stromingsstructuren in turbulentie van een grote simulatie uitgevoerd met 1, 024-knooppunten op Summit. Het frame rechtsonder toont een ingezoomde weergave van een gebied met hoge activiteit. Krediet:Dave Pugmire en Mike Matheson, Oak Ridge National Laboratory
turbulentie, de toestand van wanordelijke vloeiende beweging, is een wetenschappelijke puzzel van grote complexiteit. Turbulentie doordringt vele toepassingen in wetenschap en techniek, inclusief verbranding, transport van vervuilende stoffen, weersvoorspelling, astrofysica, en meer. Een van de uitdagingen voor wetenschappers die turbulentie simuleren, ligt in het brede scala aan schalen die ze moeten vastleggen om het fenomeen nauwkeurig te begrijpen. Deze schalen kunnen verschillende ordes van grootte omspannen en kunnen moeilijk te vatten zijn binnen de beperkingen van de beschikbare computerbronnen.
High-performance computing kan deze uitdaging aan in combinatie met de juiste wetenschappelijke code; maar het simuleren van turbulente stromingen met probleemgroottes die verder gaan dan de huidige stand van de techniek vereist nieuw denken in combinatie met hoogwaardige heterogene platforms.
Een team onder leiding van P.K. Yeung, hoogleraar lucht- en ruimtevaarttechniek en werktuigbouwkunde aan het Georgia Institute of Technology, voert directe numerieke simulaties (DNS) van turbulentie uit met behulp van de nieuwe code van zijn team, GPU's voor Extreme-Scale Turbulence Simulations (GESTS). DNS kan nauwkeurig de details vastleggen die voortkomen uit een breed scala aan schalen. Eerder dit jaar, het team ontwikkelde een nieuw algoritme dat is geoptimaliseerd voor de IBM AC922 Summit-supercomputer in de Oak Ridge Leadership Computing Facility (OLCF). Met het nieuwe algoritme het team bereikte een prestatie van minder dan 15 seconden wandkloktijd per tijdstap voor meer dan 6 biljoen rasterpunten in de ruimte - een nieuw wereldrecord dat de eerdere stand van de techniek in het veld overtreft voor de omvang van het probleem.
De simulaties die het team op Summit uitvoert, zullen naar verwachting belangrijke kwesties met betrekking tot snel kolkende turbulente vloeistofstromen ophelderen, die een directe impact zullen hebben op de modellering van reagerende stromen in motoren en andere soorten voortstuwingssystemen.
GESTS is een computationele vloeistofdynamica-code in het Center for Accelerated Application Readiness bij de OLCF, een US Department of Energy (DOE) Office of Science User Facility bij DOE's Oak Ridge National Laboratory. De kern van GESTS is een elementair wiskundig algoritme dat grootschalige, gedistribueerde snelle Fourier-transformaties (FFT's) in drie ruimtelijke richtingen.
Een FFT is een wiskundig algoritme dat de conversie berekent van een signaal (of een veld) van zijn oorspronkelijke tijd- of ruimtedomein naar een representatie in de frequentieruimte (of golfgetal) en vice versa voor de inverse transformatie. Yeung past een groot aantal FFT's uitgebreid toe bij het nauwkeurig oplossen van de fundamentele partiële differentiaalvergelijking van vloeistofdynamica, de Navier-Stokes-vergelijking, met behulp van een benadering die in de wiskunde en wetenschappelijke informatica bekend staat als 'pseudospectrale methoden'.
De meeste simulaties die massaal CPU-gebaseerd parallellisme gebruiken, verdelen een 3D-oplossingsdomein, of het ruimtevolume waar een vloeistofstroom wordt berekend, langs twee richtingen in vele lange "databoxen, " of "potloden." Echter, toen Yeung's team eind 2017 ontmoette op een OLCF GPU Hackathon met mentor David Appelhans, een onderzoeksmedewerker bij IBM, de groep bedacht een innovatief idee. Ze zouden twee verschillende benaderingen combineren om het probleem aan te pakken. Ze zouden eerst het 3D-domein in één richting verdelen, het vormen van een aantal data-"platen" op de grote geheugen-CPU's van Summit, vervolgens verder parallel lopen binnen elke plaat met behulp van de GPU's van Summit.
Het team identificeerde de meest tijdrovende delen van een basis-CPU-code en ging op zoek naar een nieuw algoritme dat de kosten van deze bewerkingen zou verlagen. verleg de grenzen van de grootst mogelijke probleemomvang, en profiteer van de unieke datagerichte kenmerken van Summit, 's werelds krachtigste en slimste supercomputer voor open wetenschap.
"We hebben dit algoritme zo ontworpen dat het een hiërarchisch parallellisme vertoont om ervoor te zorgen dat het goed zou werken op een hiërarchisch systeem, Appelhans zei. "We zetten maximaal twee platen op een knoop, maar omdat elk knooppunt 6 GPU's heeft, we braken elke plaat op en plaatsten die individuele stukken op verschillende GPU's."
Vroeger, potloden zijn mogelijk verdeeld over veel knooppunten, maar de methode van het team maakt gebruik van Summit's communicatie op knooppunten en de grote hoeveelheid CPU-geheugen om volledige gegevensplaten op enkele knooppunten te passen.
"We waren oorspronkelijk van plan om de code uit te voeren met het geheugen op de GPU, die ons zou hebben beperkt tot kleinere probleemgroottes, "Zei Yeung. "Echter, op de OLCF GPU Hackathon, we realiseerden ons dat de NVLink-verbinding tussen de CPU en de GPU zo snel is dat we het gebruik van de 512 gigabyte CPU-geheugen per node daadwerkelijk konden maximaliseren."
Het besef bracht het team ertoe enkele van de belangrijkste delen van de code (kernels) aan te passen voor GPU-gegevensverplaatsing en asynchrone verwerking, waardoor berekening en gegevensverplaatsing gelijktijdig kunnen plaatsvinden. De innovatieve kernels transformeerden de code en stelden het team in staat om veel grotere problemen dan ooit tevoren op te lossen in een veel sneller tempo dan ooit tevoren.
Het succes van het team bewees dat zelfs grote, door communicatie gedomineerde applicaties kunnen veel baat hebben bij 's werelds krachtigste supercomputer wanneer codeontwikkelaars de heterogene architectuur integreren in het algoritmeontwerp.
Samensmelten tot succes
Een van de belangrijkste ingrediënten voor het succes van het team was een perfecte match tussen de jarenlange expertise op het gebied van domeinwetenschap van het Georgia Tech-team en Appelhans' innovatieve denkwijze en diepgaande kennis van de machine.
Ook cruciaal voor de prestatie waren de Ascent- en Summitdev-systemen van de OLCF met vroege toegang en een toewijzing van een miljoen node-uren op Summit, geleverd door het programma Innovative Novel en Computational Impact on Theory and Experiment (INCITE), gezamenlijk beheerd door de Argonne en Oak Ridge Leadership Computing Facilities, en het Summit Early Science Program in 2019.
Oscar Hernández, ontwikkelaar van tools bij het OLCF, hielp het team bij het navigeren door uitdagingen tijdens het project. Een van die uitdagingen was het uitzoeken hoe elk afzonderlijk parallel proces (dat voldoet aan de Message Passing Interface [MPI]-standaard) op de CPU moet worden uitgevoerd in combinatie met meerdere GPU's. Typisch, een of meer MPI-processen zijn gekoppeld aan een enkele GPU, maar het team ontdekte dat het gebruik van meerdere GPU's per MPI-proces de MPI-processen in staat stelt een kleiner aantal grotere berichten te verzenden en te ontvangen dan het team oorspronkelijk had gepland. Met behulp van het OpenMP-programmeermodel, Hernandez hielp het team het aantal MPI-taken te verminderen, het verbeteren van de communicatieprestaties van de code en daardoor leiden tot verdere versnellingen.
Kiran Ravikumar, een Georgia Tech-doctoraatsstudent op het project, zal details van het algoritme presenteren in het technische programma van de Supercomputing Conference 2019, SC19.
Het team is van plan de code te gebruiken om verder door te dringen in de mysteries van turbulentie; ze zullen in de toekomst ook andere fysieke fenomenen zoals oceanische vermenging en elektromagnetische velden in de code introduceren.
"Deze code, en zijn toekomstige versies, zal opwindende kansen bieden voor grote vooruitgang in de wetenschap van turbulentie, met inzichten van algemeenheid die betrekking hebben op turbulente menging in veel natuurlijke en kunstmatige omgevingen, ' zei Yeung.
Wetenschap © https://nl.scienceaq.com