2024-03-01
ASTRA kernelkit: GPU-accelerated projectors for computed tomography using cupy
Publication
Publication
Applied Mathematics for Modern Challenges , Volume 2 - Issue 1 p. 70- 92
New computed tomography (CT) algorithms are commonly developed in high-level programming languages, such as Python or MATLAB, while low-level languages are used to support their computation-intensive operations. In the past decade, graphics processing units (GPUs) have become the de-facto standard for large parallel computations in areas such as computational imaging, image processing, and machine learning. Our fast-and-flexible CT reconstruction software, ASTRA Toolbox, therefore already implemented tomographic projectors, i.e., the core computational operations modeling the X-ray physics, using NVIDIA CUDA (Compute Unified Device Architecture), a low-level platform for computation on GPUs. However, the Python-C++ language barrier prevents high-level Python users from modifying these low-level projectors, and, as a consequence, research into new tomographic algorithms is more complex and time-consuming than necessary. With the ASTRA KernelKit, we lifted tomographic projectors to Python and leveraged CuPy, a numerical software like NumPy and SciPy that exposes CUDA to Python, to obtain a fine-grained control over their efficiency and implementation. In this article, we introduced our software and illustrated its importance for high-performance and data-driven applications using examples from deep learning, real-time X-ray CT, and kernel tuning.
Additional Metadata | |
---|---|
, , , , , , , , , , , | |
doi.org/10.3934/ammc.2024004 | |
Applied Mathematics for Modern Challenges | |
Mathematics and Algorithms for 3D Imaging of Dynamic Processes | |
Organisation | Computational Imaging |
Graas, A., Palenstijn, W. J., van Werkhoven, B., & Lucka, F. (2024). ASTRA kernelkit: GPU-accelerated projectors for computed tomography using cupy. Applied Mathematics for Modern Challenges, 2(1), 70–92. doi:10.3934/ammc.2024004 |