Abstract
This article deals with the evaluation of FPGAs resurgence for hardware acceleration applied to computed tomography on the back-projection operator used in iterative reconstruction algorithms. We focus our attention on the tools developed by FPGAs manufacturers, in particular the Intel FPGA SDK for OpenCL, that promises a new level of hardware abstraction from the developer’s perspective, allowing a software-like programming of FPGAs. Our first contribution is to propose an accurate memory benchmark. This is followed by an evaluation of different custom OpenCL implementations of the back-projection algorithm. With some clues on memory fetching and coalescing, we then fine-tune designs to improve performance. Finally, a comparison is made with GPU implementations, and a preliminary conclusion is drawn on the future of FPGAs for computed tomography.
Similar content being viewed by others
Notes
Now Intel FPGA, since Altera’s acquisition in December 28th, 2015
α = G,C,L, or P for Global, Constant, Local, and Private
ND+Backbone is, as explained in Section 6.2.1, not functional since all memory accesses are removed.
References
Arria 10 Device Overview https://www.altera.com/en_US/pdfs/literature/hb/arria-10/arria_10_aib.pdf.
DE1 SoC Device Overview http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=836.
Jetson TX2 specifications https://elinux.org/Jetson_TX2.
OpenCL on FPGAs for GPU Programmers https://www.altera.com/en_US/pdfs/literature/wp/wp-201406-acceleware-opencl-on-fpgas-for-gpu-programmers.pdf.
Titan X Pascal specifications https://www.geforce.com/hardware/desktop-gpus/geforce-gtx-titan-x/specifications.
The International Technology Roadmap For Semiconductors 2.0. Semiconductor Industry Association (2015).
Intel FPGA SDK for OpenCL Best Practices Guide. Intel (2017).
Intel FPGA SDK for OpenCL Programming Guide. Intel (2017).
Abdelfattah, M.S., Hagiescu, A., Singh, D. (2014). Gzip on a chip: High Performance Lossless Data Compression on FPGAs using openCL. International Workshop on openCL.
E.Kinahan, P., & et al. (2004). Emission tomography: the fundamentals of PET and SPECT, chapter Analytic image reconstruction methods. Elsevier Academic Press.
Feldkamp, L.A., Davis, L.C., Kress, J.W. (1984). Practical cone-beam algorithm. Journal of the Optical Society of America A, 1(6), 612–619. https://doi.org/10.1364/JOSAA.1.000612. http://josaa.osa.org/abstract.cfm?URI=josaa-1-6-612.
Gac, N., Mancini, S., Desvignes, M., Houzet, D. (2008). High Speed 3D Tomography on CPU, GPU, and FPGA. EURASIP Journal on Embedded Systems.
Garcia, P., Compton, K., Schulte, M., Blem, E., Fu, W. (2006). An overview of reconfigurable hardware in embedded systems. EURASIP Journal on Embedded Systems.
Geyer, L. L., Schoepf, U. J., Meinel, F. G., Nance, J. W., Bastarrika, G., Leipsic, J. A., Paul, N. S., Rengo, M., Laghi, P. A., Cecco, C.N.D. (2015). State of the Art: Iterative CT Reconstruction Techniques. Journal of Food Processing & Technology.
Heigl, B., & Kowarschik, M. (2007). High-speed reconstruction for c-arm computed tomography. In Proceedings of the 9th international meeting on fully three-dimensional image reconstruction in radiology and nuclear medicine, pp. 25–28.
Iain Goddard, M.T. (2002). High-speed cone-beam reconstruction: an embedded systems approach. https://doi.org/10.1117/12.466946.
Jia, Q., & Zhou, H. (2016). Tuning Stencil Codes in openCL for FPGAs. International Conference Computer Design.
Kachelrie, M., Knaup, M., Bockenbach, O. (2007). Hyperfast parallel-beam and cone-beam backprojection using the cell general purpose hardware. Medical Physics, 34(4), 1474–1486. https://doi.org/10.1118/1.2710328.
Kim, J.K., Fessler, J.A., Zhang, Z. (2012). Forward-projection architecture for fast iterative image reconstruction in x-ray CT. IEEE Transactions on Signal Processing, 60(10), 5508–5518. https://doi.org/10.1109/TSP.2012.2208636.
Leeser, M., & et al. (2005). Parallel-beam backprojection: an FPGA implementation optimized for medical imaging. VLSI SIgnal Processing Systems, 39(3), 295–311.
Lu, H., Cheng, J.H., Han, G., Li, L., Liang, Z. (2001). A 3D distance-weighted Wiener filter for Poisson noise reduction in sinogram space for SPECT imaging. Medical Imaging, Physics of Medical Imaging.
Scherl, H., Keck, B., Kowarschik, M., Hornegger, J. (2007). Fast gpu-based ct reconstruction using the common unified device architecture (cuda). In 2007 IEEE Nuclear science symposium conference record, (Vol. 6 pp. 4464–4466). https://doi.org/10.1109/NSSMIC.2007.4437102.
Shagrithaya, K., Kepa, K., Athanas, P. (2013). Enabling Development of openCL Applications on FPGA platforms. Conference on Application-Specific Systems, Architectures and Processors.
Thurston, M., Nadrljanski, M.M., et al. Computed tomography - radiology reference article. Radiopedia.
Vasilev, S. L., Artemev, A. V., Bakulin, V. N., Yurgenson, S. A. (2016). Testing loaded samples using X-ray computed tomography. Russian Journal of Nondestructive Testing.
Vidhya, M., Varadharaju, N., Kennedy, Z. J., Amirtham, D., Jesudas, D. M. (2015). Applications of X-Ray computed tomography in food processing. RSNA.
Wang, Z., He, B., Zhang, W., Jiang, S. (2016). A Performance Analysis Framework for Optimizing openCL Applications on FPGAs. IEEE International Symposium on High Performance Computer Architecture (HPCA) pp. 114–125.
Wegrzyn, M. (2001). FPGA-Based Logic Controllers for Safety Critical Systems. IFAC Conference on New Technologies for Computer Control.
Xu, F., & Mueller, K. (2005). Accelerating popular tomographic reconstruction algorithms on commodity pc graphics hardware. IEEE Transactions on Nuclear Science, 52(3), 654–663. http://cvc.cs.stonybrook.edu/Publications/2005/XM05.
Xu, J., Subramanian, N., Alessio, A., Hauck, S. (2010). Impulse c vs. vhdl for accelerating tomographic reconstruction. In Proceedings of the 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines, FCCM ’10 (pp. 171–174). Washington: IEEE Computer Society.. https://doi.org/10.1109/FCCM.2010.33
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Martelli, M., Gac, N., Mérigot, A. et al. 3D Tomography Back-Projection Parallelization on Intel FPGAs Using OpenCL. J Sign Process Syst 91, 731–743 (2019). https://doi.org/10.1007/s11265-018-1403-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-018-1403-6