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}
}