The State of Monte Carlo Neutron Transport: The Role of GPUs and Portable Performance Abstractions

Date and time: 
Monday, December 12, 2016 - 13:00
220 Deschutes
Ryan Bleile
University of Oregon
  • Hank Childs (Chair)
  • Allen Malony
  • Boyana Norris


Since near the beginning of electronic computing, Monte Carlo neutron transport has been a fundamental approach to solving nuclear physics problems. Over the past few decades Monte Carlo transport applications have seen a significant increase in their capabilities and a reduction in time to solution. Research efforts have been focused on areas such as scalability with distributed memory parallelism, load balance with domain decomposition, and variance reduction techniques. In the last few years, however, the landscape has been changing. Due to the high computational demands and inherently parallel nature of these applications, Monte Carlo transport applications are often used in the supercomputing environment. Supercomputers are changing, in that they are becoming increasingly more parallel on a node, with GPGPUs and/or Xeon Phi co-processors powering the bulk of the compute capabilities. In order to fully utilize the new machines' capabilities, it is becoming ever more important to migrate to a many-core perspective of any computing algorithm. Monte Carlo transport applications, like many others, have the potentially difficult task of figuring out how to effectively utilize this new hardware. Many groups have taken the initial steps to look into this problem or have focused their efforts on a sub-problem, such as continuous energy lookups. In other fields, portable performance abstractions are presented as a promising approach to achieve parallelism and portability. These abstractions provide the foundations for applications to write code once and run on any supported platform. This paper describes the state of the art in Monte Carlo neutron transport, with a special emphasis on upcoming architectures.