Het ontwikkelen van een CUDA solver voor grote sparse matrices voor MARIN
Martijn de Jong
Dagelijks begeleider: Kees Vuik
Plaats van afstuderen:
MARIN
Haagsteeg 2
6708 PM Wageningen
start van afstuderen: februari 2011
De afstudeeropdracht is in februari 2012 afgerond met het schrijven van het
afstudeerverslag
en het geven van de
afstudeervoordracht
waar een
simulatie
getoond werd.
In maart 2013 is er een
artikel
verschenen in de Delta en in
Kennislink.
Huidige adresgegevens etc. zijn te vinden op onze
alumnipagina.
Korte omschrijving van de afstudeeropdracht:
Achtergrond
MARIN (Maritiem Research Instituut Nederland) levert scheepssimulatoren waarop
een verscheidenheid aan maritieme operaties kan worden uitgevoerd voor vrijwel
elk schip en elk type aandrijving. Het huidige model voor het berekenen van het
golfveld is gebaseerd op golfspectra, die door middel van Fourier transformaties
in tijdsignalen worden omgezet. Voordeel hiervan is dat het model deterministisch
is in tijd en plaats en daardoor eenvoudig te implementeren op gedistribueerde
simulatiesystemen. Nadeel is dat het niet interactief is, dwz diffractie, reflectie,
refractie of diepte-afhankelijkheid wordt niet meegenomen. Ook vanuit het perspectief
van golfvisualisatie is dit model beperkt. Visualisatiemodellen die deze beperking
niet hebben (in bijv. Waterworld, Titanic, Perfect Storm), zijn helaas vanuit fysisch
oogpunt niet realistisch.
Enkele beelden van de huidige simulator.
De golven hebben geen interactie met schepen en omgeving.
MARIN wil daarom, voor het berekenen van het golfveld, het zogenoemde Variational
Boussinesq
Model (VBM) gebruiken. Dit fysisch-realistische, interactieve model voorziet wel in
interactie met objecten, diffractie, reflectie etc. Op dit moment is het mogelijk het
golfveld op een klein gebied van 10000 punten (5m x 5m grid) real-time uit te rekenen.
Het is echter de bedoeling dit uit te breiden naar minstens 1000000 punten, waarbij het
real-time aspect behouden blijft. In 2008/2009 heeft
Elwin van 't Wout
hier zijn afstudeeronderzoek over gedaan. Zijn uitstekende
verslag
is een goede basis voor verder onderzoek.
Opdracht
Onderdeel van het Variational
Boussinesq Model is een sparse matrix solver. Deze neemt per simulatiestap de meeste
rekentijd in beslag. Het doel van deze opdracht is een nieuwe, parallele, solver te
ontwikkelen met CUDA voor
dit soort grote matrices. Hierbij kan bijvoorbeeld
Iterative CUDA als
basis worden gebruikt. Wij zoeken hiervoor een student die vooral ook plezier heeft
in (geavanceerd) programmeren. De gebruikte programmeertaal is C++.
Lokatie
Het onderzoek zal gedaan worden bij het MARIN in Wageningen. Het MARIN is een onafhankelijk
en innovatief dienstverlenend instituut waar al meer dan 75 jaar onderzoek wordt gedaan op
het gebied van scheepsbouw en scheepvaart. Dit wordt enerzijds gedaan door modelproeven
en anderzijds door computersimulaties. Op dit gebied is MARIN een van de meest
toonaangevende instellingen ter wereld. Wageningen is een kleine maar gezellige studentenstad.
Hierboven zie je in het midden echte golven in de IJssel en links en rechts zoals het er in ons VBM testprogramma uitziet.
Contact informatie:
Kees
Vuik
Terug naar de
home page
of de
afstudeerpagina van Kees Vuik