Adaptation of an acoustic propagation model to the parallel architecture of a graphics processor
Universidade Do Algarve, Instituto Superior de Engenharia
Instituto Superior de Engenharia, 2013
@article{ey2013adaptation,
title={Adaptation of an acoustic propagation model to the parallel architecture of a graphics processor},
author={Ey, Emanuel},
year={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 raytracing, 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 modeling. 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 raytracing model was developed at SiPLAB, University of the Algarve1, 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.
January 14, 2014 by hgpu