An Open Source GPU-Based Beamformer for Real-Time Ultrasound Imaging and Applications - Hyun, Dongwoon; Li, You Leo; Steinberg, Idan; Jakovljevic, Marko; Klap, Tal; Dahl, Jeremy J. (IEEE International Ultrasonics Symposium (Online), 2019)
Recent technological advances in graphics processing unit (GPU)-based computing have made it possible to visualize customized beamforming pipelines and algorithms in real-time. However, GPU programming is challenging and poses a significant barrier to its widespread adoption in the ultrasound research community. Here, we present an open source GPU beamformer with the intent of making GPU beamforming more accessible to a wider audience. The beamformer was written in C++/CUDA and is comprised of a library of core classes to perform typical ultrasound-related tasks, such as applying focusing delays. Classes are arranged into a computational graph that is fixed at compile-time, enabling high throughput at runtime. Concrete examples are provided to demonstrate how to interface the beamforming library with the MATLAB-based Verasonics platform to perform live B-mode and Doppler imaging. Also provided is an example of deploying a TensorFlow neural network in real-time via TensorRT. Compilation was performed using CMake to allow for cross-platform compatibility. Including overhead for data acquisition, the beamformer achieved live B-mode imaging with a Verasonics Vantage 256 system at 55 frames per second using a single NVIDIA Titan V GPU. The open source GPU beamformer can be used as a starting point for real-time algorithm deployment.