Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “mathematical libraries”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 649 records · Page 36

Unified Language Frontend for Physic-Informed AI/ML

Artificial intelligence and machine learning (AI/ML) are becoming important tools for scientific modeling and simulation as in several other fields such as image analysis and natural language processing. ML techniques can leverage the computing power available in modern systems and reduce the human effort needed to configure experiments, interpret and visualize results, draw conclusions from huge quantities of raw data, and build surrogates for physics based models. Domain scientists in fields like fluid dynamics, microelectronics and chemistry can automate many of their most difficult and repetitive tasks or improve the design times by use of the faster ML-surrogates. However, modern ML and traditional scientific highperformance computing (HPC) tend to use completely different software ecosystems. While ML frameworks like PyTorch and TensorFlow provide Python APIs, most HPC applications and libraries are written in C++. Direct interoperability between the two languages is possible but is tedious and error-prone. In this work, we show that a compiler-based approach can bridge the gap between ML frameworks and scientific software with less developer effort and better efficiency. We use the MLIR (multi-level intermediate representation) ecosystem to compile a pre-trained convolutional neural network (CNN) in PyTorch to freestanding C++ source code in the Kokkos programming model. Kokkos is a programming model widely used in HPC to write portable, shared-memory parallel code that can natively target a variety of CPU and GPU architectures. Our compiler-generated source code can be directly integrated into any Kokkosbased application with no dependencies on Python or cross-language interfaces.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

UPC++ v1.0 Specification, Revision 2020.3.0

UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

97 MATHEMATICS AND COMPUTING↗

XACC: a system-level software infrastructure for heterogeneous quantum–classical computing

Quantum programming techniques and software have advanced significantly over the past five years, with a majority focusing on high-level language frameworks targeting remote REST library APIs. As quantum computing architectures advance and become more widely available, lower-level, system software infrastructures will be needed to enable tighter, co-processor programming and access models. In this work, we present XACC, a system-level software infrastructure for quantum–classical computing that promotes a service-oriented architecture to expose interfaces for core quantum programming, compilation, and execution tasks. Additionally, we detail XACC's interfaces, their interactions, and its implementation as a hardware-agnostic framework for both near-term and future quantum–classical architectures. We provide concrete examples demonstrating the utility of this framework with paradigmatic tasks. Our approach lays the foundation for the development of compilers, associated runtimes, and low-level system tools tightly integrating quantum and classical workflows.

97 MATHEMATICS AND COMPUTING↗

Harnessing the power of ab initio calculations, distributed computing and machine learning to efficiently locate extreme molecules for use in carbon-based solar cells (Final Technical Report)

The use of high-throughput virtual screening (HTVS) tools is a powerful tool to expedite the materials discovery of commercially relevant materials. In previous years, our group has developed a molecular discovery platform to generate libraries in order to obtain suitable candidates for different applications, starting from the Harvard Clean Energy Project. This platform is suitable to test in-silico on traditional supercomputing clusters and shared resources, for example, in the IBM World Community Grid. In this project, we used the molecular discovery platform to create and screen a library of candidates of organic photovoltaic (OPVs) molecules. Based on a set of candidates created with combinations of molecular moieties, we were able to filter, by conformation stability, the energy of electronic orbitals and approximated power conversion efficiencies (PCE). To improve the predictions of orbital energies calculated and the PCEs, we used Gaussian Process regression and two sets of molecules. These sets correspond to electronic structure calculations of a higher level of theory and experimental PCE values, respectively. Finally, we selected a subset of the best candidates (molecules with a PCE higher than 10%) to understand its absorbance properties with TD-DFT. This project has demonstrated the capabilities of our molecular discovery platform for HTVS. Finally, machine learning can help us to introduce more complex effects included in bulk conditions and computational intensive calculations on models.

14 SOLAR ENERGY↗

Covariance Testing at BNL [Slides]

This presentation discusses testing implemented in FUDGE & ADVANCE in regard to proper ENDF formatting: STAN, STANEF, CHECKR, FUDGE, NJOY, convert to BOXR format, plotting, endfcovreport.py which is an overview of ENDF library’s covariance contents, and covariance Matrix class implements that are the core of all GNDS covariance. Several checks are performed, including symmetric, real, positive definite, condition # of Eigenvalues, and too big uncertainties. The presentation states that it can fix too big and/or small uncertainties and that it can plot matrices. It states that further testing is recommended by CSEWG but has not yet been implemented and suggests methods such as documentation which needs a human to execute, completeness which is partially complete, and reasonableness which has not been started. The presentation concludes by elaborating on reasonableness and states that only cross section is documented, that similar limits on CP reactions cross sections are needed, that maximum limits are needed too which is tricky since ENDF assumes Normal PDFs, and that there may be other observables.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

