• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  • En ny parallell strategi för att hantera turbulens på toppmötet

    En illustration av invecklade flödesstrukturer i turbulens från en stor simulering utförd med 1, 024 noder på Summit. Den nedre högra ramen visar en inzoomningsvy av ett högaktivitetsområde. Kredit:Dave Pugmire och Mike Matheson, Oak Ridge National Laboratory

    Turbulens, tillståndet av oregelbunden flytande rörelse, är ett vetenskapligt pussel av stor komplexitet. Turbulens genomsyrar många tillämpningar inom vetenskap och teknik, inklusive förbränning, transport av föroreningar, väderprognos, astrofysik, och mer. En av utmaningarna för forskare som simulerar turbulens ligger i det stora spektrum av skalor de måste fånga för att korrekt förstå fenomenet. Dessa skalor kan sträcka sig över flera storleksordningar och kan vara svåra att fånga inom begränsningarna för de tillgängliga datorresurserna.

    Högpresterande datoranvändning kan stå emot denna utmaning när den paras ihop med rätt vetenskaplig kod; men att simulera turbulenta flöden vid problemstorlekar bortom den nuvarande teknikens ståndpunkt kräver nytänkande i samverkan med heterogena plattformar i toppklass.

    Ett team ledd av P.K. Yeung, professor i rymdteknik och maskinteknik vid Georgia Institute of Technology, utför direkta numeriska simuleringar (DNS) av turbulens med hjälp av sitt teams nya kod, GPU:er för extrema turbulenssimuleringar (GESTS). DNS kan exakt fånga detaljerna som uppstår från ett brett spektrum av skalor. Tidigare i år, teamet utvecklade en ny algoritm optimerad för IBM AC922 Summit superdator vid Oak Ridge Leadership Computing Facility (OLCF). Med den nya algoritmen, teamet nådde en prestation på mindre än 15 sekunders väggklockatid per tidssteg för mer än 6 biljoner rutnätspunkter i rymden – ett nytt världsrekord som överträffar den tidigare teknikens ståndpunkt inom området för problemets storlek.

    Simuleringarna som teamet genomför på Summit förväntas klargöra viktiga frågor angående snabbt churnande turbulenta vätskeflöden, vilket kommer att ha en direkt inverkan på modelleringen av reagerande flöden i motorer och andra typer av framdrivningssystem.

    GESTS är en beräkningsvätskedynamikkod i Center for Accelerated Application Readiness vid OLCF, ett US Department of Energy (DOE) Office of Science User Facility vid DOE:s Oak Ridge National Laboratory. I hjärtat av GESTS är en grundläggande matematisk algoritm som beräknar storskalig, distribuerade snabba Fourier-transformationer (FFT) i tre rumsliga riktningar.

    En FFT är en matematisk algoritm som beräknar omvandlingen av en signal (eller ett fält) från dess ursprungliga tids- eller rymddomän till en representation i frekvens- (eller vågnummer) rymden – och vice versa för den inversa transformationen. Yeung tillämpar i stor utsträckning ett stort antal FFT:er för att exakt lösa den fundamentala partiella differentialekvationen för vätskedynamik, Navier-Stokes ekvation, använda ett tillvägagångssätt som är känt inom matematik och vetenskaplig beräkning som "pseudospektrala metoder".

    De flesta simuleringar som använder massiv CPU-baserad parallellism kommer att dela upp en 3D-lösningsdomän, eller volymen av utrymme där ett vätskeflöde beräknas, längs två riktningar till många långa "datarutor, " eller "pennor." Men, när Yeungs team träffades på ett OLCF GPU Hackathon i slutet av 2017 med mentorn David Appelhans, en forskningsanställd på IBM, gruppen kom på en innovativ idé. De skulle kombinera två olika tillvägagångssätt för att ta itu med problemet. De skulle först partitionera 3D-domänen i en riktning, bildar ett antal "dataplattor" på Summits processorer med stort minne, parallellisera sedan ytterligare inom varje platta med Summits GPU:er.

    Teamet identifierade de mest tidskrävande delarna av en bas-CPU-kod och satte igång att designa en ny algoritm som skulle minska kostnaderna för dessa operationer, tänja på gränserna för största möjliga problemstorlek, och dra nytta av de unika datacentrerade egenskaperna hos Summit, världens kraftfullaste och smartaste superdator för öppen vetenskap.

    "Vi designade den här algoritmen för att vara en hierarkisk parallellism för att säkerställa att den skulle fungera bra på ett hierarkiskt system, " sa Appelhans. "Vi lägger upp till två plattor på en nod, men eftersom varje nod har 6 GPU:er, vi bröt upp varje platta och satte de individuella delarna på olika GPU:er."

    Förr, pennor kan ha fördelats mellan många noder, men teamets metod använder sig av Summits on-node-kommunikation och dess stora mängd CPU-minne för att passa hela dataplattor på enstaka noder.

    "Vi planerade ursprungligen att köra koden med minnet på GPU:n, vilket skulle ha begränsat oss till mindre problemstorlekar, " sa Yeung. "Men, på OLCF GPU Hackathon, vi insåg att NVLink-anslutningen mellan CPU och GPU är så snabb att vi faktiskt kunde maximera användningen av 512 gigabyte CPU-minne per nod."

    Insikten fick teamet att anpassa några av de viktigaste delarna av koden (kärnor) för GPU-datarörelse och asynkron bearbetning, vilket gör att beräkning och datarörelse kan ske samtidigt. De innovativa kärnorna förvandlade koden och gjorde det möjligt för teamet att lösa problem mycket större än någonsin tidigare i en mycket snabbare takt än någonsin tidigare.

    Teamets framgång visade att även stora, kommunikationsdominerade applikationer kan dra stor nytta av världens mest kraftfulla superdator när kodutvecklare integrerar den heterogena arkitekturen i algoritmdesignen.

    Sammansmälts till framgång

    En av nyckelingredienserna till teamets framgång var en perfekt passning mellan Georgia Tech-teamets långvariga domänvetenskapliga expertis och Appelhans innovativa tänkande och djupa kunskap om maskinen.

    Avgörande för framgången var också OLCF:s system för tidiga tillgång Ascent och Summitdev och en miljon nod-timmars tilldelning på Summit som tillhandahålls av programmet Innovative Novel and Computational Impact on Theory and Experiment (INCITE), drivs gemensamt av Argonne och Oak Ridge Leadership Computing Facilities, och Summit Early Science Program 2019.

    Oscar Hernandez, verktygsutvecklare på OLCF, hjälpte teamet att navigera i utmaningar under hela projektet. En sådan utmaning var att ta reda på hur man kör varje enskild parallell process (som följer standarden för meddelandeöverföringsgränssnitt [MPI]) på processorn i kombination med flera GPU:er. Vanligtvis, en eller flera MPI-processer är bundna till en enda GPU, men teamet fann att användning av flera GPU:er per MPI-process gör att MPI-processerna kan skicka och ta emot ett mindre antal större meddelanden än vad teamet ursprungligen planerade. Genom att använda OpenMP-programmeringsmodellen, Hernandez hjälpte teamet att minska antalet MPI-uppgifter, förbättra kodens kommunikationsprestanda och därigenom leda till ytterligare snabbare.

    Kiran Ravikumar, en doktorand i Georgia Tech på projektet, kommer att presentera detaljer om algoritmen inom det tekniska programmet för 2019 Supercomputing Conference, SC19.

    Teamet planerar att använda koden för att göra ytterligare intåg i turbulensens mysterier; de kommer också att introducera andra fysiska fenomen som oceanisk blandning och elektromagnetiska fält i koden i framtiden.

    "Denna kod, och dess framtida versioner, kommer att ge spännande möjligheter för stora framsteg inom vetenskapen om turbulens, med generella insikter som har att göra med turbulent blandning i många naturliga och konstruerade miljöer, " sa Yeung.


    © Vetenskap https://sv.scienceaq.com