Thread Divergence and Photon Transport on the GPU (U) - LA-UR-13-27057

Monte Carlo methods are commonly used to solve numerically the particle transport problems. A major disadvantage to Monte Carlo methods is the time required to obtain accurate solutions. Graphical Processing Units (GPUs) have increased in use as accelerators for improving performance in high-performance computing. Extracting the best performance from GPUs places requires careful consideration on code execution and data movement. In particular, performance can be reduced if threads diverge due to branching, and Monte Carlo codes are susceptible to branching penalties. We explore different schemes to reduce thread divergence in photonics transport and report on our performance findings.