science >> Wetenschap >  >> Elektronica

Het simuleren van de sterren op exaschaal vereist HIP-oplossingen

Krediet:Oak Ridge National Laboratory

Aangezien GPU-architecturen de standaard zijn geworden voor wetenschappelijk computergebruik, applicatieteams hebben hun wetenschappelijke codes moeten aanpassen om op nieuwe systemen te kunnen draaien. Zelfs teams met codes die opnieuw zijn ontworpen voor GPU's, moeten ze voortdurend aanpassen voor nieuwe architecturen.

Evan Schneider van Princeton University, Hoewel, begon vanaf het begin haar code voor GPU's te ontwikkelen. In 2012, Schneider stond voor de uitdaging om uit te zoeken hoe enorme astrofysische problemen konden worden opgelost met behulp van GPU-clusters. Wat begon op kleine clusters aan de Universiteit van Arizona met haar PhD-adviseur, Brant Robertson - momenteel universitair hoofddocent aan de Universiteit van Californië, Santa Cruz - werd uiteindelijk uitgevoerd op de nu ontmantelde Cray XK7 Titan-supercomputer in de Oak Ridge Leadership Computing Facility (OLCF), een US Department of Energy (DOE) Office of Science User Facility in het Oak Ridge National Laboratory van DOE. De code, genaamd Cholla, of Computationele hydrodynamica op ∥ (parallelle) architecturen - is nu een van de eerste codes die wordt herschreven voor Frontier, een exaschaalsysteem dat in 2021 bij het OLCF zal worden ingezet.

"Met Grens, er zal zoveel meer vermogen beschikbaar zijn op de GPU's, "Zei Schneider. "Het heeft echt geen zin meer om bijna alles op de CPU's te doen, dus veel van wat we aan het uitwerken zijn, is om enkele van onze extra physics-modules op de GPU's te laten draaien."

De code is een van de acht in het Center for Accelerated Application Readiness (CAAR), een poging om wetenschappelijke toepassingen voor Frontier voor te bereiden. Cholla wordt gebruikt om fysieke systemen te simuleren die betrokken zijn bij de evolutie van sterrenstelsels, dat is hoe sterrenstelsels in het universum met de tijd veranderen. Sterrenstelsels bestaan ​​niet alleen uit sterren, maar ook uit stof en gas die op elkaar inwerken om deze evolutie te beïnvloeden. Het doel van het team is om een ​​simulatie van de Melkweg uit te voeren die alle gasfysica omvat die zich voordoen, naast alle sterren.

"We hebben modellen met een hoge resolutie nodig omdat we het gas echt in al zijn verschillende fasen willen volgen - warm, koud, heet, hoge snelheid, enzovoort, " Zei Schneider. "We willen de gasfysica begrijpen die stervorming drijft en waarom sterrenstelsels stoppen met het vormen van sterren. Om gebruik te maken van de observatiegegevens die we al hebben, we moeten een extreem grote simulatie doen."

Cholla is momenteel compatibel met NVIDIA's CUDA-programmeertaal om te draaien op het IBM AC922 Summit-systeem van OLCF, met NVIDIA Tesla V100 GPU's. Nutsvoorzieningen, Schneider en haar team, met CAAR-liaison Reuben Budiardja in de Scientific Computing Group van het OLCF en vertegenwoordigers van AMD en Cray, gebruiken de Heterogeneous-Compute Interface for Portability (HIP) om precies te doen wat de naam doet vermoeden:bepaalde delen van de code vertalen om draagbaar te zijn voor de Frontier-architectuur, die de Shasta-architectuur en Slingshot Interconnect van Cray zal bevatten, evenals AMD EPYC-CPU's en AMD Radeon Instinct-GPU's. Met dit vertaalproces kunnen gebruikers zoals Schneider zich aanpassen aan nieuwe GPU-architecturen zoals Frontier.

Schneider's afgestudeerde student, Orlando Warren van de Universiteit van Pittsburgh - waar Schneider onlangs een functie als assistent-professor aanvaardde - heeft al een groot deel van het GPU-gedeelte van de code herschreven om compatibel te zijn met HIP. Volgende, het team zal de stukken van Cholla herschrijven die momenteel op CPU's draaien, zodat deze ook op GPU's kunnen draaien.

Robertson werkt met zijn afgestudeerde student, Bruno Villasenor, die substantiële stukken toevoegt aan Cholla, inclusief de berekeningen die nodig zijn om de zwaartekracht op te lossen in de gigantische Melkwegsimulatie van het team. Schneider coördineert de inspanningen om de code opnieuw te ontwerpen en voegt toe wat ze "toeters en bellen" noemt om de simulaties die nodig zijn om stervorming te begrijpen, verder te verfijnen.

met grens, het team gelooft dat ze stervorming met een hoge resolutie kunnen simuleren.

"Direct, we willen graag vaststellen hoe gas de melkweg verlaat en ernaar terugkeert en hoe dat het proces van stervorming in de Melkweg beïnvloedt. Hoe hoger de resolutie die we kunnen krijgen, hoe beter we de fysieke processen van het gas kunnen begrijpen, en dat heeft uiteindelijk invloed op veel verschillende problemen in de astrofysica."

De laatste stap, Schneider zei, zorgt ervoor dat de nieuwe code werkt wanneer deze wordt overgebracht naar duizenden GPU's in plaats van slechts op een paar te draaien, een taak die een grootschalig, krachtig computersysteem zoals Summit vereist. Het team zal grootschalige tests uitvoeren op Summit voordat het op het Frontier-systeem draait wanneer het volgend jaar wordt geïmplementeerd.