Wetenschap
Een voorbeeld van de simulaties die de onderzoekers willen uitvoeren met K-Athena. De afbeelding toont een plak door een driedimensionale doos van een aangedreven turbulentiesimulatie die de vloeistof-/plasmadichtheid illustreert. Krediet:Grete, Glines &O'Shea.
Het uitvoeren van grootschalige simulaties is een cruciaal aspect van modern wetenschappelijk onderzoek, toch vereist het vaak een enorme hoeveelheid computerbronnen. Nu we het tijdperk van exascale computing naderen, die zal worden gekenmerkt door de introductie van hoogpresterende supercomputers, onderzoekers hebben geprobeerd nieuwe architecturen en codes te ontwikkelen om te voldoen aan de enorme computervereisten van onze tijd. Een belangrijke eigenschap om te overwegen bij het ontwikkelen van codes voor het exascale computertijdperk is de overdraagbaarheid van prestaties, die de herhaalde, niet-triviale refactoring van een code voor verschillende architecturen.
Hiertoe, onderzoekers van de Michigan State University hebben onlangs K-Athena ontwikkeld, een prestatie draagbare magnetohydrodynamische (MHD) code. Magnetohydrodynamica (MHD) codes zijn numerieke technieken en algoritmen die kunnen helpen bij het oplossen van problemen met elektrisch geleidende vloeistoffen. De code van de onderzoekers, gepresenteerd in een paper dat vooraf is gepubliceerd op arXiv, combineert Athena++, een bestaande MHD-code, met Kokkos, een draagbaar paradigma voor parallel programmeren op het knooppunt.
"Tijdens het voortdurende proces van de ontwikkeling van de eerste exascale-supercomputers werd duidelijk dat de huidige hardware-architecturen niet geschikt zijn om dit doel te bereiken en dat er nieuwe architecturen nodig zijn. "Filip Grete, een van de onderzoekers die het onderzoek heeft uitgevoerd, vertelde TechXplore. "Vanuit een software-oogpunt, nieuwe architecturen vereisen meestal een aanzienlijke herschrijving van bestaande code om efficiënt gebruik te kunnen maken van nieuwe hardwarefuncties. Het onderzoek in onze groep is gebaseerd op gedetailleerde grootschalige simulaties en we willen klaar zijn om de nieuwe supercomputers optimaal te benutten zodra ze beschikbaar komen."
Het onderliggende doel van het onderzoek van Grete en zijn collega's was om codes die ze vaak gebruiken in hun onderzoeksprestaties draagbaar te maken. Met andere woorden, de onderzoekers wilden dat hun codes met hoge efficiëntie op veel verschillende architecturen zouden werken, met behulp van een enkele codebasis.
"Oorspronkelijk, K-Athena was gepland als een proof-of-concept waarbij Kokkos (een prestatieportabiliteitsbibliotheek) werd gecombineerd met Athena++ (een bestaande CPU-code) om GPU-versnelde simulaties mogelijk te maken, " legde Grete uit. "Echter, in de loop van het project en tijdens het observeren van de uitvoering werd het duidelijk dat K-Athena meer werd dan een proof-of-concept en nu een flexibele, productieklare code die op elke architectuur draait. Met dit papier, we wilden zowel onze ervaring als de code zelf delen met de bredere gemeenschap."
Nog een voorbeeld van de simulaties die de onderzoekers met K-Athena willen uitvoeren. De afbeelding toont een volumeweergave van een afnemende Taylor-Green vortex (overgang naar turbulentieprobleem) die vorticale/rotatiestructuren (oppervlakken) en magnetische veldlijnen (rood) illustreert. Krediet:Grete, Glines &O'Shea.
K-Athena werkt door de meest rekenkundige componenten van een bepaalde simulatie te abstraheren. Tijdens het compileren (d.w.z. wanneer een broncode wordt vertaald in machine-/hardwarecode), De Kokkos-bibliotheek van de code vervangt deze abstracties door constructies die optimaal zijn voor de specifieke machine of hardware die door de gebruiker wordt gebruikt.
"Deze aanpak verschilt van andere legacy-codes die vaak meerdere codebases onderhouden om simulaties op verschillende architecturen mogelijk te maken. zoals CPU's of GPU's, " zei Grete. "Over het algemeen gesproken, het belangrijkste voordeel van K-Athena dat de natuurwetenschapper zich nu kan concentreren op de simulatie-inhoud zelf en zich niet bezig hoeft te houden met het optimaliseren van code en/of het schrijven van meerdere versies van de broncode voor verschillende architecturen. Dat laatste wordt 'uitbesteed' aan de computerwetenschappers die samen met de hardwareleveranciers aan Kokkos werken."
Tests uitgevoerd door Grete en zijn collega's suggereren dat de draagbaarheid van de prestaties van K-Athena echt werkt. In feite, hun code liep efficiënt op de eerste, negende, 24 e en 33 rd een van de snelste supercomputers ter wereld, verspreid over vier verschillende architecturen. De onderzoekers demonstreerden ook de schaalbaarheid van hun aanpak door deze toe te passen op praktisch de hele Summit-supercomputer (momenteel de snelste ter wereld), slechts ongeveer twee maanden nadat het eerder dit jaar officieel werd gelanceerd.
"Vanuit een algemeen oogpunt, we hopen dat onze bevindingen andere onderzoeksgroepen zullen aanmoedigen om ook de overdraagbaarheid van prestaties in hun codes te onderzoeken en uiteindelijk de wetenschappelijke productiviteit te verhogen (door meer tijd te besteden aan wetenschap en minder aan het herschrijven/optimaliseren van code) of om voort te bouwen op de code die we hebben gepubliceerd, ' zei Greet.
De studie van Grete en zijn collega's biedt een waardevol voorbeeld van hoe code kan worden aangepast om te voldoen aan de grote rekenkundige eisen van de moderne tijd. In hun krant de onderzoekers schetsen hun implementatiestrategieën en de uitdagingen die ze tegenkwamen bij het proberen om de rekenprestaties te maximaliseren. Ze hopen dat hun ervaring en inzicht andere onderzoeksteams zullen inspireren om hun codes en architectuur voor te bereiden op het exascale-tijdperk.
"Onze groep is over het algemeen geïnteresseerd in gemagnetiseerde turbulentie en diffuse plasma's zoals gevonden in veel astrofysische systemen, Grete voegde toe. "We zijn van plan om K-Athena te gebruiken om die met ongekend detail te simuleren, zowel wat betreft resolutie als de fysica die we kunnen opnemen. Dit stelt ons in staat om onbeantwoorde vragen aan te pakken waarvoor grote dynamische schalen nodig zijn (bijv. met betrekking tot energieoverdrachten in ruimteplasma's) of in verband met kleinschalige effecten zoals magnetische veldversterking via de kleinschalige dynamo."
© 2019 Wetenschap X Netwerk
Wetenschap © https://nl.scienceaq.com