Proxy-Apps for Neutronics

This page hosts proxy/mini-apps for the neutronics component of CESAR.


The Neutronics proxy apps divided into two very different styles of algorithm:

  • Monte Carlo (MC) Neutron Transport
  • Deterministic Neutron Transport

​The MC neutron transport proxy apps are based on the open source, MC neutron transport application, OpenMC. The deterministic neutron transport proxy apps are based on the deterministic neutron transport application, UNIC.

What is OpenMC?

OpenMC is a Monte Carlo particle transport simulation code focused on neutron criticality calculations. It is capable of simulating 3D models based on constructive solid geometry with second-order surfaces. The particle interaction data is based on ACE format cross sections, also used in the MCNP and Serpent Monte Carlo codes.

OpenMC was originally developed by members of the Computational Reactor Physics Group at the Massachusetts Institute of Technology starting in 2011. Various universities, laboratories, and other organizations (including CESAR) now contribute to the development of OpenMC.

A quick-start guide for OpenMC (including downloading, compilation, and running instructions) is here. The code is also available for download from MIT, accessible via their github page. See the OpenMC website for the in-depth user manual guide and further documentation. For more information, contact John Tramm <>

What is UNIC?

UNIC is a Gordon Bell level code already at the forefront of scalability, with well understood numerical approaches and implementation strategies at the extreme scale. UNIC is a full physics application, and is not currently available for download publicly.

What are the CESAR Monte Carlo Neutronics Mini-Apps?

Within the CESAR  project, we are currently exploring several mini-apps, based on Monte Carlo Neutron Transport (OpenMC) style.

  • XSBench : The XSBench proxy app models the most computationally intensive part of a typical MC transport algorithm - the calculation of macroscopic neutron cross sections - a kernel which accounts for around 85% of the total runtime of OpenMC. The essential computational conditions and tasks of fully featured MC neutron transport codes are retained in the mini-app, without the additional complexity of the full application. This provides a much simpler and more transparent platform for determining performance benefits resulting from a given hardware feature or software optimization.​

​XSBench is available for download from the XSBench github repository.

​​Contact Information : For more information and bug reporting, contact John Tramm <>

Citation Instructions : Papers citing the XSBench proxy app in general should refer to this paper:

J. R. Tramm, A. R. Siegel, T. Islam, and M. Schulz, “XSBench - The Development and Verification of a Performance Abstraction for Monte Carlo Reactor Analysis,” presented at the PHYSOR 2014 - The Role of Reactor Physics toward a Sustainable Future, Kyoto.

  • RSBench : The RSBench proxy app is identical to XSBench in functionality, but utilizes a newer alternative algorithm. RSBench models the "multipole" cross section lookup algorithm, which is far more data efficient (in terms of storage and movement) when compared to XSBench.

​RSBench is available for download from the RSBench github repository.

​​Contact Information : For more information and bug reporting, contact John Tramm <>

Citation Instructions : Papers citing the RSBench proxy app in general should refer to this paper:

J. R. Tramm, A. R. Siegel, B. Forget, and C. Josey, “Performance Analysis of a Reduced Data Movement Algorithm for Neutron Cross Section Data in Monte Carlo Simulations,” presented at the Exascale Applications and Software Conference, Stockholm, 2014.

  • MCCK : The Monte Carlo Communication Kernel (MCCK) mini-app investigates the communication costs of the domain decomposed particle tracking algorithm. Domain decomposition seeks to ameliorate the cross section and fission tally memory burden by restricting each processor's particle tracking to distinct subsets of the domain. Typically employed on distributed memory computers, each processor only tracks particles that move through its physical domain. Particles that leave are exchanged with particles that enter from other processors. While such division of labor leads to significant memory savings, it entails additional network communication. To evaluate the feasibility and challenges of the algorithm on emerging architectures, MCCK presents a stripped-down version of the communication pattern.

In particular, MCCK is built to optionally employ the Memory Aware Data Redistribution Engine (MADRE) library to manage the parallel particle transfers. This open-source C/MPI library can use advanced redistribution algorithms which function in memory bound situations.  MCCK version 1.0 mini app can be downloaded from the this website.

​​Contact Information : For more information and bug reporting, contact Kyle Felker <>

  • EBMS : The Energy Band Memory Server (EBMS) mini-app explores cross section loads using remote server processors on distributed memory platforms. This mini-app is currently under development and is not available for download.

​​Contact Information : For more information, contact Kyle Felker <>

What are the CESAR Deterministic Neutronics Mini-Apps?

We are currently exploring two mini-apps, based on the Deterministic Neutronics algorithmic approach.

  • MOCFE-Bone : This proxy app explores the local exponential + boundary source communication on distributed memory

​​Contact Information : For more information and bug reporting, contact Andrew Siegel <>

  • OpenMOC : This proxy app, which is currently under development, explores local calculation on GPGPU and multi-core machines

​​Contact Information : For more information and bug reporting, contact Tim He <>