TU Delft-onderzoeker verfijnt gpu-gebruik voor klimaatsimulaties

Een onderzoeker van de TU Delft heeft manieren gevonden om gpu's efficiënt in te zetten bij verfijning van weer- en klimaatmodellen. Het onderzoek is uitgevoerd in samenwerking met het KNMI en brengt nieuwe toepassingen binnen handbereik.

De 'desktop' pc waarmee geëxperimenteerd werdOnderzoeker Jerôme Schalkwijk promoveerde dinsdag cum laude op het onderzoek, schrijft de TU Delft op zijn nieuwssite. Om het onderzoek te kunnen doen, is een bepaald soort klimaatmodel onderzocht en aangepast, de zogenaamde Large-Eddy Simulations. LES-modellen bestrijken in tegenstelling tot traditionele modellen, kleinere gebieden in oppervlakte, maar geven een veel groter detail weer. Het doel was uit te zoeken hoe goed LES te gebruiken is om het 'werkelijke' weer of klimaat te modelleren. Door de grote hoeveelheid benodigde rekenkracht worden LES-modellen eigenlijk alleen maar voor geïdealiseerde gevallen ingezet. Het LES-model blijkt echter goed aan te passen voor gpu's, zodat nieuwe toepassingen zoals weersvoorspellingen, mogelijk worden.

Het nieuwe GPU-LES-model werd uitgerust met procedures om op een realistische manier de grond- en atmosfeerinteractie en de grootschalige invloeden te behandelen. Om het model te testen, werd een situatie in het jaar 2012 gebruikt rond het dorp Cabauw, vlakbij Lopik. Bij het dorp staat een 213 meter hoge meetmast van het KNMI. Het model geeft de turbulentie en de wolkenprocessen in dat jaar weer.

Het gebruik van gpu's voor allerhande berekeningen lijkt tegenwoordig aan de orde van de dag te zijn, maar dat was het zeker nog niet toen Schalkwijk met zijn promotie begon, vertelt hij aan Tweakers. "Toen we begonnen met mijn promotie-onderzoek 4,5 jaar geleden was het hele gpu-verhaal veel meer onontgonnen terrein, zeker binnen de weer- en klimaatwetenschap. Wij zijn eigenlijk begonnen met gpu's juist omdat er vaak grote supercomputers ingezet worden op dit terrein. Rekenen op een supercomputer klinkt heel gaaf, maar dat heeft wel een omslachtige workflow."

"Met behulp van de gpu konden we ineens simulaties draaien die we tot dan op ongeveer één à twee nodes van de Huygens-supercomputer* bij SURFsara draaiden, met bijkomend voordeel dat de simulaties ook direct mooi gevisualiseerd kunnen worden", vertelt Schalkwijk verder. Hij geeft een opsomming van het aantal stappen van een supercomputer die je dan overslaat. Na het bedenken van de parameters om de simulatie mee te starten, hoef je geen tijd meer te reserveren, geen specifieke bestanden meer over te zetten, geen programma's opnieuw te compileren en geen jobs in de queue zetten. Ook hoef je niet te wachten op de uitkomsten om die vervolgens op een lokaal systeem over te zetten om pas daarna te kunnen zien of de simulatie wel goed gegaan is.

Omdat het gebruik van gpu's zo goed ging, werd besloten ook te gaan kijken bij supercomputers die gebruik maken van gpu's. Uiteindelijk werden de grootste simulaties op de Franse supercomputer CURIE gedraaid, de proof-of-concepts, van het weer over heel Nederland op een 100 meter resolutie. Daarbij werden 256 gpu's van het cluster ingezet om een 'weersvoorspelling van de toekomst' te maken. Het is nog niet mogelijk om een weersvoorspelling te maken, want nu duurt de simulatie nog langer dan de gesimuleerde tijd. "Maar", zegt Schalkwijk, "dit kan zomaar zijn hoe een weersvoorspelling er over tien jaar uitziet."

Tijdens het onderzoek zijn heel wat verschillende grafische kaarten de revue gepasseerd. Ook consumentenmodellen, maar deze bleken niet betrouwbaar genoeg. "Stel, je bent drie uur aan het rekenen en ineens wordt een rekenfout gemaakt en de simulatie ontploft. Het moment van de crash is niet reproduceerbaar. Uiteindelijk bleken veel kaarten overgeklokt geleverd te worden door fabrikanten." Toch zijn consumentenkaarten nog steeds interessant voor test- of demosystemen of voor educatie, denkt Schalkwijk.

* De Huygens-supercomputer bestaat al enkele jaren niet meer.

Door Krijn Soeteman

Freelanceredacteur

21-04-2015 • 16:20

22

Submitter: HallonRubus

Reacties (22)

