Introduction to an MCGIDI Mini-App and Performance Comparisons with XSBench
In high-performance Monte Carlo (MC) radiation transport codes, cross section lookups often account for the majority of computational expens. In response to this observation, a number of nuclear data mini-apps have been developed to profile and optimize the lookup process. A review of these mini-apps can be found in Ref. In contrast to a fully fledged MC code, nuclear data mini-apps do not feature particle tracking; instead, the cross section lookup process is considered in isolation, a simplification that allows for easier implementation and evaluation of various lookup schemes and techniques. GIDI+, as described on its public repository1, is ...a collection of C++ libraries for accessing evaluated and processed nuclear data stored in the Generalized Nuclear Database Structure (GNDS). In addition to reading GNDS files, GIDI+ has functions to sum and collapse multi-group data as needed by deterministic transport codes, and to sample GNDS data as needed by Monte Carlo transport codes. Certain modes of Mercury, a LLNL-developed MC radiation transport code, utilize GIDI+ for cross section lookups. Specifically, Mercury uses the MCGIDI library contained within GIDI+ to perform lookups on GPUs. A mini-app exercising MCGIDI’s cross section lookup capabilities would prove useful for optimization, which in turn could improve the performance of client codes such as Mercury. Such a mini-app could also be used to assess the performance of MCGIDI compared to other nuclear data mini-apps. In this document, we introduce a nuclear data mini-app built with the MCGIDI library. The MCGIDI mini-app (MCGIDI-MA) was developed to closely resemble the methodology present in XSBench, a nuclear data mini-app developed at Argonne National Laboratory. The remainder of this section provides an overview on XSBench. Section 2 describes MCGIDI-MA and its usage. Section 3 contains performance results of MCGIDI-MA on LLNL’s Lassen and Quartz compute platforms, as well as comparisons to XSBench performance where appropriate. In Section 4, we present a summary of our findings.