Versnellen rekenprogramma voor scheepsontwerp

De tijd die beschikbaar is om een nieuw schip te ontwerpen wordt steeds korter. Tegelijk worden de eisen die aan het ontwerp gesteld worden steeds strenger. Als kennisinstituut voor de scheepsbouw is Marin dan ook voortdurend bezig om de ontwerptijd terug te brengen. VORtech heeft geholpen om een van Marins belangrijkste rekenprogramma's flink te versnellen.

Rekenprogramma’s voor het ontwerpen van schepen

Marin is het kennisinstituut voor de scheepvaart. Haar doel is om schepen schoner, sneller en veiliger te maken. Daarvoor heeft ze een uitgebreid scala aan gereedschappen. De meest opvallende daarvan zijn de bassins, waarin schaalmodellen van schepen en offshore constructies worden getest. Minder opvallend, maar zeker zo belangrijk, zijn de rekenvoorzieningen en computerprogramma’s die gebruikt worden.

Een van de belangrijkste codes is ReFRESCO. Dit programma is een belangrijke schakel in heel veel simulaties die nodig zijn bij het ontwerpen van schepen. Het berekent de beweging van water in complexe stromingen. De basis hiervan zijn de Navier-Stokes vergelijkingen. Daar worden extra vergelijkingen aan toegevoegd, onder meer om turbulentie te beschrijven. ReFRESCO is een multiphase code: het berekent niet alleen de stroming van water maar ook van luchtbelletjes in het water. Kortom: het beschrijft alle processen die zich voordoen rondom een schip en de aandrijving ervan.

Versnellen

Het zal duidelijk zijn dat dit enorme rekenpartijen vergt. De code is dan ook geparallelliseerd en wordt meestal op een fors rekencluster gedraaid. Niettemin blijft er constant behoefte aan extra snelheid. Ook de voortdurende uitbreiding van de functionaliteit levert steeds weer uitdagingen bij het op peil houden van de parallelle performance. De kennis en ervaring van VORtech komen hierbij goed van pas.

In veel gevallen kan VORtech een factor twee snelheidswinst beloven zonder de code gezien te hebben: het lukt ons vrijwel altijd om een rekenprogramma te versnellen. Maar deze programmatuur  is al  door zeer deskundige mensen geoptimaliseerd. Het was dan ook maar de vraag of we nog veel zouden kunnen toevoegen.

Voorstudie

Na de eerste analyse blijkt er toch ook hier ruimte voor verbetering. De VORtechers Bas van ’t Hof en Werner Kramer hebben binnen enkele weken een redelijk complete studie gemaakt van de huidige performance en de bottlenecks daarin. Bas: “we hebben onze eigen tools voor performance analyse losgelaten op de code. Die geven veel bruikbaardere informatie dan standaard tools. Daarmee konden we heel snel een goed beeld vormen van de mogelijke verbeteringen.” De ideeën zijn vastgelegd in een rapport. En VORtech zou VORtech niet zijn als daar niet ook aanbevelingen in opgenomen hadden om het management van de code nog verder te versterken. Overigens was dit al verrassend goed op orde; vaak komen we veel slechtere situaties tegen.

Inmiddels heeft Marin aan VORtech opdracht gegeven om een eerste tranche verbeteringen door te voeren. En het resultaat mag er zijn. Grote delen van de code zijn nu twee keer zo snel geworden. Daarbij gaat het zowel om aanpassingen in de manier waarop dingen geprogrammeerd zijn, als ook om verbeteringen in de algoritmen. Bas van ’t Hof ziet overigens nog wel een paar kansen: “we hebben voorstellen gedaan voor verdere optimalisatie, dus als Marin wil kunnen we waarschijnlijk nog wel meer bereiken.”