Et eksempel på de simuleringer, forskerne gerne vil udføre med K-Athena. Billedet viser et snit gennem en 3-dimensionel kasse af en drevet turbulenssimulering, der illustrerer væske-/plasmatætheden. Kredit:Grete, Glines &O'Shea.
At køre simuleringer i stor skala er et afgørende aspekt af moderne videnskabelig forskning, men det kræver ofte en stor mængde beregningsressourcer. Når vi nærmer os æraen med exascale computing, som vil blive præget af introduktionen af højtydende supercomputere, forskere har forsøgt at udvikle nye arkitekturer og koder for at imødekomme vor tids enorme beregningskrav. En vigtig egenskab at overveje, når man udvikler koder til exascale computing-æraen, er ydeevneportabilitet, som forhindrer gentagne, ikke-triviel refactoring af en kode for forskellige arkitekturer.
Til denne ende, forskere ved Michigan State University har for nylig udviklet K-Athena, en ydeevne bærbar magnetohydrodynamisk (MHD) kode. Magnetohydrodynamics (MHD) koder er numeriske teknikker og algoritmer, der kan hjælpe med at løse problemer vedrørende elektrisk ledende væsker. Forskernes kode, præsenteret i et papir, der er forududgivet på arXiv, kombinerer Athena++, en eksisterende MHD-kode, med Kokkos, et præstationsbærbart on-node parallel programmeringsparadigme.
"I den igangværende proces med at udvikle de første exascale supercomputere blev det klart, at nuværende hardwarearkitekturer er uegnede til at nå dette mål, og at der er behov for nye arkitekturer, "Philipp Grete, en af de forskere, der har udført undersøgelsen, fortalte TechXplore. "Fra et softwaresynspunkt, nye arkitekturer kræver normalt en betydelig omskrivning af eksisterende kode for effektivt at kunne gøre brug af nye hardwarefunktioner. Forskningen i vores gruppe er afhængig af detaljerede simuleringer i stor skala, og vi ønsker at være klar til at bruge de nye supercomputere til deres fulde potentiale i det øjeblik, de bliver tilgængelige."
Det underliggende formål med undersøgelsen udført af Grete og hans kolleger var at gøre koder, som de ofte bruger i deres forskningsresultater bærbare. Med andre ord, forskerne ønskede, at deres koder skulle køre med høj effektivitet på mange forskellige arkitekturer, ved hjælp af en enkelt kodebase.
"Oprindeligt, K-Athena var planlagt som et proof-of-concept, der kombinerer Kokkos (et performance-portabilitetsbibliotek) med Athena++ (en eksisterende CPU-kode) for at muliggøre GPU-accelererede simuleringer, Grete forklarede. i løbet af projektet og mens man observerede forestillingen blev det klart, at K-Athena blev mere end et proof-of-concept og nu er en fleksibel, produktionsklar kode, der kører på enhver arkitektur. Med dette papir, vi ønskede at dele både vores erfaring og selve koden med det bredere samfund."
Et yderligere eksempel på de simuleringer, forskerne gerne vil udføre med K-Athena. Billedet viser en volumengengivelse af en henfaldende Taylor-Green hvirvel (overgang til turbulensproblem), der illustrerer hvirvel-/rotationsstrukturer (overflader) og magnetiske feltlinjer (røde). Kredit:Grete, Glines &O'Shea.
K-Athena arbejder ved at abstrahere de mest beregningsmæssigt dyre komponenter i en given simulering. På kompileringstidspunktet (dvs. når en kildekode oversættes til maskin-/hardwarekode), kodens Kokkos-bibliotek erstatter disse abstraktioner med konstruktioner, der er optimale for den specifikke maskine eller hardware, der anvendes af brugeren.
"Denne tilgang er forskellig fra andre ældre koder, der ofte opretholder flere kodebaser for at muliggøre simuleringer på forskellige arkitekturer, såsom CPU'er eller GPU'er, sagde Grete. Generelt set, den vigtigste fordel ved K-Athena, at naturvidenskabsmanden nu kan fokusere på selve simuleringsindholdet og ikke behøver at beskæftige sig med at optimere kode og/eller skrive flere versioner af kildekoden til forskellige arkitekturer. Sidstnævnte er 'outsourcet' til de dataloger, der arbejder på Kokkos sammen med hardwareleverandørerne."
Test udført af Grete og hans kolleger tyder på, at K-Athenas ydeevneportabilitet faktisk fungerer. Faktisk, deres kode kørte effektivt den første, niende, 24 th og 33 rd blandt de hurtigste supercomputere i verden, spænder over fire forskellige arkitekturer. Forskerne demonstrerede også skalerbarheden af deres tilgang ved at anvende den på praktisk talt hele Summit-supercomputeren (i øjeblikket den hurtigste i verden), blot omkring to måneder efter, at den officielt blev lanceret tidligere i år.
"Fra et generelt synspunkt, vi håber, at vores resultater vil tilskynde andre forskergrupper til også at udforske ydeevneportabilitet i deres koder, hvilket i sidste ende øger den videnskabelige produktivitet (ved at bruge mere tid på videnskab og mindre på at omskrive/optimere kode) eller til at bygge videre på den kode, som vi udgav, sagde Grete.
Undersøgelsen udført af Grete og hans kolleger giver et værdifuldt eksempel på, hvordan kode kan tilpasses til at imødekomme den moderne tids store beregningskrav. I deres papir, forskerne skitserer deres implementeringsstrategier og de udfordringer, de stødte på i forsøget på at maksimere beregningsmæssig ydeevne. De håber, at deres erfaring og indsigt vil inspirere andre forskerhold til at begynde at forberede deres koder og arkitektur til exascale-æraen.
"Vores gruppe er generelt interesseret i magnetiseret turbulens og diffuse plasmaer, som findes i mange astrofysiske systemer, " tilføjede Grete. "Vi har til hensigt at bruge K-Athena til at simulere dem med hidtil usete detaljer både med hensyn til opløsning og den fysik, vi kan inkludere. Dette vil give os mulighed for at tackle ubesvarede spørgsmål, der kræver store dynamiske skalaer (f. med hensyn til energioverførsler i rumplasmaer) eller relateret til effekter i lille skala såsom magnetfeltforstærkning via dynamoen i lille skala."
© 2019 Science X Network