Computational Optimization of a Time-Domain Beamforming Algorithm Using CPU and GPU
Technische Universitat Dresden, Institute of Solid Mechanics, Chair of Dynamics and Mechanism Design, Marschnerstrasse 30, 01307 Dresden
Berlin Beamforming Conference (BeBeC), 2014
@article{stier2014computational,
title={COMPUTATIONAL OPTIMIZATION OF A TIME-DOMAIN BEAMFORMING ALGORITHM USING CPU AND GPU},
author={Stier, Johannes and Hahn, Christopher and Zechel, Gero and Beitelschmidt, Michael},
year={2014}
}
In 2010, a special time-domain beamforming algorithm was presented at the Berlin Beamforming Conference [3]. This algorithm is primarily designed for the sound source localization on moving objects with known velocity (e.g. freight trains). By determining the object trajectory, the acoustic map’s quality can be improved with respect to the Doppler effect. The bottleneck of the algorithm is the time-consuming computational evaluation. Although computational effiency was considered in the algorithm’s first implementation, it can take on hour or more to calculate an acoustic map for a passing train on a regular personal computer. There are several factors which affect the evaluation time, e.g. sampling rate, train speed or the train’s length. This paper mainly focusses on the computational implementation of the time-domain beamforming algorithm using CPU (Central Processing Unit) and GPU (Graphics Processing Unit). In general, the implementation on a CPU is rather straight foward if common parallelization libraries are used (e.g. OpenMP), offering only a few variation opportunities. The realizable speed-up is proportional to the number of physical cores in a CPU, and can attain a factor of 8 on recent workstations. Implementing the beamforming algorithm on a GPU with CUDA (Compute Unified Device Architecture) is more complicated and requires substantial knowledge of the GPU’s processor architecture. Nevertheless, speed-ups of 30 times or even more compensate the high implementation effort. Additionally, a modification of the algorithm according to [3] is presented. Specific calculation coefficients called "beamfactors" are introduced, which represent the shading factors in time-domain beamforming. Precomputing those factors before beamforming can reduce the evaluation time by a factor of 2, regardless of the computational implementation and the computer system used. Although the beamfactors-algorithm offers a sufficient reduction of computational costs, it has been parallelized on CPU and GPU as well.
March 3, 2014 by hgpu