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 667 records · Page 37

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↗

High performance sparse multifrontal solvers on modern GPUs

Here, we have ported the numerical factorization and triangular solve phases of the sparse direct solver STRUMPACK to GPU. STRUMPACK implements sparse LU factorization using the multifrontal algorithm, which performs most of its operations in dense linear algebra operations on so-called frontal matrices of various sizes. Our GPU implementation off-loads these dense linear algebra operations, as well as the sparse scatter–gather operations between frontal matrices. For the larger frontal matrices, our GPU implementation relies on vendor libraries such as cuBLAS and cuSOLVER for NVIDIA GPUs and rocBLAS and rocSOLVER for AMD GPUs. For the smaller frontal matrices we developed custom CUDA and HIP kernels to reduce kernel launch overhead. Overall, high performance is achieved by identifying submatrix factorizations corresponding to sub-trees of the multifrontal assembly tree which fit entirely in GPU memory. The multi-GPU setting uses SLATE (Software for Linear Algebra Targeting Exascale) as a modern GPU-aware replacement for ScaLAPACK. On 4 nodes of SUMMIT the code runs ~10X faster when using all 24 V100 GPUs compared to when it only uses the 168 POWER9 cores. On 8 SUMMIT nodes, using 48 V100 GPUs, the sparse solver reaches over 50TFlop/s. Compared to SuperLU, on a single V100, for a set of 17 matrices our implementation is faster for all but one matrix, and is on average 5X (median 4X) faster

97 MATHEMATICS AND COMPUTING↗

MemHC: An Optimized GPU Memory Management Framework for Accelerating Many-body Correlation

The many-body correlation function is a fundamental computation kernel in modern physics computing applications, e.g., Hadron Contractions in Lattice quantum chromodynamics (QCD). This kernel is both computation and memory intensive, involving a series of tensor contractions, and thus usually runs on accelerators like GPUs. Existing optimizations on many-body correlation mainly focus on individual tensor contractions (e.g., cuBLAS libraries and others). In contrast, this work discovers a new optimization dimension for many-body correlation by exploring the optimization opportunities among tensor contractions. More specifically, it targets general GPU architectures (both NVIDIA and AMD) and optimizes many-body correlation’s memory management by exploiting a set of memory allocation and communication redundancy elimination opportunities: first, GPU memory allocation redundancy: the intermediate output frequently occurs as input in the subsequent calculations; second, CPU-GPU communication redundancy: although all tensors are allocated on both CPU and GPU, many of them are used (and reused) on the GPU side only, and thus, many CPU/GPU communications (like that in existing Unified Memory designs) are unnecessary; third, GPU oversubscription: limited GPU memory size causes oversubscription issues, and existing memory management usually results in near-reuse data eviction, thus incurring extra CPU/GPU memory communications.

97 MATHEMATICS AND COMPUTING↗

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

The benchmark calculations were performed for Surry Unit 1 cycles 1–3 to validate the SCALE 6.3/Polaris–Purdue Advanced Reactor Core Simulator (PARCS) v3.4.2 with the ENDF/B–VII.1 56–group library by comparing the simulated results with the measured data. The benchmark results will be used to evaluate 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, GenPMAXS, and PARCS. Additional details are provided for the input and output files produced for the benchmark calculations. The benchmark results were summarized such that they can be used in evaluating uncertainties with other benchmark results for key nuclear parameters.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

UPC++ v1.0 Programmer’s Guide, Revision 2020.10.0

UPC++ is a C++11 library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. However, PGAS also provides access to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ provides numerous methods for accessing and using global memory. In UPC++, all operations that access remote memory are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all remote-memory access operations are by default asynchronous, to enable programmers to write code that scales well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

Automated Energy-Dispersive X-ray Spectroscopy Analysis for Multi-Modal Few-Shot Learning