22
22
17
3
1
0
Wijzig sortering
Wat ik uit het artikel begrijp is dat ze een simulatie hebben gedaan met bepaalde data uit het verleden. Ze hebben dan neem ik aan de resultaten ook vergeleken met de vastgestelde weerspatronen (klopt het model). Nu ben ik benieuwd hoe correct hun model is, hoeveel afwijking kunnen wij hierbij verwachten?
Het grote voordeel van dit soort simulaties (met gridpunten op een horizontale afstand van ~100 m) is dat bepaalde processen als convectie, cumulus bewolking, etc. fysisch worden "opgelost". Bijvoorbeeld, je bepaald domweg of een gridpunt verzadigd (of niet), en dat is dan een deel van een wolk (of niet). Bij de huidige weermodellen, met een grid spacing van ordegrootte kilometers - tientallen kilometers, zijn deze processen meestal kleiner dan de gridpunt afstand, en dus niet fysisch "opgelost". Dat is nog steeds een grote onzekerheid bij de huidige weer- en klimaatmodellen, een onzekerheid die je met dit soort simulaties ongetwijfeld kan verminderen. Maar tegelijkertijd biljf je een deel van de onzekerheid behouden: ze voeden het model aan de randen alsnog met data van een tradtioneel weersmodel. je mist veel details in bijv. landoppervlak, je behoud onzekerheden als initialisatie van bodemvocht, etc. De enige manier om te bepalen of de voorspellingen er beter van worden is veel dagen simuleren (jaar of jaren) en het statistisch vergelijken met een bestaand model. Maar van een simulatie van een jaar van bijv. de Benelux met een dergelijk model kunnen we voorlopig alleen dromen.

Wat ik een beetje mis in het artikel is het voordeel van GPU clusters over de traditionele supercomuters. Sommige van de voordelen die ze noemen (de "omslachtige workflow") zijn alleen geldig voor lokale simulaties op een enkele GPU, maar ook met GPU's (zoals ze zelf aangeven) kom je snel op clusters uit waarbij dat voordeel vervalt. Ik zou wel eens een vergelijking willen zien van de kosten van zulke simulaties op een GPU/CPU cluster; aanschafprijs systeem, energieverbruik, etc.

Trouwens, op de TUd website schrijven ze: "Door de extra rekenkracht van de grafische kaart kunnen we op een veel hogere resolutie rekenen dan tot nu toe mogelijk: we hebben bijvoorbeeld een simulatie kunnen uitvoeren van het weer over heel Nederland op een resolutie van 100 meter". Tenzij ik het verkeerd interpreteer, is dit een beetje een vals argument. Met een normale LES code en (CPU) supercomputer is zoiets ook prima te doen, dus het is niet dat dit zonder GPU code onmogelijk zou zijn geweest.

[Reactie gewijzigd door julby op 25 juli 2024 00:10]

Als je zelf gaat rekenen kom je al een eind... Een Beowulf-cluster (simpelste dat je kunt doen, netwerkkaartjes in standaardbakken) is spotgoedkoop (aangenomen dat 1 GPU ongeveer gelijkstaat aan 50-100 CPU-cores), als je een bak Opterons pakt (goedkoper per flop dan Intel... by far) ben je zeg 100 euro per core kwijt, plus de overige hardware. Zeg 150 euro.
Een GPU kan eventueel met 4 (of meer) in 1 machine, maar de overige hardware maakt niet veel uit, als het maar een sloot geheugen heeft, en een hele snelle netwerk-verbinding. Met professionele GPGPU-kaarten a 5000 euro per stuk is dat ongeveer 50% van de prijs. Energie-technisch is het leuker, voor zeg 300W per kaart ben je voordeliger uit dan de 10 W per CPU-core, en omdat in datacenters koeling net zoveel kost als je originele wattage, verdubbelt dat je voordeel.

