Search NASA⌕ Search

Engineering topics

Swaminarayan, Sriram

Publications and source records attributed to Swaminarayan, Sriram.

At least 19 records

Singularity-EOS: Performance Portable Equations of State and Mixed Cell Closures

We present Singularity-EOS, a new performance-portable library for equations of state and related capabilities. Singularity-EOS provides a large set of analytic equations of state, such as the Gruneisen equation of state, and tabulated equation of state data under a unified interface. It also provides support capabilities around these equations of state, such as Python wrappers, solvers for finding pressure-temperature equilibrium between multiple equations of state, and a unique modifier framework, allowing the user to transform a base equation of state, for example by shifting or scaling the specific internal energy. All capabilities are performance portable, meaning they compile and run on both CPU and GPU for a wide variety of architectures.

97 MATHEMATICS AND COMPUTING↗

Performance Profiling on CPUs [Slides]

Measure before modification. Use CrayPat or Intel Advisor to find performance bottlenecks. Roofline analysis is easy with intel advisor. Running from the command line will allow you to submit to the job queue and allow you to analyze results later from the front end. It is possible to do collection only on a subset of ranks.

97 MATHEMATICS AND COMPUTING↗

MCNP ® Code V.6.3.0 Release Notes

The Monte Carlo N-Particle ® (MCNP ® ) code is a general-purpose, continuous-energy, generalized geometry, time-dependent, radiation transport code developed by the MCNP development team. The MCNP calculations provide predictive capabilities that can replace expensive or impossible-to perform experiments. Specific application problems include simulations of experimental diagnostics, intrinsic radiation, radiation detection and measurement, criticality safety, nuclear threat reduction and response, radiation health protection, nuclear weapons effects, and nuclear forensics. This MCNP code, version 6.3.0, follows the MCNP6.2.0 version. Since the release of MCNP6.2.0, many changes have been made to the MCNP code. These changes include new or improved features, a new build system, code enhancement and modernization, and bug fixes. The MCNP code, version 6.3.0, theory and user input information is documented in MCNP ® Code Version 6.3.0 Theory & User Manual, the build guidance for various platforms is documented in MCNP ® Code Version 6.3.0 Build Guide, and the verification and validation testing for various application benchmark test suites is documented in MCNP ® Code Version 6.3.0 Verification & Validation Testing.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Parthenon—a performance portable block-structured adaptive mesh refinement framework

On the path to exascale the landscape of computer device architectures and corresponding programming models has become much more diverse. While various low-level performance portable programming models are available, support at the application level lacks behind. To address this issue, we present the performance portable block-structured adaptive mesh refinement (AMR) framework Parthenon, derived from the well-tested and widely used Athena++ astrophysical magnetohydrodynamics code, but generalized to serve as the foundation for a variety of downstream multi-physics codes. Parthenon adopts the Kokkos programming model, and provides various levels of abstractions from multidimensional variables, to packages defining and separating components, to launching of parallel compute kernels. Parthenon allocates all data in device memory to reduce data movement, supports the logical packing of variables and mesh blocks to reduce kernel launch overhead, and employs one-sided, asynchronous MPI calls to reduce communication overhead in multi-node simulations. Using a hydrodynamics miniapp, we demonstrate weak and strong scaling on various architectures including AMD and NVIDIA GPUs, Intel and AMD x86 CPUs, IBM Power9 CPUs, as well as Fujitsu A64FX CPUs. At the largest scale on Frontier (the first TOP500 exascale machine), the miniapp reaches a total of 1.7 × 10 13 zone-cycles/s on 9216 nodes (73,728 logical GPUs) at [Formula: see text] weak scaling parallel efficiency (starting from a single node). In combination with being an open, collaborative project, this makes Parthenon an ideal framework to target exascale simulations in which the downstream developers can focus on their specific application rather than on the complexity of handling massively-parallel, device-accelerated AMR.

97 MATHEMATICS AND COMPUTING↗

Early Performance Results on 4th Gen Intel(R) Xeon (R) Scalable Processors with DDR and Intel(R) Xeon(R) processors, codenamed Sapphire Rapids with HBM

