Ett exempel på de simuleringar som forskarna skulle vilja genomföra med K-Athena. Bilden visar ett snitt genom en tredimensionell låda av en driven turbulenssimulering som illustrerar vätskan/plasmatätheten. Kredit:Grete, Glines &O’Shea.
Att köra storskaliga simuleringar är en avgörande aspekt av modern vetenskaplig forskning, men det kräver ofta en stor mängd beräkningsresurser. När vi närmar oss eran av exascale computing, som kommer att präglas av introduktionen av högpresterande superdatorer, forskare har försökt utveckla nya arkitekturer och koder för att möta vår tids enorma beräkningskrav. En viktig egenskap att tänka på när man utvecklar koder för exascale-datoreran är prestandaportabilitet, som förhindrar upprepade, icke-trivial refaktorering av en kod för olika arkitekturer.
För detta ändamål, forskare vid Michigan State University har nyligen utvecklat K-Athena, en prestanda portabel magnetohydrodynamisk (MHD) kod. Magnetohydrodynamics (MHD)-koder är numeriska tekniker och algoritmer som kan hjälpa till att lösa problem som rör elektriskt ledande vätskor. Forskarnas kod, presenteras i en tidning förpublicerad på arXiv, kombinerar Athena++, en befintlig MHD-kod, med Kokkos, ett prestandaportabelt paradigm för parallell programmering på noden.
"I den pågående processen att utveckla de första exascale superdatorerna blev det klart att nuvarande hårdvaruarkitekturer är olämpliga för att nå detta mål och att nya arkitekturer krävs, "Philipp Grete, en av forskarna som genomförde studien, berättade för TechXplore. "Från mjukvarusynpunkt, nya arkitekturer kräver vanligtvis en betydande omskrivning av befintlig kod för att effektivt kunna använda nya hårdvarufunktioner. Forskningen i vår grupp bygger på detaljerade storskaliga simuleringar och vi vill vara redo att använda de nya superdatorerna till sin fulla potential så fort de blir tillgängliga."
Det underliggande syftet med studien som utfördes av Grete och hans kollegor var att göra koder som de ofta använder i sin forskningsprestanda bärbara. Med andra ord, forskarna ville att deras koder skulle köras med hög effektivitet på många olika arkitekturer, med en enda kodbas.
"Ursprungligen, K-Athena planerades som ett proof-of-concept som kombinerar Kokkos (ett prestandaportabilitetsbibliotek) med Athena++ (en befintlig CPU-kod) för att möjliggöra GPU-accelererade simuleringar, Grete förklarade. under projektets gång och när man observerade föreställningen blev det tydligt att K-Athena blev mer än ett proof-of-concept och nu är en flexibel, produktionsklar kod som körs på vilken arkitektur som helst. Med detta papper, vi ville dela både vår erfarenhet och själva koden med det bredare samhället."
Ytterligare ett exempel på de simuleringar som forskarna skulle vilja genomföra med K-Athena. Bilden visar en volymåtergivning av en sönderfallande Taylor-Grön virvel (övergång till turbulensproblem) som illustrerar virvel-/rotationsstrukturer (ytor) och magnetiska fältlinjer (röda). Kredit:Grete, Glines &O’Shea.
K-Athena fungerar genom att abstrahera de beräkningsmässigt dyraste komponenterna i en given simulering. Vid kompileringstid (dvs när en källkod översätts till maskin-/hårdvarukod), kodens Kokkos-bibliotek ersätter dessa abstraktioner med konstruktioner som är optimala för den specifika maskin eller hårdvara som används av användaren.
"Det här tillvägagångssättet skiljer sig från andra äldre koder som ofta upprätthåller flera kodbaser för att möjliggöra simuleringar på olika arkitekturer, såsom CPU:er eller GPU:er, sa Grete. Generellt sett, den viktigaste fördelen med K-Athena att naturvetaren nu kan fokusera på själva simuleringsinnehållet och inte behöver ägna sig åt att optimera kod och/eller skriva flera versioner av källkoden för olika arkitekturer. Den senare är "outsourcad" till de datavetare som arbetar på Kokkos tillsammans med hårdvaruförsäljarna."
Tester utförda av Grete och hans kollegor tyder på att K-Athenas prestandaportabilitet faktiskt fungerar. Faktiskt, deras kod körde effektivt på den första, nionde, 24 th och 33 rd bland de snabbaste superdatorerna i världen, som spänner över fyra olika arkitekturer. Forskarna visade också skalbarheten av deras tillvägagångssätt genom att tillämpa den på praktiskt taget hela Summits superdator (för närvarande den snabbaste i världen), bara cirka två månader efter att den officiellt lanserades tidigare i år.
"Från en allmän synvinkel, vi hoppas att våra resultat kommer att uppmuntra andra forskargrupper att också utforska prestandaportabilitet i sina koder och så småningom öka den vetenskapliga produktiviteten (genom att lägga mer tid på vetenskap och mindre på att skriva om/optimera kod) eller att bygga vidare på koden som vi publicerade, sa Grete.
Studien utförd av Grete och hans kollegor ger ett värdefullt exempel på hur kod kan anpassas för att möta den moderna erans stora beräkningskrav. I deras tidning, forskarna beskriver sina implementeringsstrategier och de utmaningar de stötte på när de försökte maximera beräkningsprestanda. De hoppas att deras erfarenhet och insikt kommer att inspirera andra forskarlag att börja förbereda sina koder och arkitektur för exaskalens era.
"Vår grupp är allmänt intresserad av magnetiserad turbulens och diffusa plasma som finns i många astrofysiska system, ", tillade Grete. "Vi avser att använda K-Athena för att simulera de med oöverträffad detalj både vad gäller upplösning och fysik vi kan inkludera. Detta kommer att tillåta oss att ta itu med obesvarade frågor som kräver stora dynamiska skalor (t.ex. med avseende på energiöverföringar i rymdplasma) eller relaterade till småskaliga effekter såsom magnetfältförstärkning via den småskaliga dynamo."
© 2019 Science X Network