EOSPAC User's Manual: Version 6.5 Second Edition (Rev. 3)

The EOSPAC utility package is a collection of interface routines, which can be used to access the SESAME data library and perform various data adjustments and interpolations on the SESAME data. The SESAME data library contains both thermodynamic (e.g., equation of state) and transport coefficients (e.g., opacity and conductivity). Note, for simplicity, the term EOS (equation of state) used herein includes both thermodynamic variables and transport coefficients. The EOSPAC utility package is designed to be used by physics codes (henceforth ”host codes”) written in multiple languages and on multiple platforms. The remainder of this manual is organized into several sections. Chapter 2 discusses conventions such as data organization and routine names. Chapter 3 provides a general overview of basic theory and models implemented within EOSPAC. Chapter 4 provides a general overview of how to use the EOSPAC interface library. Chapters 5 to 7 describe the public interfaces of EOSPAC in detail. Chapter 8 provides a brief introduction to some related tools, which may be of use to the user. Chapter 9 provides details related to some selected numerical features of EOSPAC. Chapter 10 gives examples for using the interface routines described in chapters 5 to 7. Chapter 11 provides technical support contact information. Chapter 12 contains a brief set of acknowledgments. Chapter 13 contains a list of referenced documents. Finally, chapter 14 lists the “table types: mnemonic conventions”, “table types: grouped by category, sorted by name”, “table types: eospac version 5 cross reference”, “options: setup phase”, “data information parameters”, “meta-data information parameters”, “options: interpolation phase”, and the “error codes”.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Thermonuclear Burn in a Multiphysics Code on GPUs

Multiphysics codes links to a library called SINGE for the calculation of thermonuclear (TN) burn rates, but some current multiphysics codes do not attempt to leverage the support for parallel operation that SINGE provides. Our goal is to investigate implementations of the SINGE workflow and analyze how the use of a performance portability layer could reduce run time on CPU archi tectures while also supporting GPU architectures without requiring code modifications. We looked to the Kokkos C++ Performance Portability Ecosystem to implement hardware agnostic parallel patterns.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Benchmark Calculation for the Hatch Unit 1 Cycles 1-3 Using the SCALE 6.3/Polaris–PARCS v3.4.2 Code Package

This study was the performance of the benchmark calculation for the Hatch Unit 1 cycles 1–3, to validate the SCALE 6.3/Polaris–PARCS v3.4.2 with the ENDF/B-VII.1 AMPX 56-group library by comparing the simulated results with the measured data. The benchmark results will be used in evaluating uncertainties of the SCALE/Polaris–PARCS code package for boiling water reactor (BWR) physics analysis for key nuclear parameters such as reactivity and assembly power peaking factors. This report details plant and fuel design specifications and input data for SCALE/Polaris, GenPMAXS and PARCS, and additionally, detailed information is provided for all the input and output files produced for the benchmark calculations. The benchmark results were summarized such that they can be used in evaluating uncertainties for key nuclear parameters with other BWR benchmark results.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Benchmark Calculation for BEAVRS Cycles 1 and 2 Using the SCALE 6.3/Polaris–PARCS v3.4.2 Code Package

This study performed the benchmark calculation for BEAVRS to validate the SCALE 6.3/Polaris–PARCS v3.4.2 code package with the ENDF/B-VII.1 56-group library, comparing the simulated results with the measured data. The benchmark results will be used in evaluating uncertainties of the SCALE/Polaris–PARCS code package for pressurized water reactor physics analysis for key nuclear parameters such as reactivity, control bank worth, temperature coefficients, and pin and assembly power peaking factors. This report details plant and fuel design specifications and input data for SCALE/Polaris as well as GenPMAXS and PARCS. Additionally, detailed information is provided for all the input and output files produced for the benchmark calculations. The benchmark results are summarized herein so that they can be used in evaluating uncertainties for key nuclear parameters with other benchmark results.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

UPC++ v1.0 Specification, Revision 2021.9.0

UPC++ is a C++ library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. The key communication facilities in UPC++ are one-sided Remote Memory Access (RMA) and Remote Procedure Call (RPC). All communication operations are syntactically explicit and default to non-blocking; asynchrony is managed through the use of futures, promises and continuation callbacks, enabling the programmer to construct a graph of operations to execute asynchronously as high-latency dependencies are satisfied. A global pointer abstraction provides system-wide addressability of shared memory, including host and accelerator memories. The parallelism model is primarily process-based, but the interface is thread-safe and designed to allow efficient and expressive use in multi-threaded applications. The interface is designed for extreme scalability throughout, and deliberately avoids design features that could inhibit scalability.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