Ga je naar gespecialiseerde systemen, dan zijn alle prijzen totaal anders, en hangt het af van hoe goed je contacten bij Bull, IBM of Cray zijn... GPUs zijn goedkoper, vaak, maar het probleem is dat je je data efficient moet verdelen tussen je nodes. Dat maakt alle verschil. Zodra iemand een chipset vindt waarmee je 16 GPUs parallel kunt draaien, denk ik dat er wel mensen staan te juichen ;)
Tenzij ik het verkeerd interpreteer, is dit een beetje een vals argument. Met een normale LES code en (CPU) supercomputer is zoiets ook prima te doen, dus het is niet dat dit zonder GPU code onmogelijk zou zijn geweest.
Het kan ook wel, maar zoveel rekentijd krijg je niet snel van SARA, tenzij je ze een hele pittige cheque toeschuift. Nu is het KNMI ook niet slecht bedeeld qua rekenkracht, maar die computers zijn dagelijks nodig om de huidige modellen door te rekenen. Even ermee spelen is nicht im frage...
Ga je naar gespecialiseerde systemen, dan zijn alle prijzen totaal anders, en hangt het af van hoe goed je contacten bij Bull, IBM of Cray zijn...
Daar was ik met name in geïnteresseerd; dit zijn niet het soort systemen dat een universiteit of wetenschapelijk instituut zelf bouwt. NVIDIA heeft genoeg benchmarks voor single CPU vs single GPU performance, maar zoals je zelf aangeeft gaat bijv de netwerkverbinding hierbij ook een rol spelen. Persoonlijk had ik zo'n vergelijking graag teruggezien in dit onderzoek, maar ik heb het niet in de publicaties kunnen vinden.
Het kan ook wel, maar zoveel rekentijd krijg je niet snel van SARA
Er zijn voorbeelden van DNS/LES simulaties, met normale CPU codes, waarbij (ik heb er even snel één publicatie bij gepakt) ze ~5x zoveel gridpunten gebruiken als in de simulatie die in het artikel staat worden gebruikt. Dat is niet iets wat je dagelijks wil draaien, maar niet onmogelijk als 'proof of concept', wat blijkbaar het doel was van dit onderzoek: de verkenning van het gebruik van dit soort modellen voor nauwkeurigere weers/klimaatvoorspellingen.
Vreemd. Kaarten die overgeklokt verkocht worden mogen toch helemaal geen fouten maken na een paar uur?

Neem aan dat deze nog steeds ruim binnen de marges valt voordat deze onstabiel wordt.

[Reactie gewijzigd door Marctraider op 25 juli 2024 00:10]

Kaarten mogen geen fouten maken, maar de werkelijkheid is helaas anders. Als ik mijn eigen resultaten erbij pak heb je pak-em-beet eens per 1000 uur een fout, en als je dan met 250 GPUs parallel rekent heb je gemiddeld elke 4 uur een error te pakken. Gezien simulaties vaak meer dan 10 uur duren is dat niet acceptabel.
Professionele kaarten hebben ECC-geheugen, dat fouten corrigeert, en die kaarten zijn sowieso niet overgeklokt. OC zou moeten werken, en dat doet het ook wel, maar bij gamers is een foutje geen probleem... hooguit zie je even een rare sprite, nou ja. OK. Balen. Next. Voor wetenschappelijk werk is het gewoon niet acceptabel.

(fout is in dezen dan een pittige, niet een afrondingsfoutje oid, maar een belangrijk omgevallen bitje, waardoor je niet meer kunt garanderen dat je simulatie klopt. Het zal misschien nog wel gaan, maar het werkt niet goed)
(fout is in dezen dan een pittige, niet een afrondingsfoutje oid, maar een belangrijk omgevallen bitje, waardoor je niet meer kunt garanderen dat je simulatie klopt. Het zal misschien nog wel gaan, maar het werkt niet goed)
Vooral wanneer er door een omgevallen bitje bijvoorbeeld -19432 staat ipv 19432, of er niet door -1 maar door -0 gedeeld wordt.
Zoals je al aangeeft een pro kaart gebruikt ander geheugen en uit dit verhaal blijkt duidelijk dat iets dat continue op deze manier gebruikt wordt ook continue 10005 moet presteren zonder fouten, 99,999999999999999999% is in deze simulaties niet genoeg.

Wel leuk te zien dat er stiekem dus door veel fabrikanten met hoger geklokt wordt en dat dit bij deze berekeningen haarfijn naar voren komt.
Dat stuk gaat over consumenten kaarten.
Deze zijn voor dit soort taken niet specifiek ontworpen.
Een rekenfout in een consumentenkaart zal normaliter tot iets van een glitch op het scherm of een foute aansturing van een pixel leiden, iets wat niet echt boeit bij gamen.
Echter bij dit soort simulaties is dat natuurlijk funest.

[Reactie gewijzigd door Arjant2 op 25 juli 2024 00:10]

Correct en zie hier ook gelijk het nut van Quadro en Tesla kaarten voor de mensen die roepen dat het allemaal maar geldklopperij en oplichterij is.

Een foutief aangestuurde pixel merk je niet op een 1080p display (2.073.600 pixels) maar hier kan inderdaad wel de hele berekening op versplinteren en dus een foutief resultaat leveren.

