|dc.description.abstract||Commodity computer graphics chips are probably today’s most powerful computational hardware
one can buy for money. These chips, known generically as Graphics Processing Units
or GPUs, has in recent years evolved from afterthought peripherals to modern, powerful programmable
processor. Due to the movie and game industry we are where we are to today.
One of Intel’s co-founder Gordon E. Moore said once that the number of transistors on a
single integrated chip was to double every 18 month. So far this seems to be correct for the
CPU. However for the GPU the development has gone much faster, and the floating point
operations per second has increased enormously.
Due to this rapid evolvement many researchers and scientists has discovered the enormous
floating point potential can be taken advantage of, and a numerous applications has been
tested such as audio and image algorithms. Also in the area of marine acoustics this has
become interesting, where the demand for high computational power is increasing.
This master report investigates how to make a program capable to run on a GPU for calculating
an underwater sound field. To do this a graphics chips with programmable vertex and
fragment processor is necessary. Programming this will require graphics API like OpenGL,
a shading language like GLSL, and a general purpose GPU library like Shallows. A written
program in Matlab is the basic for the GPU program. The goal is to reduce calculation time
spent to calculate a underwater sound field.
From this the increment from Matlab to GPU was found to be around 40-50 times. However
if Matlab was able to calculate the same number of rays as maximum on the GPU, the
increment would probably be bigger. Since this study was done on a laptop with nVidia
GeForce Go 6600 graphics chip, a higher gain would theoretically be obtainable by a desktop