Scanning transmission electron microscopy (STEM) is a powerful tool that allows for the atomic-scale analysis of a materials’ structure, chemistry, and defect domains (Akers et al. 2021). The current generation of microscopes generate vast amounts of data, surpassing the limits of effective manual analysis traditionally performed by domain experts (Spurgeon et al. 2021). While recent strides in machine learning have significantly enhanced the processing of large and intricate datasets acquired through electron microscopy, the prevalent use of proprietary software packages for initial data collection poses a challenge. In many cases, these software packages act as a ‘black box’, constraining user functionality and hindering the output of data in a format that is conducive to seamless integration into machine learning models. This work addresses these challenges by adapting HyperSpy, an open-source Python library, for the analysis and quantification of raw energy dispersive spectroscopy (EDS) data acquired through STEM. The modified HyperSpy code successfully facilitates user-defined segmentation of the data, enabling the integration of atomic %, weight %, and raw EDS spectra for each segmented region into an existing few-shot machine learning model. While initial results reveal discrepancies in quantified atomic and weight percentages when compared to proprietary software, ongoing efforts aim to rectify this issue by refining the fit of the HyperSpy model to the EDS spectra. Overall, this research underscores the potential of open-source tools like HyperSpy to enhance the accessibility of analytical tools, fostering a transparent and user-friendly environment for seamlessly incorporating electron microscopy data into machine learning models.

36 MATERIALS SCIENCE↗

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

In this study, benchmark calculations were performed for Peach Bottom Unit 2 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 to evaluate uncertainties of the SCALE/Polaris–PARCS code package for boiling water reactor 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. 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 to evaluate uncertainties with other benchmark results for key nuclear parameters.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

UPC++ v1.0 Programmer’s Guide, Revision 2020.3.0

UPC++ is a C++11 library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. However, PGAS also provides access to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ provides numerous methods for accessing and using global memory. In UPC++, all operations that access remote memory are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all remote-memory access operations are by default asynchronous, to enable programmers to write code that scales well even on hundreds of thousands of cores.

97 MATHEMATICS AND COMPUTING↗

Continued Validation Studies using the MOOSE Framework for Plasma Simulation with Electromagnetics

Resources and tools for the modeling and simulation of low-temperature plasma (LTP) discharges are increasingly vital to progress in the field in order to properly characterize and study complex source designs and plasma chemistries beyond the scope of traditional diagnostics. Open-source software provides powerful platforms for this work and can enable community-driven LTP R&D. Within the Multiphysics Object-Oriented Simulation Environment (MOOSE) open-source framework [1], capabilities have been demonstrated in the areas of plasma fluids (Zapdos [2]), plasma chemistry (CRANE [3]), and general electromagnetic wave theory (Electromagnetic Library for Kinetics & fluids [ELK] [4]). ELK has since been coupled to Zapdos/CRANE to enable fully coupled electromagnetic plasma simulations. This talk will detail the continued validation efforts and discuss Zapdos-ELK-CRANE code coupling with various-low temperature plasma sources. The impact of fully coupled electromagnetics on process parameters (e.g., temperature and electron/ion energy) versus an electrostatic description will also be discussed. [1] Permann et al., SoftwareX, 11 (2020) 100430. [2] Lindsay et al., J. Phys. D: Appl. Phys. 49 (2016) 235204. [3] Keniley et al., Talk, GEC Session DT3.00002 (2019). [4] Icenhour et al., Talk, GEC Session RR1.00006 (2019). Acknowledgements: INL Graduate Fellowship Program, NSF SI2 Grant 1740300, U.S. Dept. of Energy Office of Science Graduate Student Research Program

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Implementation of Charged Particle Behavior in Discrete Element Method (DEM) Simulations