Voor een bedrijf kan dat funest zijn dus die hebben vaak het geld er wel voor over om deze hardware te bekostigen.
Precies, wij hebben voor procesvisualisering dan ook een heel aantal quadro kaartjes die gewoon al meer dan acht jaar 24/7 zonder problemen draaien. Ventilator loos natuurlijk, 4 monitoren per kaart. Geen probleem, er is er geen één met problemen.
Of je dat met een consumenten kaart haalt betwijfel ik...
Grote kans wel dat die quadro's juist geen ECC hebben ;) , dat hebben alleen de duurdere modellen (k4xxx, k5xxx, k6xxx)
Anoniem: 58485 @maratropa21 april 2015 18:12
Dat zou niet uit moeten maken. Ook zonder ECC kan een kaart foutloos opereren. ECC is een toevoeging, geen must. Er draaien ook servers met gewoon DDR2/3/4 geheugen zonder ECC.

Maar dat wijst wel weer goed uit dat kaarten met een standaard OC en standaard koelertje niet voldoende zijn voor 24/7 100% accuraatheid.

[Reactie gewijzigd door Anoniem: 58485 op 25 juli 2024 00:10]

Mijn opmerking was meer in relatie tot de ECC discussie en dat niet alle pro kaarten ECC hebben, dat wordt vaak gedacht.
Anoniem: 593209 @maratropa21 april 2015 22:47
Inderdaad. Van de nieuwste generatie high-end kaarten,
alleen ECC op:
K5200 + K6000 (nVidia)
W8100 + W9100 (AMD)
Oja de K4xxx doet het ook niet idd.
Het gaat om berekeningen die door de kaart uitgevoerd worden. De accuraatheid van de berekeningen die consumenten gpu's hebben is niet voldoende voor zulke gespecialiseerde simulaties. Een paar pixels die verspringen in een game die op 200FPS draait merk je als consument niet zo, maar als je bij wijze van dat soort fouten in dit soort simulaties zou hebben, dan is het niet werkbaar om een accuraat beeld te genereren.
Geweldig! Toen ik met deze LES simulaties werkte moesten ze nog eerst voorberekend worden op een supercomputer (SARA) om vervolgens de data in te lezen en af te spelen. Voor het afspelen en interactie met de data gebruikte ik al de GPU, de volgende stap was om (met snellere hardware in de toekomst) de data real-time te berekenen op een GPU. Een kwestie van tijd dus!
Wanneer er echter meer rekenkracht of efficiëntere berekeningen komen, zal er vooral ingezet worden op een accurater resultaat, en niet dat je real time op je GPU het weer kunt gaan berekenen. Voorlopig zullen we echt nog wel bij het concept blijven dat supercomputer farms niet realtime de resultaten uitleveren.

[Reactie gewijzigd door Crotchy op 25 juli 2024 00:10]

Ik zie niet in wat je bij weersverwachting aan accurater resultaat hebt wanneer het een voorspelling voor het verleden maakt.

Met de hier getoonde accuratesse (je ziet de wolkjes gewoon vormen, ipv een animated gifje met regendruppeltjes) heb ik voorlopig geen nauwkeuriger voorspelling nodig :-)
Een weersverwachting op dergelijke resolutie zal voorlopig nog wel toekomstmuziek zijn. In het onderzoek kostte het simuleren van 1u 'weer' (de vorming van mooi weer stapelwolkjes) 4u rekentijd. Dat is voor forecast-doeleinden natuurlijk nog niet nuttig. Je kunt natuurlijk altijd nog terugschalen in resolutie (of de tijdsperiode waarover je het model wilt laten berekenen), dat scheelt rekentijd.

Je kunt het mijns inziens nu beter nog als een proof of concept zien: men heeft bewezen dat je een specifiek type fysisch model (Large Eddy Simulation) kan draaien op GPU's en ook op een supercomputer gebaseerd op GPU's. Op basis van de resultaten kan men verder gaan denken/werken aan toepassingen, zowel in het weer- en klimaatonderzoek als in het meer toegepastere domein van weersverwachtingen maken.

[Reactie gewijzigd door Sassie op 25 juli 2024 00:10]

Niet helemaal ontopic maar als je de kans krijgt moet je echt die meetmast eens bezoeken.

Het uitzicht vanaf die mast is erg geinig en het liftje naar boven is echt briljant (als daar inmiddels niks aan veranderd is tenminste). Je waant je zo in een slechte horrorfilm met het gebonk en geknars van dat superkrappe afgesloten liftje. Het duurde ook iets van 10 minuten om boven te komen (als ik het me goed herinner) dus tijd genoeg om ervan te genieten. :)

Toentertijd kreeg ik nog een digitale camera van ze mee om foto's te maken. Dat was er één waar je nog een floppy in moest stoppen (waar wel 10 foto's op pasten) dus ik was binnen de kortste keren (ahum) weer naar beneden om nog een paar floppies te halen. :P

Je moet alleen dus niet bang zijn voor een beetje wind, geen hoogtevrees hebben en ook zeker niet claustrofobisch zijn. :+

Op dit item kan niet meer gereageerd worden.