Alessandro Savoia and researchers at Università degli Studi Roma Tre have achieved an order of magnitude improvement in the performance of a beamforming application using ArrayFire for GPU acceleration with CUDA-capable NVIDIA GPUs.
This application involves conventional beamforming. Steps include the application of a time delay to each signal vector, summation across all vectors, and processing on the result. Processing includes demodulation, envelope extraction, and logarithmic compression.
ArrayFire's functions for shifting, interpolation, and filtering made this application possible for acceleration on GPUs and reduced the time to develop significantly.
Alessandro's benchmarks show that a CPU-only version was only running at 1 frame/sec, while the ArrayFire-accelerated version was running at 10-20 frames/sec, depending on the dataset.
Alessandro and his team are looking forward to the next phase of this work which will involve adaptive beamforming and the acceleration of large matrix multiplies using ArrayFire and GPUs.
Beamforming is a straightforward win for GPU computing and is being done productively by many ArrayFire users around the world. Have you considered using GPU and ArrayFire for your beamforming or signal processing projects?