Lunar landers will agitate the surface of the Moon with an exhaust plume during descent which will, due to the particulate nature of the lunar regolith, loosen and eject grains from the surface. This ejection is not only coupled with the charged plume gas, but also results in significant particle-particle interactions. Settling of these grains after plume effects have subsided takes much longer than expected in a ballistic trajectory. The prevailing hypothesis attributes this behavior to the accumulated charge on the particles. We are thus developing a discrete element method (DEM) approach to explore these charged particle interactions on the lunar surface. The Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) Improved for General Granular and Granular Heat Transfer Simulations (LIGGGHTS) software package provides a DEM modeling framework for granular interactions. It includes many complexities such as non-spherical particle shapes, cohesion and frictional forces, and heat transfer, but has no provision for inter-particle electrostatic forces and charge transfer that are important to examine in the lunar environment. In this work, a standard Coulomb potential and a Yukawa potential are integrated into the LIGGGHTS framework to provide a basis for particle-particle electrostatic interactions, as well as a gravitational potential to enable inter-grain gravitational interactions. A preliminary approach to charge transfer between grains incorporating properties such as work function and electrical conductivity to the library of available material characteristics will be presented. Several scenarios have been simulated that include charged particle interactions within a diffuse granular gas, settling of charged grains into a regolith bed, sliding of granular material along an incline, and vibration of settled grains to produce a behavior similar to fluidization. There are numerous challenges to incorporate realistic interactions between complex lunar particles. Currently, grains are modeled to behave as if the entirety of the charge acts at the center of mass, such as conductors with spherical symmetry and insulators with homogeneously distributed charge. We are developing improvements that will include the use of non-spherical particle geometries, as well as reasonable approximations of insulating/dielectric materials that have non-uniform charge distributions. The cases simulated thus far will be examined in a relevant environment within a vacuum chamber to validate the simulations. These simulations will be bounded by experiments utilizing high-speed camera observations of the motion for validation. The grains in the experiment will exchange charge during their motion and this can be quantified by collection within a charge measurement device such as a Faraday cup. Such a device may be modeled within the software by defining an integration region and computing the contained charge as a function of simulation time, allowing for side-by-side comparison of simulated and measured bulk charging results. Any differences will be reconciled by updating the mathematical mechanisms described within the simulation suite. Successfully combining results from experiments within a relevant environment into the LIGGGHTS framework will improve modeling of the charged grain dynamics experienced on the Moon to provide insights into dust behavior for future lunar exploration missions.

Electrostatics↗

MILK : a Python scripting interface to MAUD for automation of Rietveld analysis

Modern diffraction experiments ( e.g. in situ parametric studies) present scientists with many diffraction patterns to analyze. Interactive analyses via graphical user interfaces tend to slow down obtaining quantitative results such as lattice parameters and phase fractions. Furthermore, Rietveld refinement strategies ( i.e. the parameter turn-on-off sequences) tend to be instrument specific or even specific to a given dataset, such that selection of strategies can become a bottleneck for efficient data analysis. Managing multi-histogram datasets such as from multi-bank neutron diffractometers or caked 2D synchrotron data presents additional challenges due to the large number of histogram-specific parameters. To overcome these challenges in the Rietveld software Material Analysis Using Diffraction ( MAUD ), the MAUD Interface Language Kit ( MILK ) is developed along with an updated text batch interface for MAUD . The open-source software MILK is computer-platform independent and is packaged as a Python library that interfaces with MAUD . Using MILK , model selection ( e.g. various texture or peak-broadening models), Rietveld parameter manipulation and distributed parallel batch computing can be performed through a high-level Python interface. A high-level interface enables analysis workflows to be easily programmed, shared and applied to large datasets, and external tools to be integrated with MAUD . Through modification to the MAUD batch interface, plot and data exports have been improved. The resulting hierarchical folders from Rietveld refinements with MILK are compatible with Cinema: Debye–Scherrer , a tool for visualizing and inspecting the results of multi-parameter analyses of large quantities of diffraction data. In this manuscript, the combined Python scripting and visualization capability of MILK is demonstrated with a quantitative texture and phase analysis of data collected at the HIPPO neutron diffractometer.

97 MATHEMATICS AND COMPUTING↗

Monte Carlo Simulation with CAD Interface for Calculation of 3D Maps of Residual Dose (CRADA)

Objective: To develop an easy-to-use software application to predict and mitigate radiation effects in research environment, space instruments, nuclear plants and medical facilities and help nonproliferation and national security efforts. Tech-X will develop standalone software libraries and command-line tools for ( 1) translating CAD into tessellated surfaces and tetrahedral meshes in GDML (for Geant4 and MARS 15), ROOT (for MARS 15) and HDF5 (for compact representation and for the visualization) formats, (2) healing CAD geometries to make them suitable for Monte Carlo simulations; (3) creating uniform and variable Cartesian and cylindrical meshes for detailed scoring; and ( 4) efficient Monte Carlo navigation in CAD geometries. JLAB will finish automation of simulations of residual dose in CAD geometries and integrate Tech-X software into Geant4 and MARS15. Finally, Tech-X will develop a Graphical User Interface to set up and heal CAD geometries, create input files, run and visualize simulations for residual dose. This application will run on local desktops, local and remote clusters and supercomputers and will be made available through public clouds, such as Amazon Web Services.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Fast GPU 3D diffeomorphic image registration