The Crossroads supercomputer was designed to simulate some of the most complex physical devices in the world. These simulations routinely require 1/2 petabyte or more of system memory running on thousands of compute nodes for months at a time on the most powerful supercomputers. Improvements in time to solutions for these workloads can have major impact on our mission capabilities. In this paper we present early results of representative application workloads on 4th Gen Intel Xeon and Intel Xeon Processors codenamed Sapphire Rapids with HBM. These results demonstrate an extremely promising 8.57x improvement (node to node) over our prior generation Intel Broadwell (BDW) based HPC systems. No code modifications were required to achieve this speedup, providing a compelling path forward toward major reductions in time to solution and the complexity of physical systems that can be simulated in the future.

97 MATHEMATICS AND COMPUTING↗

MCNP ® Code Version 6.3.0 Theory & User Manual

This document acts as a repository of knowledge for the Monte Carlo N-Particle (MCNP) transport computer code. It is maintained alongside the source code and attempts to introduce new users and re-familiarize experienced users with the theory and practices of using the MCNP code for the wide range of particle transport analyses that it is appropriate for. The latest version of the MCNP code, version 6.3.0, provides the Monte Carlo particle transport community with the latest feature developments and bug fixes in the MCNP code. The MCNP code version 6.0 and later is also known as the MCNP6 code.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

Spiner: Performance Portable Routines for Generic, Tabulated, Multi-Dimensional Data

We present Spiner, a new, performance-portable library for working with tabulated data. Spiner provides efficient routines for multi-dimensional interpolation and indexing on both CPUs and GPUs—as well as more exotic hardware—including interwoven interpolation and indexing access patterns, as needed for radiation transport. Importantly, Spiner defines a data format, based on HDF5, that couples the tabulated data to the information required to interpolate it, which Spiner can read and move to GPU.

97 MATHEMATICS AND COMPUTING↗

FY21 MCNP ® Updates for the Nuclear Criticality Safety Program [Slides]

LANL has devoted a substantial amount effort toward the MCNP6.3 release over the past year by improving many of their processes, infrastructure, and capabilities. Many new resources in support of the MCNP code and DOE NCSP applications are coming online now. LANL is excited to receive feedback on all of the new and improved capabilities that will be packaged with MCNP6.3.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

PIO Tools

This is a set of utilities for reading and manipulating PIO files written in python and C++. These files are intended to be building blocks for other scripts / programs that will use them to do great things. The PIO format itself is described in LA-UR-05-7425 at page 102 and embodied in code LA-CC-05-052. In addition to reading the raw PIO files, the bundled utilities will expand variable that use a compressed sparse row notation

Swaminarayan, Sriram↗

EAP Patterns

EAP Patterns: Memory access and iteration patterns from the EAP code base with the physics removed. This is intended to be a serial app representing memory access patterns. We will populate the data structures from EAP output files to provide representative patterns of face and cell loops within the EAP code base The arguments to the program are the EAP output file and the number of MPI processors to emulate. Currently there is no MPI in the application and the number of processors represents a means of emulating the halo (clone) cells around the domain of the given processor. An optional argument `processor_ID` can be provided to specify the processor to emulate. In the future we plan to include the ability to run multiple MPI ranks to more accurately represent the on-node demands on memory bandwidth.

Swaminarayan, Sriram↗

Upcoming MCNP6.3 ® Release: New Features and Improvements [Slides]

The latest version of the MCNP6.3 code will be done and released this year. Many new features, substantial improvements, and bugfixes have made their way into the code. Improved documentation, testing, and peripheral tools will also be delivered.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Recent MCNP6 ® Code Developments and Improvements for Nuclear Engineering Applications [Slides]

The Los Alamos MCNP Monte Carlo radiation transport code has been the international gold standard for particle transport applications for over three decades. Many developments to the code have taken place with several significant new feature additions, major improvements, and enhancements to existing features. With significant institutional and programmatic investment in the code since the time of the last public release in 2018, important code development and infrastructure modernization has taken place and remains a high priority for all ongoing efforts across the code development team.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

singularity-opac

singularity-opac is a library for providing a unified interface for opacities, emissivities, and scattering cross-sections for materials and use in simulation codes. It is designed to be performance portable and run on CPU and GPU.

Dolence, Joshua↗