h5bench: A unified benchmark suite for evaluating HDF5 I/O performance on pre‐exascale platforms

Summary Parallel I/O is a critical technique for moving data between compute and storage subsystems of supercomputers. With massive amounts of data produced or consumed by compute nodes, high‐performant parallel I/O is essential. I/O benchmarks play an important role in this process; however, there is a scarcity of I/O benchmarks representative of current workloads on HPC systems. Toward creating representative I/O kernels from real‐world applications, we have created h5bench , a set of I/O kernels that exercise hierarchical data format version 5 (HDF5) I/O on parallel file systems in numerous dimensions. Our focus on HDF5 is due to the parallel I/O library's heavy usage in various scientific applications running on supercomputing systems. The various tests benchmarked in the h5bench suite include I/O operations (read and write), data locality (arrays of basic data types and arrays of structures), array dimensionality (one‐dimensional arrays, two‐dimensional meshes, three‐dimensional cubes), I/O modes (synchronous and asynchronous). In this paper, we present the observed performance of h5bench executed along several of these dimensions on existing supercomputers (Cori and Summit) and pre‐exascale platforms (Perlmutter, Theta, and Polaris). h5bench measurements can be used to identify performance bottlenecks and their root causes and evaluate I/O optimizations. As the I/O patterns of h5bench are diverse and capture the I/O behaviors of various HPC applications, this study will be helpful to the broader supercomputing and I/O community.

97 MATHEMATICS AND COMPUTING↗

MATAR: A performance portability and productivity implementation of data-oriented design with Kokkos

There is a need for simple, fast, and memory-efficient multidimensional data structures for dense and sparse storage that arise with numerical methods and in software applications. The data structures must perform equally well across multiple computer architectures, including CPUs and GPUs. For this purpose, we developed MATAR, a C++ software library that allows for simple creation and use of intricate data structures that is also portable across disparate architectures using Kokkos. Here, the performance aspect is achieved by forcing contiguous memory layout (or as close to contiguous as possible) for multidimensional and multi-size dense or sparse MATrix and ARray (hence, MATAR) types. Our results show that MATAR has the capability to improve memory utilization, performance, and programmer productivity in scientific computing. This is achieved by fitting more work into the available memory, minimizing memory loads required, and by loading memory in the most efficient order. This document describes the purpose of the work, the implementation of each of the data types, and the resulting performance both in some simple baseline test cases and in an application code.

97 MATHEMATICS AND COMPUTING↗

Singe Library Review: XCAP Review Report

Singe is a computational library for simulating thermonuclear reactions written in C++14. It was inspired by the earlier Singe library, developed by Joann Campbell. From the beginning of the Singe project, the goal has been to create a library that provides the necessary functionality, runs efficiently, and is flexible enough to connect to a variety of multi-physics host codes. Such a library allows subject-matter experts to focus on development within the library, while library staff can support host-code staff in integrating Singe into their multi-physics codes. A common library used across multiple multi-physics codes allows those subject-matter experts to roll out new features to all host codes simultaneously, and eases the process of code-to-code comparison between codes that are leveraging the same physics in different ways. The Singe effort was established by Joann Campbell, who provided significant guidance on the goals, requirements, and philosophy of the library. It has been developed by Brendan K. Krueger, CJ Solomon, Jesse Canfield, and Terry Adams, with computer science support from Tyler Reddy and Karen Tsai. Discussions with multiple potential stakeholders have been critical to the planning of such a cross-cutting project, including representatives from multiple host codes and Brian Haines who helped define usage and needs for the inertial confinement fusion (ICF) program. This document is based on the XCAP review process. It is an updated version of the initial document distributed to the reviewers, memo XCP-2:21-005. We want to acknowledge the time and effort of the reviewers who participated in this process: Philipp Edelmann, Alan Harrison, Christopher Malone, Edward Norris, Ryosuke Park, Galen Shipman, CJ Solomon, and any others who may have contributed to the feedback that was provided to us.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Automated qualification data tool for high temperature metallic materials

