• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  • Förbereda vetenskapliga applikationer för exascale computing

    Exascale-datorer kommer att användas för att lösa problem inom ett brett spektrum av vetenskapliga tillämpningar, inklusive att simulera livstidsdriften för små modulära kärnreaktorer (vänster) och att förstå det komplexa sambandet mellan 3D-utskriftsprocesser och materialegenskaper (höger). Kredit:Oak Ridge National Lab

    Exascale-datorer förväntas snart få debut, inklusive Frontier vid det amerikanska energidepartementets (DOE) Oak Ridge Leadership Computing Facility (OLCF) och Aurora vid Argonne Leadership Computing Facility (ALCF), både DOE Office of Science användarfaciliteter, år 2021. Dessa nästa generations datorsystem förväntas överträffa hastigheten på dagens mest kraftfulla superdatorer med fem till tio gånger. Denna prestandaökning kommer att göra det möjligt för forskare att ta itu med problem som annars är olösliga när det gäller deras komplexitet och beräkningstid.

    Men för att nå en så hög prestandanivå krävs mjukvaruanpassningar. Till exempel, OpenMP – standardgränssnitten för applikationsprogrammering för parallellberäkning med delat minne, eller användningen av flera processorer för att slutföra en uppgift - måste utvecklas för att stödja lagring av olika minnen, hårdvaruacceleratorer som grafikprocessorer (GPU), olika exascale datorarkitekturer, och de senaste standarderna för C++ och andra programmeringsspråk.

    Utveckla OpenMP mot exascale med SOLLVE-projektet

    I september 2016, DOE Exascale Computing Project (ECP) finansierade ett programvaruutvecklingsprojekt som heter SOLLVE (för skalning av OpenMP via Low-Level Virtual Machine för Exascale Performance and Portability) för att hjälpa till med denna övergång. SOLLVE -projektteamet - som leds av DOE:s Brookhaven National Laboratory och består av medarbetare från DOE:s Argonne, Lawrence Livermore, och Oak Ridge National Labs, och Georgia Tech—har designat, genomföra, och standardisering av viktiga OpenMP-funktioner som ECP-applikationsutvecklare har identifierat som viktiga.

    Drivs av SOLLVE och sponsras av ECP, Brookhaven Labs Computational Science Initiative (CSI) var värd för ett fyra dagars OpenMP hackathon från 29 april till 2 maj, organiserat tillsammans med Oak Ridge och IBM. OpenMP hackathon är det senaste i en serie hackathon som erbjuds av CSI, inklusive de som fokuserar på NVIDIA GPU:er och Intel Xeon Phi flerkärniga processorer.

    "OpenMP genomgår betydande förändringar för att möta kraven på kommande exascale datorsystem, " sa den lokala evenemangskoordinatorn Martin Kong, en beräkningsforskare i CSI:s Computer Science and Mathematics Group och Brookhaven Labs representant i OpenMP Architecture Review Board, som övervakar OpenMP-standardspecifikationen. "Att överföra vetenskapliga koder till den nya exascale hårdvaran och arkitekturerna kommer att bli en stor utmaning. Huvudmotiven för detta hackathon är applikationsengagemang - att interagera djupare med olika användare, speciellt de från DOE-labb, och göra dem medvetna om de förändringar de bör förvänta sig i OpenMP och hur dessa förändringar kan gynna deras vetenskapliga tillämpningar."

    The Summit superdator. Upphovsman:Oak Ridge National Lab

    Lägger grunden för applikationsprestandaportabilitet

    Beräknings- och domänforskare, kodutvecklare, och hårdvaruexperter från Brookhaven, Argonne, Lawrence Berkeley, Lawrence Livermore, Oak Ridge, Georgia Tech, Indiana University, Rice University, University of Illinois i Urbana-Champaign, IBM, och National Aeronautics and Space Administration (NASA) deltog i hackathonet. De åtta lagen vägleddes av nationella labb, universitet, och branschmentorer som valdes ut baserat på deras omfattande erfarenhet av programmering av GPU:er, deltar i OpenMP Language Committee, och bedriver forskning och utveckling i verktyg som stöder de senaste OpenMP -specifikationerna.

    Under veckan, teamen arbetade med att portera sina vetenskapliga applikationer från centrala bearbetningsenheter (CPU) till GPU:er och optimera dem med den senaste OpenMP-versionen (4.5+). Mellan hackingsessionerna, teamen hade handledning om olika avancerade OpenMP-funktioner, inklusive acceleratorprogrammering, profileringsverktyg för att bedöma prestanda, och applikationsoptimeringsstrategier.

    Vissa team använde också de senaste OpenMP -funktionerna för att programmera IBM Power9 -processorer accelererade med NDIVIA -GPU:er. Världens snabbaste superdator – Summit superdator på OLCF – är baserad på denna nya arkitektur, med mer än 9000 IBM Power9-processorer och mer än 27, 000 NVIDIA GPU:er.

    Ta steg mot exascale

    Teamens applikationer spänner över många områden, inklusive kärn- och högenergifysik, laser och optik, materialvetenskap, autonoma system, och vätskemekanik.

    Ett schema över gittret för kvantkromodynamiska beräkningar. Skärningspunkterna på rutnätet representerar kvarkvärden, medan linjerna mellan dem representerar gluonvärden. Kredit:Brookhaven National Laboratory

    Deltagaren David Wagner från NASA Langley Research Center High Performance Computing Incubator och kollegorna Gabriele Jost och Daniel Kokron från NASA Ames Research Center kom med en kod för att simulera elasticitet. Deras mål vid hackathon var att öka singelinstruktionen, multiple-data (SIMD) parallellism – en typ av beräkning där flera processorer utför samma operation på många datapunkter samtidigt – och optimerar hastigheten med vilken data kan läsas från och lagras i minnet.

    "Forskare vid NASA försöker förstå hur och varför flygplan och rymdfarkoster misslyckas, ", sa Wagner. "Vi måste se till att dessa material är tillräckligt hållbara för att motstå alla de krafter som finns vid normal användning under service. Vid hackathon, vi arbetar på en miniapp som är representativ för de mest beräkningsintensiva delarna av det större programmet för att modellera vad som händer fysiskt när materialet laddas, böjd, och sträckte sig. Vår kod har massor av små formler som måste köras miljarder gånger om. Utmaningen är att utföra alla beräkningar riktigt snabbt."

    Enligt Wagner, en av anledningarna till att NASA driver på för denna beräkningsförmåga nu är att förstå de processer som används för att generera additivt tillverkade (3-D-tryckta) delar och de olika materialegenskaperna hos dessa delar, som alltmer används i flygplan. Att känna till denna information är viktigt för att säkerställa säkerheten, pålitlighet, och materialens hållbarhet under deras livslängd.

    "Hackathon var en framgång för oss, ", sa Wagner. "Vi har konfigurerat vår kod för massivt parallell exekvering och körs korrekt på GPU-hårdvara. Vi fortsätter med felsökning och parallell prestandajustering, eftersom vi förväntar oss att ha lämplig maskinvara och mjukvara från NASA tillgänglig snart."

    Ett annat team tog ett liknande tillvägagångssätt när de försökte få OpenMP att fungera för en liten del av sin kod, en lattice quantum chromodynamik (QCD)-kod som är i centrum för ett ECP-projekt som kallas Lattice QCD:Lattice Quantum Chromodynamics for Exascale. Lattice QCD är ett numeriskt ramverk för att simulera den starka interaktionen mellan elementarpartiklar som kallas kvarkar och gluoner. Sådana simuleringar är viktiga för många problem med hög energi och kärnfysik. Typiska simuleringar kräver månaders körning på superdatorer.

    "Vi skulle vilja att vår kod körs på olika exascale-arkitekturer, " sa teammedlemmen och beräkningsforskaren Meifeng Lin, biträdande gruppledare för CSI:s nya Quantum Computing Group och lokal koordinator för tidigare hackathon. "Just nu, koden körs på NVIDIA GPU:er men kommande exascale -datorer förväntas ha minst två olika arkitekturer. Vi hoppas att genom att använda OpenMP, som stöds av stora hårdvaruleverantörer, vi kommer enklare att kunna portera vår kod till dessa framväxande plattformar. Vi tillbringade de första två dagarna av hackathonet med att försöka få OpenMP att ladda ner kod från CPU till GPU över hela biblioteket, utan större framgång."

    John Mellor-Crummey ger en presentation om HPCToolkit, en integrerad uppsättning verktyg för att mäta och analysera programprestanda på system allt från stationära datorer till superdatorer. Kredit:Brookhaven National Laboratory

    Mentor Lingda Li, en CSI-forskare och en medlem av SOLLVE-projektet, hjälpte Lin och kollegan Chulwoo Jung, en fysiker i Brookhavens High-Energy Theory Group, med OpenMP-avlastningen.

    Även om teamet kunde få OpenMP att fungera med några hundra rader kod, dess initiala prestanda var dålig. De använde olika prestandaprofileringsverktyg för att avgöra vad som orsakade avmattningen. Med denna information, de kunde göra grundläggande framsteg i sin övergripande optimeringsstrategi, inklusive att lösa problem relaterade till initial GPU-avlastning och förenkla datamappning.

    Bland de profileringsverktyg som var tillgängliga för team vid hackathonet fanns ett som utvecklats av Rice University och University of Wisconsin.

    "Vårt verktyg mäter prestandan för GPU-accelererade koder både på värden och GPU, " sa John Mellor-Crummey, professor i datavetenskap och el- och datorteknik vid Rice University och huvudutredaren på motsvarande ECP -projekt Extending HPCToolkit to Measure and Analyze Code Performance on Exascale Platforms. "Vi har använt det på flera simuleringskoder den här veckan för att titta på den relativa prestandan för beräkningar och datarörelse in och ut ur GPU:er. Vi kan inte bara säga hur länge en kod körs utan också hur många instruktioner som kördes och om avrättningen var i full fart eller avstannade, och om det stannar, Varför. Vi identifierade också mappningsproblem med kompilatorinformationen som associerar maskinkod och källkod."

    Andra mentorer från IBM var till hands för att visa teamen hur man använder IBM XL-kompilatorer – som är designade för att utnyttja den fulla kraften hos IBM Power-processorer – och hjälpa dem genom alla problem som de stöter på.

    "Kompilatorer är verktyg som forskare använder för att översätta sin vetenskapliga programvara till kod som kan läsas av hårdvara, av de största superdatorerna i världen – Summit och Sierra [på Lawrence Livermore], sa Doru Bercea, en forskningsanställd i Advanced Compiler Technologies Group vid IBM TJ Watson Research Center. "Hackathonet ger oss en möjlighet att diskutera kompilatordesignbeslut för att få OpenMP att fungera bättre för forskare."

    QMCPack kan användas för att beräkna jord- och exciterade tillståndsenergier för lokala defekter i isolatorer och halvledare – till exempel, i mangan (Mn) 4+ -dopade fosfor, som är lovande material för att förbättra färgkvaliteten och ljusstyrkan hos vita lysdioder. Kredit:Brookhaven National Laboratory

    Enligt mentor Johannes Doerfert, en postdoktor vid ALCF, applikationerna som teamen tog med till hackathon var i olika stadier när det gäller deras beredskap för kommande datorsystem.

    "Vissa lag står inför porteringsproblem, vissa kämpar med kompilatorerna, och vissa har problem med programprestanda, " förklarade Doerfert. "Som mentorer, vi får frågor från var som helst i detta stora spektrum."

    Några av de andra vetenskapliga tillämpningarna som team kom med inkluderar en kod (pf3d) för att simulera interaktionerna mellan högintensiva lasrar och plasma (joniserad gas) i experiment vid Lawrence Livermores National Ignition Facility, och en kod för att beräkna den elektroniska strukturen av atomer, molekyler, och fasta ämnen (QMCPack, också ett ECP-projekt). Ett annat ECP-team tog med en bärbar programmeringsmiljö (RAJA) för programmeringsspråket C++.

    "Vi utvecklar en abstraktion på hög nivå som heter RAJA så att människor kan använda vilken hårdvara eller mjukvaruramverk som är tillgängliga på baksidan av deras datorsystem, sa mentor Tom Scogland, en postdoktor vid Center for Applied Scientific Computing vid Lawrence Livermore. "RAJA riktar sig främst mot OpenMP på värden och CUDA [en annan parallell datorprogrammeringsmodell] på backend. Men vi vill att RAJA ska fungera med andra programmeringsmodeller på backend, inklusive OpenMP."

    "Temat för hackathon var OpenMP 4.5+, en utvecklande och inte helt mogen version, " förklarade Kong. "Teamen gick därifrån med en bättre förståelse för de nya OpenMP-funktionerna, kunskap om de nya verktygen som blir tillgängliga på Summit, och en färdplan att följa på lång sikt."

    "Jag lärde mig ett antal saker om OpenMP 4.5, " sa pf3d-teammedlemmen Steve Langer, en beräkningsfysiker på Lawrence Livermore. "Den största fördelen var diskussionerna med mentorer och IBM-anställda. Jag vet nu hur jag ska paketera mina OpenMP-avlastningsdirektiv för att använda NVIDIA GPU:er utan att stöta på minnesbegränsningar."


    © Vetenskap https://sv.scienceaq.com