Programming graphic card for fast calculation of sound field in marine acoustics
MetadataVis full innførsel
Commodity computer graphics chips are probably today’s most powerful computational hardwareone can buy for money. These chips, known generically as Graphics Processing Unitsor GPUs, has in recent years evolved from afterthought peripherals to modern, powerful programmableprocessor. 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 asingle integrated chip was to double every 18 month. So far this seems to be correct for theCPU. However for the GPU the development has gone much faster, and the floating pointoperations per second has increased enormously.Due to this rapid evolvement many researchers and scientists has discovered the enormousfloating point potential can be taken advantage of, and a numerous applications has beentested such as audio and image algorithms. Also in the area of marine acoustics this hasbecome 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 calculatingan underwater sound field. To do this a graphics chips with programmable vertex andfragment 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 writtenprogram in Matlab is the basic for the GPU program. The goal is to reduce calculation timespent to calculate a underwater sound field.From this the increment from Matlab to GPU was found to be around 40-50 times. Howeverif Matlab was able to calculate the same number of rays as maximum on the GPU, theincrement would probably be bigger. Since this study was done on a laptop with nVidiaGeForce Go 6600 graphics chip, a higher gain would theoretically be obtainable by a desktopgraphics chip.