Barracuda: a dynamic, Turing-complete GPU virtual machine for high-performance simulations.

Gespeichert in:
Bibliographische Detailangaben
Titel: Barracuda: a dynamic, Turing-complete GPU virtual machine for high-performance simulations.
Autoren: Duncan-Gelder P; School of Physical and Chemical Sciences, University of Canterbury, Christchurch, New Zealand. phillip.duncan-gelder@southerndhb.govt.nz.; Te Whatu Ora - Health New Zealand, New Zealand, . phillip.duncan-gelder@southerndhb.govt.nz., O'Keeffe D; School of Physical and Chemical Sciences, University of Canterbury, Christchurch, New Zealand.; Te Whatu Ora - Health New Zealand, New Zealand., Bones PJ; School of Physical and Chemical Sciences, University of Canterbury, Christchurch, New Zealand.; Electrical and Computer Engineering, University of Canterbury, Christchurch, New Zealand., Marsh S; School of Physical and Chemical Sciences, University of Canterbury, Christchurch, New Zealand.
Quelle: Medical & biological engineering & computing [Med Biol Eng Comput] 2025 Sep 13. Date of Electronic Publication: 2025 Sep 13.
Publication Model: Ahead of Print
Publikationsart: Journal Article
Sprache: English
Info zur Zeitschrift: Publisher: Springer Country of Publication: United States NLM ID: 7704869 Publication Model: Print-Electronic Cited Medium: Internet ISSN: 1741-0444 (Electronic) Linking ISSN: 01400118 NLM ISO Abbreviation: Med Biol Eng Comput Subsets: MEDLINE
Imprint Name(s): Publication: New York, NY : Springer
Original Publication: Stevenage, Eng., Peregrinus.
Abstract: Accurate simulation of dynamic biological phenomena, such as tissue response and disease progression, is crucial in biomedical research and diagnostics. Traditional GPU-based simulation frameworks, typically static CUDA ® environments, struggle with dynamically evolving parameters, limiting flexibility and clinical applicability. We introduce Barracuda, an open-source, lightweight, header-only, Turing-complete virtual machine designed for seamless integration into GPU environments. Barracuda enables real-time parameter perturbations through an expressive instruction set and operations library, implemented in a compact C/CUDA library. A dedicated high-level programming language and Rust-based compiler enhance accessibility, allowing straightforward integration into biomedical simulation workflows. Benchmark validations, including Rule 110 cellular automaton and Mandelbrot computations, confirm Barracuda's versatility and computational completeness. In magnetic resonance imaging (MRI) simulations, Barracuda allows for the dynamic recalculation of critical parameters, such as INLINEMATH relaxation times and temperature-induced off-resonance frequencies. Although it introduces computational overhead compared to static kernels, Barracuda significantly improves simulation accuracy by enabling dynamic modeling of key biological processes. Barracuda's modular architecture supports incremental integration, providing valuable flexibility for biomedical research and rapid prototyping. Future developments aim to optimize performance and expand domain-specific instruction sets, reinforcing Barracuda's role in bridging static GPU programming and dynamic simulation requirements.
(© 2025. The Author(s).)
Competing Interests: Declarations. Conflict of interest: The authors declare no competing interests.
References: Brown RW, Cheng YCN, Haacke EM, Thompson MR, Venkatesan R (2014) Magnetic resonance imaging: physical principles and sequence design: Second Edition. Magnetic resonance imaging: physical principles and sequence design: Second Edition, 9780471720850:1–944. https://doi.org/10.1002/9781118633953 . https://onlinelibrary.wiley.com/doi/book/10.1002/9781118633953.
NVIDIA (2021) Nvidia CUDA C Programming Guide. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html.
Lee D, Dinov I, Dong B, Gutman B, Yanovsky I, Toga AW (2012) CUDA optimization strategies for compute- and memory-bound neuroimaging algorithms. Comput Methods Prog Biomed 106(3):175. ISSN 01692607. https://doi.org/10.1016/J.CMPB.2010.10.013 . https://www.sciencedirect.com/science/article/pii/S0169260710002750.
NVIDIA (2021) CUDA C++ best practices guide. https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html.
Karimi K, Dickson NG, Hamze F (2010) A performance comparison of CUDA and OpenCL. arXiv e-prints, page arXiv:1005.2581.
Tim Lindholm FY (1997) The java virtual machine specification. Addison Wesley Publishing Company, Addison Wesley Publishing Company. UOM:39015038166891.
Klein B (2013) Bytecode und Maschinencode Einführung in Python 3:17–19. https://doi.org/10.3139/9783446437173.003. (PMID: 10.3139/9783446437173.003)
Langdon WB (2010) A many threaded CUDA interpreter for genetic programming. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 6021 LNCS: 146–158. ISSN 16113349. https://doi.org/10.1007/978-3-642-12148-7_13/COVER . https://link.springer.com/chapter/10.1007/978-3-642-12148-7_13.
Ishihara Y, Calderon A, Watanabe H, Okamoto K, Suzuki Y, Kuroda K, Suzuki Y (1995) A precise and fast temperature mapping using water proton chemical shift. Magn Reson Med 34(6):814–823. ISSN 0740-3194. https://doi.org/10.1002/mrm.1910340606.
Thrust | NVIDIA Developer. https://developer.nvidia.com/thrust.
LLNL/RAJA: RAJA Performance Portability Layer (C++). https://github.com/LLNL/RAJA.
alpaka-group/alpaka: Abstraction Library for Parallel Kernel Acceleration:llama:. https://github.com/alpaka-group/alpaka.
jax-ml/jax: Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more. https://github.com/jax-ml/jax.
Numba: a high performance Python compiler. https://numba.pydata.org/.
CuPy: NumPy & SciPy for GPU. https://cupy.dev/.
Hoare G (2010) Project Servo: technology from the past come to save the future from itself. Mozilla.
Cartas C (2019) Rust - the programming language for every industry. Econ Inform J 19(1/2019):45–51. ISSN 1582-7941. https://doi.org/10.12948/ei2019.01.05.
Santoso OKA, Kwee C, Chua W, Nabiilah GZ, Rojali (2023) Rust’s memory safety model: an evaluation of its effectiveness in preventing common vulnerabilities. Procedia Comput Sci 227:119–127. ISSN 1877-0509. https://doi.org/10.1016/j.procs.2023.10.509 . https://www.sciencedirect.com/science/article/pii/S1877050923016757.
Muchnick S (1997) Advanced compiler design implementation. Morgan Kaufmann, Morgan Kaufmann, 3. ISBN 1558603204, 9781558603202.
Duncan-Gelder P, O’Keeffe D, Bones P, Marsh S (2024) PhoenixMR: a GPU-based MRI simulation framework with runtime-dynamic code execution. Med Phys 51(9):6120–6133. ISSN 0094-2405. https://doi.org/10.1002/mp.17273.
Xanthis CG, Venetis IE, Chalkias AV, Aletras AH (2014) MRISIMUL: a GPU-based parallel approach to MRI simulations. IEEE Trans Med Imaging 33(3):607–617. ISSN 1558-254X. https://doi.org/10.1109/TMI.2013.2292119.
Stöcker T, Vahedipour K, Pflugfelder D, Jon Shah N (2010) High-performance computing MRI simulations. Magn Reson Med 64(1):186–193. ISSN 0740-3194. https://doi.org/10.1002/mrm.22406.
Castillo-Passi C, Coronado R, Varela-Mattatall G, Alberola-López C, Botnar R, Irarrazaval P (2023) KomaMRI.jl: an open-source framework for general MRI simulations with GPU acceleration. Magn Reson Med 90(1):329–342. ISSN 0740-3194. https://doi.org/10.1002/mrm.29635.
Xanthis CG, Aletras AH (2019) coreMRI: a high-performance, publicly available MR simulation platform on the cloud. PLoS ONE 14(5):e0216594. https://doi.org/10.1371/journal.pone.0216594. (PMID: 10.1371/journal.pone.0216594311000746524794)
Liu F, Velikina J, Block W, Kijowski R, Samsonov A (2016) Fast realistic MRI simulations based on generalized multi-pool exchange tissue model. IEEE Trans Med Imaging 1. https://doi.org/10.1109/TMI.2016.2620961.
Baum KG, Menezes G, Helguera M (2011) Simulation of high-resolution magnetic resonance images on the IBM Blue Gene/L Supercomputer Using SIMRI. Int J Biomed Imaging 2011:305968. ISSN 1687-4188. https://doi.org/10.1155/2011/305968.
Strang G (1968) On the construction and comparison of difference schemes. SIAM J Numer Anal 5(3):506–517. ISSN 0036-1429. https://doi.org/10.1137/0705041.
Hindman JC (1966) Proton resonance shift of water in the gas and liquid states. J Chem Phys 44(12):4582–4592. ISSN 0021-9606. https://doi.org/10.1063/1.1726676.
Cook M (2004) Universality in elementary cellular automata. Complex Systems, 15.
Turing AM (1937) On computable numbers, with an application to the Entscheidungsproblem. Proc London Math Soc s2-42(1):230–265. ISSN 0024-6115. https://doi.org/10.1112/plms/s2-42.1.230.
Wolfram S (2002) A new kind of science. No publisher. ISBN UOM:39015058985923.
Brooks R, Matelski JP (1981) The dynamics of 2-generator subgroups of PSL(2, C). Riemann Surfacese and Related Topics (AM-97), pp 65–72. https://doi.org/10.1515/9781400881550-007.
Dewdney AK (1985) Computer recreations: a computer microscope zooms in for a look at the most complex object in mathematics. j-SCI-AMER, 253(2):17–21. ISSN 0036-8733 (print), 1946-7087 (electronic).
Dutta A, Lavrijsen Wim TLP (2016) High-Performance Python-C++ Bindings with PyPy and Cling. 2016 6th Workshop on Python for high-performance and scientific computing (PyHPC), pp 27–35. https://doi.org/10.1109/pyhpc.2016.008.
Stroustrup B (1996) A History of C++: 1979-1991. In: History of Programming Languages-II, pp 699–769. Association for Computing Machinery, New York, NY, USA. ISBN 0201895021. https://doi.org/10.1145/234286.1057836.
Collins DL, Zijdenbos AP, Kollokian V, Sled JG, Kabani NJ, Holmes CJ, Evans AC (1998) Design and construction of a realistic digital brain phantom. IEEE Trans Med Imaging 17(3):463–468. ISSN 1558-254X. https://doi.org/10.1109/42.712135.
Ridgway JP (2010) Cardiovascular magnetic resonance physics for clinicians: part I. J Cardiovasc Magn Reson 12(1):71. ISSN 1532-429X. https://doi.org/10.1186/1532-429X-12-71.
Collins DL, Zijdenbos AP, Kollokian V, Sled JG, Kabani NJ, Holmes CJ, Evans AC (1998) Design and construction of a realistic digital brain phantom. IEEE Trans Med Imaging 17(3):463–468. ISSN 1558-254X. https://doi.org/10.1109/42.712135.
Nsight Compute | NVIDIA Developer | NVIDIA Developer. https://developer.nvidia.com/nsight-compute.
Jurczuk K, Murawski D, Kretowski M, Bezy-Wendling J GPU accelerated simulations of magnetic resonance imaging of vascular structures. https://doi.org/10.1007/978-3-319-32149-3.
Jurczuk K, Kretowski M, Bellanger JJ, Eliat PA, Saint-Jalmes H, Bézy-Wendling J (2013) Computational modeling of MR flow imaging by the lattice Boltzmann method and Bloch equation. Magn Reson Imaging, 31(7):1163–1173. ISSN 0730725X. https://doi.org/10.1016/J.MRI.2013.01.005.
Voronova AK, Grigoriou A, Bernatowicz K, Simonetti S, Serna G, Roson N, Escobar M, Vieito M, Nuciforo P, Toledo R, Garralda E, Fieremans E, Novikov DS, Palombo M, Perez-Lopez R, Grussu F (2025) SpinFlowSim: A blood flow simulation framework for histology-informed diffusion MRI microvasculature mapping in cancer. Med Image Anal 102:103531. ISSN 1361-8415. https://doi.org/10.1016/J.MEDIA.2025.103531 . https://linkinghub.elsevier.com/retrieve/pii/S1361841525000799.
CUDA GPU Compute Capability | NVIDIA Developer. https://developer.nvidia.com/cuda-gpus.
Contributed Indexing: Keywords: Biomedical simulations; CUDA; GPU acceleration; GPU virtual machine; MRI Simulation; Magnetic resonance imaging; Medical imaging simulation
Entry Date(s): Date Created: 20250913 Latest Revision: 20250927
Update Code: 20250927
DOI: 10.1007/s11517-025-03438-3
PMID: 40944862
Datenbank: MEDLINE
Beschreibung
Abstract:Accurate simulation of dynamic biological phenomena, such as tissue response and disease progression, is crucial in biomedical research and diagnostics. Traditional GPU-based simulation frameworks, typically static CUDA <sup>®</sup> environments, struggle with dynamically evolving parameters, limiting flexibility and clinical applicability. We introduce Barracuda, an open-source, lightweight, header-only, Turing-complete virtual machine designed for seamless integration into GPU environments. Barracuda enables real-time parameter perturbations through an expressive instruction set and operations library, implemented in a compact C/CUDA library. A dedicated high-level programming language and Rust-based compiler enhance accessibility, allowing straightforward integration into biomedical simulation workflows. Benchmark validations, including Rule 110 cellular automaton and Mandelbrot computations, confirm Barracuda's versatility and computational completeness. In magnetic resonance imaging (MRI) simulations, Barracuda allows for the dynamic recalculation of critical parameters, such as INLINEMATH relaxation times and temperature-induced off-resonance frequencies. Although it introduces computational overhead compared to static kernels, Barracuda significantly improves simulation accuracy by enabling dynamic modeling of key biological processes. Barracuda's modular architecture supports incremental integration, providing valuable flexibility for biomedical research and rapid prototyping. Future developments aim to optimize performance and expand domain-specific instruction sets, reinforcing Barracuda's role in bridging static GPU programming and dynamic simulation requirements.<br /> (© 2025. The Author(s).)
ISSN:1741-0444
DOI:10.1007/s11517-025-03438-3