Source-linked AI summary
Scalable and massively parallel Monte Carlo photon transport simulations for heterogeneous computing platforms
Leiming Yu, Fanny Nina-Paravecino, David Kaeli, Qianqian Fang
TL;DR
CUDA-based photon-transport codes are largely tied to NVIDIA GPUs, limiting execution on CPUs and other vendors’ processors. This work develops an OpenCL platform with device-level load balancing; it reports average performance improvements across AMD, Intel, and NVIDIA hardware.
Problem
Most GPU-based Monte Carlo photon-transport frameworks use CUDA and cannot run on CPUs or GPUs from other manufacturers.
Source: p. 1Method
The authors generalize their photon-transport platform with OpenCL and develop thread- and device-level workload-balancing strategies.
Source: pp. 1–4Results
56% average performance improvement on AMD GPUs, 20% on Intel CPUs/GPUs, and 10% on NVIDIA GPUs.
Source: p. 4Takeaways & Limitations
MCX-CL makes photon simulations available on modern CPUs, GPUs, and FPGAs, while throughput- and optimization-based partitioning outperform core-based allocation in the tested multidevice comparison.
Source: p. 4OpenCL support varies by vendor: the AMD library supports AMD GPUs and CPUs, while NVIDIA’s OpenCL implementation supports only NVIDIA GPUs; floating-point atomic operations also lack intrinsic support.
Source: p. 2
Abstract
from arXiv · showhide
We present a highly scalable Monte Carlo (MC) three-dimensional photon transport simulation platform designed for heterogeneous computing systems. Through the development of a massively parallel MC algorithm using the Open Computing Language (OpenCL) framework, this research extends our existing graphics processing unit (GPU)-accelerated MC technique to a highly scalable vendor-independent heterogeneous computing environment, achieving significantly improved performance and software portability. A number of parallel computing techniques are investigated to achieve portable performance over a wide range of computing hardware. Furthermore, multiple thread-level and device-level load-balancing strat- egies are developed to obtain efficient simulations using multiple central processing units (CPUs) and GPUs.