November 2019

Conference Paper

Enhancing Monte Carlo proxy applications on GPUs

By:
Shriver, Forrest W; Lee, Seyong ; Hamilton, Steven P; Vetter, Jeffrey S; Watson, Justin
Page Number:
30-40
Book Title:
2019 IEEE/ACM Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS)
Publication Date:
November 2019
Publisher Location:
IEEE, New York, United States of America
Conference Name:
10th IEEE International Workshop on Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS 2019)
Conference Location:
Denver, Colorado, United States of America
Conference Sponsor:
IEEE
View DOI Listing:
https://doi.org/10.1109/PMBS49563.2019.00009

Abstract

In Monte Carlo neutron transport simulations, a computational routine commonly known as the ”cross-section lookup” has been identified as being the most computationally expensive part of these applications. A tool which is commonly used as a proxy application for these routines, named ”XSBench”, was created to simulate popular algorithms used in these routines on CPUs. Currently, however, as GPU-based HPC resources have become more widely available, there has been significant interest and efforts invested in moving these traditionally CPU-based simulations to GPUs. Unfortunately, the algorithms commonly used in the cross-section lookup routine were originally devised and developed for CPU-based platforms, and have seen limited study on GPUs to date. Additionally, platforms such as XSBench implement approximations which may have a negligible effect on CPUs, but may be quite impactful to performance on GPUs given the more resource-limited nature of the latter. As a result, we have created VEXS, a new tool for modeling the cross-section lookup routine which removes or at least reduces the approximations made by XSBench in order to provide a more realistic prediction of algorithm performance on GPUs. In this paper, we detail our efforts to remove and reduce these approximations, show the resulting improvement in performance prediction in comparison to a reference production code, Shift, and provide some basic profiling analysis of the resulting application.