An Ocean Model Ported by a Large Language Model: Experience and Lessons from FESOM2 (Fortran to C to C++/Kokkos)

Dit artikel toont aan dat een agentic large language model, gestuurd door domeinexperts via een strikt proces van twee fasen van vertaling en rigoureuze validatie, het 74.000 regels tellende Fortran FESOM2 oceaanmodel succesvol heeft geporteerd naar C++/Kokkos, waarbij de fysica behouden bleef en significante prestatiewinsten op GPU's werden behaald.

Oorspronkelijke auteurs: Nikolay V. Koldunov, Suvarchal K. Cheedela, Sergey Danilov, Dmitry Sidorenko, Sebastian Beyer, Thomas Jung

Gepubliceerd 2026-06-11
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Nikolay V. Koldunov, Suvarchal K. Cheedela, Sergey Danilov, Dmitry Sidorenko, Sebastian Beyer, Thomas Jung

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een enorm, ongelooflijk complex en zeer succesvol recept hebt voor een 5-sterrengerecht. Dit recept is geschreven in een zeer oude, gespecialiseerde taal (laten we het "Fortran" noemen) die slechts enkele meesterchefs begrijpen. Het is decennialang getest en iedereen weet dat het perfect werkt. Echter, de keuken verandert: de nieuwe ovens (moderne supercomputers met krachtige GPU's) spreken geen "Fortran" meer. Ze spreken "C++".

Het probleem? Het vertalen van dit 74.000 regels tellende recept van de oude taal naar de nieuwe taal is alsof je een roman probeert te vertalen terwijl je tegelijkertijd het huis aan het verbouwen bent waarin het geschreven staat. Als je zelfs maar één klein foutje maakt in de wiskunde, kan het gerecht in gif veranderen, of kan de keuken in brand vliegen. Normaal gesproken duurt dit jaren voor een team van menselijke experts.

Dit paper beschrijft een nieuw experiment: Kan een AI (een Large Language Model) deze vertaalklus voor ons doen, en kan het dit doen zonder het recept te verpesten?

Hier is hoe ze het deden, met behulp van eenvoudige analogieën:

1. De Tweestaps-vertaalstrategie

In plaats van de AI te vragen om direct van de "Oude Taal" naar de "Nieuwe Hogesnelheidstaal" te springen, dwong het team het tot een omweg.

  • Stap 1: De "Schone Kopie" (Fortran → C): Eerst vroegen ze de AI om het recept te vertalen naar een simpelere, tussenliggende taal genaamd "C".

    • De Regel: De AI werd strikt verboden om het recept te "verbeteren". Het mocht de ingrediënten niet vervangen om ze "beter" te maken of de kooktijden niet aanpassen om ze efficiënter te maken. Het moest een letterlijke, woord-voor-woord kopie zijn.
    • Het Doel: Om ervoor te zorgen dat de smaak (de fysica) exact hetzelfde bleef. Ze draaiden deze nieuwe "C"-versie voor vijf jaar aan gesimuleerde tijd. Het smaakte identiek aan de originele "Fortran"-versie, met verschillen die zo minuscuul waren als een korrel zout in een oceaan.
  • Stap 2: De "Snelheidsupgrade" (C → C++/Kokkos): Zodra de "C"-versie bewezen perfect was, vroegen ze de AI om die te vertalen naar de moderne "C++"-taal, die gebouwd is om te draaien op supersnelle GPU-ovens.

    • Het Veiligheidsnet: Omdat de "C"-versie al perfect was, kon de AI zich nu concentreren op snelheid. Ze controleerden elke stap van het kookproces om te waarborgen dat de nieuwe "C++"-versie exact dezelfde getallen produceerde als de "C"-versie op standaard computers.

2. Het "Tweeling" Controle Systeem

Hoe wisten ze dat de AI geen fout heeft binnengesmokkeld? Ze gebruikten een systeem van "Tweelingen".

Stel je voor dat je een meesterchef hebt (de originele code) en een leerling-chef (de nieuwe code). Elke keer als de leerling-chef een ui snijdt, moet hij de meesterchef onmiddellijk het resultaat laten zien.

  • De "Tweeling" Test: Voor elke enkele kookstap draait de computer de nieuwe code en de oude code zij aan zij. Als de getallen zelfs maar een fractie verschillen, schreeuwt het systeem "Stop!" en vertelt het de AI: "Je hebt deze specifieke stap verpest."
  • De "Stale Halo" Valstrik: Een veelvoorkomende fout die de AI maakte, was het vergeten te updaten van de randen van de data (zoals het vergeten te wassen van de snijplank tussen de snijbewegingen door). Het team bouwde een speciale "sonde" die specifiek de randen controleert om deze onzichtbare fouten te vangen.

3. De Resultaten: Snelheid en Nauwkeurigheid

Het experiment was een succes. Dit is wat er gebeurde:

  • Nauwkeurigheid: De nieuwe code is wetenschappelijk betrouwbaar. Over vijf jaar aan simulatie waren de oceantemperaturen en het zoutgehalte van de nieuwe versie vrijwel ononderscheidbaar van de originele versie. Op de nieuwe super-snelle GPU's waren de resultaten "statistisch dichtbij" — wat betekent dat de minuscule verschillen alleen te wijten waren aan hoe de computer met wiskunde omgaat, en niet omdat de fysica fout was.
  • Snelheid: De nieuwe code draait op moderne GPU's (zoals de NVIDIA A100) en is 1,6 tot 3,7 keer sneller dan de oude code die op standaard CPU's draait.
  • Draagbaarheid: Het beste deel? Ze schreven de code één keer, en deze draait op verschillende soorten supercomputers (NVIDIA, AMD, en anderen) zonder dat deze opnieuw geschreven hoeft te worden. Het is als een universele adapter die op elk stopcontact past.

4. Wat ging er mis (en hoe ze het oplosten)

De AI is niet perfect. De AI probeerde te "helpen" door dingen te vereenvoudigen, wat bijna de fysica zou breken.

  • De "Vereenvoudigings"-valstrik: De AI wilde getallen afronden of een constante waarde veranderen omdat het er "netter" uitzag. Het team moest dit strikt verbieden. Ze zeiden tegen de AI: "Als de originele versie 0,1 zegt, schrijf jij 0,1. Ga niet gokken."
  • De "Commentaar"-valstrik: De AI las soms een commentaar in de code die zei "De waarde is 5", terwijl de eigenlijke code "De waarde is 10" zei. De AI vertrouwde het commentaar. Het team loste dit op door de AI te dwingen om elke keer de werkelijke coderegels te controleren.

De Kernboodschap

Dit paper bewijst dat met de juiste regels en een strikt "veiligheidsladder"-systeem van controles, een AI een enorme, complexe wetenschappelijke model van een oude taal naar een nieuwe, supersnelle taal kan vertalen in slechts enkele weken.

Het heeft de code niet alleen gekopieerd; het heeft de wetenschap behouden. Het oceaanmodel gedraagt zich nog steeds precies zoals de echte oceaan, maar het draait nu snel genoeg om ons te helpen de toekomstige klimaatverandering te voorspellen op de krachtigste computers ter wereld. De sleutel was niet alleen de AI; het was de discipline van de mensen die het leidden: strikte regels, letterlijke vertaling en constante controle.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →