Developing a CUDA solver for large sparse matrices for MARIN
Martijn de Jong
Supervisor: Kees Vuik
Site of the project:
6708 PM Wageningen
start of the project: February 2011
The Master project has been finished in February 2012
by the completion of the
and a final
has been given.
In this presentation the following
has been shown.
In March 2013 a
(Dutch) has appeared in Delta and in
For working address etc. we refer to our
Summary of the master project:
MARIN (Maritime Research Institute Netherlands) provides ship manoeuvring simulators that
offer a variety of maritime operations for virtually every type of ship and of propulsion.
The current computation model for the wave field is based on cosine wave spectra, that
are converted to time signals through Fourier transformation. This has the benefit of
being deterministic in time and place and therefore is easy to implement on our distributed
simulation systems. However, the model is not interactive, that is diffraction, reflection,
refraction and depth dependency are not taken into account. From a visualization point of
view, this model is limited too. Better visualization models (in e.g. Waterworld, Titanic,
Perfect Storm) lack physical realism.
Some pictures of the present simulator. The waves have no interaction with ships or environment.
MARIN wishes to use the so-called Variational
Model to compute and visualize the wave field. This physically realistic model does provide
interaction with objects, diffraction, reflection etc. At this moment, the model can be used
for computing a wave field of 10000 points (5m x 5m grid) in real-time. To be useful in our
manoeuvring simulator, a much larger wave field of at least 1000000 points must be computed
in real time. In 2008/2009
Elwin van 't Wout
has already worked on this here. His excellent
can be used as a basis for further investigation.
Part of the Variational Boussinesq
Model is a sparse matrix solver. This takes up a large part of the computation time
per simulation step. The purpose of the work will be to develop a new, parallel, solver with
CUDA for these kind of matrices.
For instance Iterative CUDA
can be used as a basis for this. This subject is particularly fit for a student who enjoys
(advanced) programming. The programming language used in C++.
The work will be conducted at MARIN in Wageningen. MARIN has been an independent and innovative
service provider for the maritime sector worldwide for more that 75 years now. The research
is carried out by model tests in large basins and by lots of computer simulations. In its
field MARIN is one of the leading institutions in the world. Wageningen is a small but
pleasant student city.
In the middle you can see waves in the real river IJssel and to left and right the simulation in our VBM test program.
Back to the
Master students page of Kees Vuik