Developing medical ultrasound beamforming application on GPU and FPGA using oneAPI

2021 
oneAPI is based on Data Parallel C++ (DPC++) and incorporates SYCL from the Khronos Group to support a cross-architecture programming environment. It delivers the freedom to choose suitable hardware for specific applications. In this paper, we developed a cross-architecture real-time medical ultrasound imaging application using oneAPI based on an open-source project SUPRA [1]. The application takes raw ultrasound data from ultrasound equipment as input and processes it to obtain B-mode images. The ultrasound processing pipeline contains four modules: Beamforming, Envelope Detection, Log-compression, and Scan-conversion. The proposed ultrasound medical beamforming algorithms are implemented with Intel’s oneAPI, which enables the algorithms to target multiple hardware architectures: GPU, FPGA, and CPU. In this paper, we show how to migrate and optimize these medical ultrasound algorithms on the GPU and FPGA in a unified programming language supported by DPC++. We also compare the GPU and FPGA performance of the algorithms. The results show that the ultrasound application achieved 140.0, 176.1 and 168.4 FPS using Intel Iris Xe integrated graphics, DG1 GPU and Arria 10 FPGA, respectively. Finally, we also evaluate the computation results correctness of our implementations with the original SUPRA application.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []