FieldGPU: A GPU-based Version of Field II with Python Bindings for Large Scale Simulations and Complex Transducer Configurations

Florence Klitzner, Rüdiger Göbl, Christoph Hennersperger, Stefan Wörz

LUMA Vision, Dublin, Ireland

2025 IEEE International Ultrasonics Symposium (IUS), pp. 1–4

Presented at IEEE IUS 2025, the IEEE International Ultrasonics Symposium
Utrecht, Netherlands, September 15–18, 2025

Focused wave propagation simulation generated with FieldGPU.

Abstract

We present FieldGPU, a CUDA-accelerated reimplementation of the Field II ultrasound simulation framework, accessible as a Python package. FieldGPU leverages GPU parallelism to improve scalability and reduce simulation times for large transducer arrays and high-quality simulation scenarios. It supports most core Field II features, including transmit and receive simulation and custom transducer configurations with rectangular aperture elements. Comparison benchmarks performed between Field II and FieldGPU demonstrate that FieldGPU achieves up to 1100 times performance increase compared to Field II for the largest tested simulation with 10 million scatterers. Our simulation method significantly reduces simulation times and provides a modern Python interface that facilitates the direct translation of Field II simulation scripts to FieldGPU.

Technical Approach

GPU Acceleration

Spatial impulse response calculations are distributed across GPU threads in CUDA, replacing the sequential CPU implementation of Field II.

Python Interface

Native Python bindings allow existing Field II scripts to be translated directly and integrate with scientific computing and machine learning pipelines.

Scalability

Speedups grow with the number of scatterers, from 41× at 100 scatterers to over 1,300× at 10 million.

Performance Evaluation

Test Configuration

  • Hardware: NVIDIA RTX 3090, AMD Threadripper 3970X, 128 GB RAM
  • Transducer: 64-element linear array, 5 MHz center frequency
  • Sampling: 100 MHz sampling rate, 1540 m/s speed of sound
  • Function: calc_scat_multi performance comparison

We benchmarked FieldGPU against the original Field II implementation across varying scatterer counts and functions. For calc_scat_multi, FieldGPU reaches speedups of over 1,300×:

Scatterers Field II (s) FieldGPU (s) Speedup
100 0.099 0.0024 41×
1,000 0.673 0.0050 135×
10,000 6.68 0.022 304×
100,000 69.5 0.086 810×
1,000,000 644 0.51 1,265×
10,000,000 5,876 4.31 1,364×

Discussion

The measured speedups (650× on average, up to 1,364×) make simulation scenarios practical that were previously out of reach, in particular studies with large numbers of scatterers or complex transducer geometries.

FieldGPU currently supports rectangular elements and is compatible with most standard Field II workflows. The Python interface connects it to modern scientific computing and machine learning frameworks.

Citation

Klitzner, F., Göbl, R., Hennersperger, C., & Wörz, S. (2025, September).
FieldGPU: A GPU-based Version of Field II with Python Bindings for Large Scale Simulations and Complex Transducer Configurations.
In 2025 IEEE International Ultrasonics Symposium (IUS) (pp. 1–4). IEEE.
https://doi.org/10.1109/IUS62464.2025.11201303

@inproceedings{Klitzner_2025,
  title={FieldGPU: A GPU-based Version of Field II with Python Bindings for Large Scale Simulations and Complex Transducer Configurations},
  author={Klitzner, Florence and G{\"o}bl, R{\"u}diger and Hennersperger, Christoph and W{\"o}rz, Stefan},
  booktitle={2025 IEEE International Ultrasonics Symposium (IUS)},
  pages={1--4},
  year={2025},
  organization={IEEE},
  doi={10.1109/IUS62464.2025.11201303}
}