Comments: download file (pdf)
Ref.: MsC Thesis, University of Algarve, December 2013
High performance underwater acoustic models are of great importance for enabling real-time acoustic source tracking, geoacoustic inversion, environmental monitoring and high-frequency underwater communications. Given the parallelizable nature of ray tracing, in general, and of the ray superposition algorithm in particular, use of multiple computing units for the development of real-time efficient applications based on ray tracing is becoming of extreme importance.
Alongside the development of multi-core CPUs in recent years, graphics processing units (or GPUs) have gained importance in scientific computing. Desktop GPUs provide vast amounts of processing power at reasonable costs; while their usage may require extensive re-engineering of existing software, they represent an attractive possibility for high performance low-cost underwater acoustic modelling.
OpenCL is a programming standard designed for writing multithreaded code for a variety of different devices, including CPUs and GPUs. It consists of extensions to the C language as well as an API and device driver extensions. The cTraceo ray tracing model was developed at SiPLAB, University of Algarve, in order to predict acoustic pressure and particle velocity in complex waveguides while incorporating backscattering. Intensive testing through comparisons with other models and experimental data has by now shown that cTraceo does indeed produce accurate acoustic field predictions[1,2,,3].
This work addresses the adaptation of the cTraceo model from a single threaded CPU implementation to an OpenCL parallelized application designed for GPUs. Since the GPU performance of double precision arithmetic was found to be disappointing when compared to single precision, an effort was made to make use of single precision arithmetic in the parallel version of cTraceo. It was found that, for all practical purposes, results are identical to those of the previous implementation, with the advantage of significantly reduced processing times. Performance gains between one and two orders of magnitude were obtained, depending on the configuration of the waveguide and number of traced rays.
Keywords: underwater acoustics, acoustic propagation modelling, high performance computing, OpenCL, parallel computing.