3D image registration is one of the most fundamental and computationally expensive operations in medical image analysis. Here, we present a mixed-precision, Gauss–Newton–Krylov solver for diffeomorphic registration of two images. Our work extends the publicly available CLAIRE library to GPU architectures. Despite the importance of image registration, only a few implementations of large deformation diffeomorphic registration packages support GPUs. Our contributions are new algorithms to significantly reduce the run time of the two main computational kernels in CLAIRE: calculation of derivatives and scattered-data interpolation. Additionally, we deploy (i) highly-optimized, mixed-precision GPU-kernels for the evaluation of scattered-data interpolation, (ii) replace Fast-Fourier-Transform (FFT)-based first-order derivatives with optimized 8th-order finite differences, and (iii) compare with state-of-the-art CPU and GPU implementations. As a highlight, we demonstrate that we can register clinical images in less than 6 s on a single NVIDIA Tesla V100. This amounts to over 20 speed-up over the current version of CLAIRE and over 30 speed-up over existing GPU implementations.

97 MATHEMATICS AND COMPUTING↗

A Quantum-Based Approach to Predict Primary Radiation Damage in Polymeric Networks

Initial atomistic-level radiation damage in chemically reactive materials is thought to induce reaction cascades that can result in undesirable degradation of macroscale properties. Ensembles of quantum-based molecular dynamics (QMD) simulations can accurately predict these cascades, but extracting chemical insights from the many underlying trajectories is a labor-intensive process that can require substantial a priori intuition. We develop here a general and automated graph-based approach to extract all chemically distinct structures sampled in QMD simulations and apply our approach to predict primary radiation damage of polydimethylsiloxane (PDMS), the main constituent of silicones. A postprocessing protocol is developed to identify underlying polymer backbone structures as connected components in QMD trajectories. Furthermore, these backbones form a repository of radiation-damaged structures. A scheme for extracting and updating a library of isomorphically distinct structures is proposed to identify the spanning set and aid chemical interpretation of the repository. The analyses are applied to ensembles of cascade QMD simulations in which the four element types in PDMS are selectively excited in primary knock-on atom events. Our approach reveals a much higher degree of combinatorial complexity in this system than was inferred through radiolysis experiments. Probabilities are extracted for radiation-induced network changes including formation of branch points, carbon linkages, cycles, bond scissions, and carbon uptake into the Si–O siloxane backbone network. The general analysis framework presented here is readily extendable to modeling chemical degradation of other polymers and molecular materials and provides a basis for future quantum-informed multiscale modeling of radiation damage.

36 MATERIALS SCIENCE↗

RANGE: A robust adaptive nature-inspired global explorer of potential energy surfaces

With the growing demand for realistic representations of chemical structures and the advent of exascale computing, the intelligent sampling of potential energy surfaces and efficient identification of global minima have become more essential but also more feasible. Building on prior studies demonstrating the efficiency of the Artificial Bee Colony (ABC) swarm intelligence algorithm, we report a hybrid metaheuristic framework that integrates the adaptive exploration capabilities of ABC coupled with the exploitation strengths of genetic algorithms (GA) in a scalable, Python-based implementation. The resulting tool, RANGE (Robust Adaptive Nature-inspired Global Explorer), provides seamless interfaces to multiple potential energy evaluators, either directly or via widely used Python libraries, and is designed for high-performance computing environments. We describe the implementation details of RANGE and evaluate its performance, relative to ABC- or GA-alone based algorithms, on a variety of chemical systems, including molecular clusters and heterogeneous surfaces. In conclusion, our results demonstrate RANGE’s efficiency, robustness, and broad applicability in addressing challenging global optimization problems in computational chemistry and materials science.

Algorithms and data structure↗

CORAL: A framework for rigorous self-validated data modeling and integrative, reproducible data analysis