This report describes a framework for storing, processing, and displaying qualification data for high temperature mechanical properties. The framework automates the process of generating design data from mechanical test results, for example for a data qualification report for the ASME Boiler \& Pressure Vessel Code. The framework has three parts: a data storage model with common formats for several types of typical mechanical property tests, a backend based on the \pycreep Python library for correlating and extrapolating the data to generate design material properties and allowable stresses, and a demonstration user interface for displaying, sorting, and filtering the data and exploring different options for modeling the design mechanical properties. The report discusses the options available for data processing, with illustrations from real test data on Alloy 617, Alloy 709, Alloy 740H, and Laser-Powder Bed Fusion 316H. The framework is complete for ASME type data analysis and will be used to store test data generated by the Department of Energy, Office of Nuclear Energy, Advanced Materials and Manufacturing Technologies sponsored qualification programs. Future work could extend the tool to other types of material properties and/or expand the demo user interface to make it accessible across the AMMT program.

36 MATERIALS SCIENCE↗

SciPy 1.0: fundamental algorithms for scientific computing in Python

SciPy is an open-source scientific computing library for the Python programming language. Since its initial release in 2001, SciPy has become a de facto standard for leveraging scientific algorithms in Python, with over 600 unique code contributors, thousands of dependent packages, over 100,000 dependent repositories and millions of downloads per year. In this work, we provide an overview of the capabilities and development practices of SciPy 1.0 and highlight some recent technical developments.

97 MATHEMATICS AND COMPUTING↗

Recent Updates in ETOE-2 and MC 2 -3

The MC 2 -3 code is a multigroup cross section generation code for fast reactor applications, developed by Argonne National Laboratory (ANL) under the DOE Nuclear Energy Advanced Modeling and Simulation (NEAMS) program. In this work, first, the cross section libraries for ENDF/B-VII.1 and ENDF/B-VIII.0 data were generated using the updated ETOE-2 code. Preliminary verification and validation tests of the ENDF/B-VII.1 MC 2 -3 library were performed with the selected fast reactor benchmark problems. Processing and verifying the libraries suggested that significant efforts would be required for thoroughly verifying the ENDF/B-VII.1 MC 2 -3 library and successfully processing the ENDF/B-VIII.0 MC 2 -3 library. Secondly, the cross section generation capability of MC 2 -3 was updated with the intermediate group lattice calculation and the equivalent Dancoff-factor cell (EDC) method to significantly improve the performance of a twodimensional assembly calculation using the method of characteristics (MOC). This effort was made useful in implementing and verifying the EDC method in the Griffin cross section API. Finally, we analyzed a SFR problem, for which unusually large deviations in core eigenvalues from Monte Carlo solutions were reported, by generating multigroup cross sections with MC 2 -3, performing core calculations with DIF3D-VARIANT, and analyzing cross section and eigenvalue results against Monte Carlo solutions. The analysis confirmed that the MC 2 -3/DIF3D solutions were in good agreement with Monte Carlo solutions, providing the correct process of accurately generating broad-group cross sections with MC 2 -3

97 MATHEMATICS AND COMPUTING↗

Procedure for Creating, Reviewing, and Submitting Input Files into the Benchmark Library

Los Alamos National Laboratory (LANL) has a number of criticality benchmark input files, modeled for use with MCNP, developed and maintained by various organizations including the Nuclear Criticality Safety (NCS) Division, XCP-3, and XCP-5. The purpose of this procedure is to standardize input file creation, review, and maintenance. This procedure incorporates existing practices used by IRSN as documented in the original report and the translation from French in addition to practices used by the LANL NCS Division as documented in. The report relates to input files used for the validation of the continuous energy Monte Carlo code MCNP6 but is general enough to be extended to other codes. This report describes the procedure on how to prepare and use benchmarks (taken mainly from the ICSBEP Handbook) for the validation of calculation routes. In particular, this report describes the procedure to follow in the creation of the input files and their integration in the experimental validation databases.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Impact of Higher Fidelity Design Iterations on Critical System Criteria

Nuclear criticality experiments are effective at informing the performance of nuclear data libraries across many applications. This work explores the implications of refining critical experiment MCNP models from their low fidelity optimization phase to penultimate neutronic models. Specifically, this work is focused on two series of plutonium fueled experiments funded through internal programs at Los Alamos National Laboratory building off previous efforts under the EUCLID (Experiments Underpinned by Computational Learning for Improvements in Nuclear Data) collaboration. Thales, the first of the two collaborations, is a fast spectrum Ta-reflected plutonium experiment to support operations at PF-4. The second experiment are twin configurations designed to target the intermediate energy cross sections in 239 Pu. Motivation for this experiment stems from the PARallel Approach of Differential and InteGral Measurements (PARADIGM) collaboration which hopes to achieve a significant reduction in 239 Pu cross section uncertainties in the intermediate region.

97 MATHEMATICS AND COMPUTING↗