Using OpenCL to Enable Software-like Development of an FPGA-Accelerated Biophotonic Cancer Treatment Simulator

Tanner Young-Schultz,Lothar Lilge,Stephen Brown,Vaughn Betz
DOI: https://doi.org/10.1145/3373087.3375300
2020-02-23
Abstract:The simulation of light propagation through tissues is important for medical applications, such as photodynamic therapy (PDT) for cancer treatment. To optimize PDT an inverse problem, which works backwards from a desired distribution of light to the parameters that caused it, must be solved. These problems have no closed-form solution and therefore must be solved numerically using an iterative method. This involves running many forward light propagation simulations which is time-consuming and computationally intensive. Currently, the fastest general software solver for this problem is FulMonteSW. It models complex 3D geometries with tetrahedral meshes and uses Monte Carlo techniques to model photon interactions with tissues. This work presents FullMonteFPGACL: an FPGA-accelerated version of FullMonteSW using an Intel Stratix 10 FPGA and the Intel FPGA SDK for OpenCL. FullMonteFPGACL has been validated and benchmarked using several models and achieves improvements in performance (4x) and energy-efficiency (11x) over the optimized and multi-threaded FullMonteSW implementation. We discuss methods for extending the design to improve the performance and energy-efficiency ratios to 16x and 17x, respectively. We achieved these gains by developing in an agile fashion using OpenCL to facilitate quick prototyping and hardware-software partitioning. However, achieving competitive area and performance required careful design of the hardware pipeline and expression of its structure in OpenCL. This led to a hybrid design style that can improve productivity when developing complex applications on an FPGA.
What problem does this paper attempt to address?