Abstract Background Many organizations face challenges in managing and analyzing data, especially when relevant datasets arise from multiple sources and methods. Analyzing heterogeneous datasets and additional derived data requires rigorous tracking of their interrelationships and provenance. This task has long been a Grand Challenge of data science and has more recently been formalized in the FAIR principles: that all data objects be Findable, Accessible, Interoperable, and Reusable, both for machines and for people. Adherence to these principles is necessary for proper stewardship of information, for testing regulatory compliance, for measuring the efficiency of processes, and for facilitating reuse of data-analytical frameworks. Findings We present the Contextual Ontology-based Repository Analysis Library (CORAL), a platform that greatly facilitates adherence to all 4 of the FAIR principles, including the especially difficult challenge of making heterogeneous datasets Interoperable and Reusable across all parts of a large, long-lasting organization. To achieve this, CORAL's data model requires that data generators extensively document the context for all data, and our tools maintain that context throughout the entire analysis pipeline. CORAL also features a web interface for data generators to upload and explore data, as well as a Jupyter notebook interface for data analysts, both backed by a common API. Conclusions CORAL enables organizations to build FAIR data types on the fly as they are needed, avoiding the expense of bespoke data modeling. CORAL provides a uniquely powerful platform to enable integrative cross-dataset analyses, generating deeper insights than are possible using traditional analysis tools.

97 MATHEMATICS AND COMPUTING↗

Performance Results on CPU/GPU Exascale Architectures for OMEGA: The Ocean Model for E3SM Global Applications

The US Department of Energy (DOE) conducts climate simulations on some of the world’s largest supercomputers. These exascale machines use heterogeneous architectures with both CPUs and GPUs, and scientific codes must adapt to make full use of this computing power. Los Alamos National Lab is developing Omega: The Ocean Model for E3SM Global Applications, which is specifically designed for modern exascale computers. It uses external libraries that have been optimized for a variety of architectures to run on different supercomputers. Omega is an unstructured-mesh ocean model based on TRiSK numerical methods. It will be the new ocean component of the DOE’s Energy Exascale Earth System Model (E3SM). The algorithms in Omega follow those of the current ocean component, MPAS-Ocean, but it will be written in C++ rather than Fortran to take advantage of the Kokkos performance portability library. Omega spatial operators are written as Kokkos kernels to run efficiently on both CPUs and GPUs. Work on Omega began in 2023 with a new C++ framework for unstructured mesh partitioning, halo exchanges, parallel IO, and Kokkos interfaces. The current version, Omega-0, is being developed to solve the shallow water equations and at present includes all of the tendency terms but not time stepping. Here we share the results of Omega-0 verification and performance testing. Verification includes unit tests implemented with CTest as well as convergence tests in Polaris, an in-house python package with a large suite of test problems. Performance tests compare simulations conducted on CPUs versus GPUs and across different architectures: tests are run on Frontier, which has AMD “Optimized 3rd Gen EPYC” CPUs and AMD MI250X GPUs, as well as Perlmutter, which is composed of AMD EPYC 7763 CPUs and NVIDIA A100 GPUs.

58 GEOSCIENCES↗

UMap: An application-oriented user level memory mapping library

Exploiting the prominent role of complex memories in exascale node architecture, the UMap page fault handler offers new capabilities to access large memory-mapped data sets directly. UMap provides flexible configuration options to customize page handling to each application, including analysis of massive observational and simulation data sets. The high-performance design features I/O decoupling, dynamic load balancing, and application-level controls. Page faults triggered by application threads and processes accessing data mapped to a UMapp’ed region are handled via the Linux userfaultfd protocol, an asynchronous message-oriented kernel-user communication mechanism that avoids the context switch penalty of traditional signal fault handlers. UMap is fully open source. In this paper, we give an overview of the UMap library architecture, its extensible plugin architecture, and the use/performance of UMap in emerging heterogeneous memory hierarchies such as near-node Non-volatile Memory (NVM) and network attached memories. We highlight new capabilities in two pagefault management plugins, the NetworkStore and SparseStore. We demonstrate the integration between UMap and multiple ECP products including Caliper, Metall, ZFP, Mochi, and Ripples.

97 MATHEMATICS AND COMPUTING↗