Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “software library”

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

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↗

Development of Level of Detail System and First-Person Camera for the GCAS Visualization Suite

The use of data-driven simulations has become standard practice as part of planning for future space missions. These simulations allow visualizing the data interactively to show what the data represents, as well as the importance of the data in the context of the mission. Using this visualized data can enhance users’ understanding of it and accelerate analysis efforts related to missions planned around it. Three-dimensional (3D) visualization software was developed to allow creating 3D representations of various communication systems, as well as the physical terrain of the Moon, for upcoming missions. The goal of this software development effort was to create interactive visualization capabilities in the Glenn Research Center Communication Analysis Suite (GCAS) using data exported from MATLAB® (MathWorks, Inc.) scripts. This software had the functionality to visualize the line of sight and dynamic link margins of the communication satellites orbiting the Earth and the Moon. One important addition to this was the visualization of the terrain data located within the GeoTIFF files, which were produced in an effort to understand the Moon’s terrain. Proper displacement values of this data have to be visualized to showcase where craters are located and how the shadow casting works with said craters at different points of the day, as well as analysis of possible landing sites for future lunar expeditions. The graphics library coded in JavaScript, three.js, had been previously selected for developing this visualization software. The software was revised to conform to modern standards, then further developed to convert the MATLAB® data into JavaScript 3D objects and Blender GL Transmission Format Binary file (GLB) objects, which were to be imported into the scene. In the process, a variety of other testing projects were created to be combined with this project at a later point; these included the first-person camera movements around spherical objects to portray human movement around the Moon, GeoTIFF loading methods, data transfer methods for incorporating the elevation data into the scene, and level of detail (LOD) capabilities to decrease memory usage and rendering time.

Visualization↗

Generalized Support Software: Domain Analysis and Implementation

For the past five years, the Flight Dynamics Division (FDD) at NASA's Goddard Space Flight Center has been carrying out a detailed domain analysis effort and is now beginning to implement Generalized Support Software (GSS) based on this analysis. GSS is part of the larger Flight Dynamics Distributed System (FDDS), and is designed to run under the FDDS User Interface / Executive (UIX). The FDD is transitioning from a mainframe based environment to systems running on engineering workstations. The GSS will be a library of highly reusable components that may be configured within the standard FDDS architecture to quickly produce low-cost satellite ground support systems. The estimates for the first release is that this library will contain approximately 200,000 lines of code. The main driver for developing generalized software is development cost and schedule improvement. The goal is to ultimately have at least 80 percent of all software required for a spacecraft mission (within the domain supported by the GSS) to be configured from the generalized components.

Stark, Mike↗

Concepts and Meta-Programming Library

CAMP provides a portable optimized implementation of template meta-programming primitives. All capabilities found within are available in other open source projects, including metal and mpl among others, but no other library we know of supports all compilers required by LLNL codes. CAMP serves as an efficient facility for writing portable compile-time operations in C++ codes. It was developed as part of the RAJA project to facilitate more complex compile-time introspection and better error message delivery to users, but has since proven useful in Umpire, CHAI and other pre-release LLNL software projects and is thus being re-factored to stand alone. The CAMP library uses portable C++ template mechanisms almost exclusively, with the exception of intrinsics provided for performance by some compilers such as clang and gee. There are no private or protected interfaces and no proprietary information included in the source. Any and all future versions will limit themselves to implementing commonly available and well known primitives for compile-time manipulation of types. A new public github repository will be created to host the code independent of its current location in the raja repository, likely at github.com/llnl/camp.

Kunen, AdamJ.↗

Modeling and investigative studies of Jovian low frequency emissions

Jovian decametric (DAM) and hectometric (HOM) emissions were first observed over the entire spectrum by the Voyager 1 and 2 flybys of the planet. They display unusual arc-like structures on frequency-versus-time spectrograms. Software for the modeling of the Jovian plasma and magnetic field environment was performed. In addition, an extensive library of programs was developed for the retrieval of Voyager Planetary Radio Astronomy (PRA) data in both the high and low frequency bands from new noise-free, recalibrated data tapes. This software allows the option of retrieving data sorted with respect to particular sub-Io longitudes. This has proven to be invaluable in the analyses of the data. Graphics routines were also developed to display the data on color spectrograms.

Menietti, J. D.↗

Enhancements supporting IC usage of PEM libraries on next-gen platforms

This milestone reports on the culmination of several years of effort by multiple PEM support software development teams to provide capabilities for use in LLNL-developed integrated codes on next-gen ASC platforms, including GPU support. We will provide a survey of relevant Application Program Interfaces (API) that are required to support LLNL IC code capability on relevant architectures, with a focus on Sierra and El Capitan. We will identify and summarize all dependencies between PEM supported libraries and IC supported physics codes. We will provide an assessment of algorithmic improvements that have been deployed, as well as future developments that are required to complete the GPU porting efforts. This assessment will include a description of programming models adopted by each of the PEM projects, distinct algorithmic challenges for each of the capabilities, and information about sharing GPU memory between the APIs and host codes. We will develop targeted test problems to assess computational performance. Finally, this milestone will result in identification of gaps in our effort to assist the LLNL ASC program in prioritization of effort for porting software to El Capitan.

97 MATHEMATICS AND COMPUTING↗

Towards Vendor and Operating System Independence of USB-based portable multi-channel analyzers

The nuclear measurements group is called on to develop portable, user friendly systems that performs at, or near, laboratory standards. These systems typically consist of a detector and a USB-based multi-channel analyzer. An ORTEC digi-Base is an example of a USB-based portable multi-channel analyzer with 14-pin photomultiplier tube base for gamma-ray spectroscopy applications with NaI(Tl) and other scintillation detectors. Operating system independence - we want to be able to develop applications that are 'future-proof' and can run on the best hardware for the job: desktop, laptop, tablet, phone, or embedded device. To do that we need our software to be operating system independent. Hardware vendor independence - to use the most appropriate equipment for the job, while still maintaining our rapid method development, we would like our software that uses this equipment to be independent of the specific vendor or model of the hardware. To do that we need a common interface to each vendor's equipment (high voltage, gain, start, stop, clear, etc.) In prior work, we were able to use an existing library to communicate with an ORTEC digi-base via Linux and Android. However the application developed did not have a user friendly front-end. Part of this work was to develop a simple user interface to control the settings of the hardware from Android. While OS independence is the final goal, another goal is standardized software for user-application development. For current purposes those standard systems are Windows 7, Windows 10, and Python 3. Our next step was to develop a common software interface between a front-end user interface and back-end hardware communication software. This was done using Python's Ctypes library. Ctypes is a foreign function library for Python. It provides C compatible data types, and allows calling functions in DLLs or shared libraries. It can be used to wrap these libraries in pure Python. Ctypes exports the cdll, and Windows windll and oledll objects, for loading dynamic link libraries. You load libraries by accessing them as attributes of these objects. cdll loads libraries which export functions using the standard cdecl calling convention. The first steps of developing the common software interface have been done. Once the software interface has been developed the next goal will be to develop hardware specific back-end software that way rapid user facing software can be developed using equipment that is 'on-hand' and once finished prototyping, the 'best' hardware can be chosen for the specific implementation.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

An Initial Investigation of the Design Challenges Associated with Reliable 100GigE Packet Capture

Network security researchers often rely on Emulytics TM to provide a way to evaluate the safety and security of real world systems. This work involves running a large number of virtual machines on a distributed platform to observe how software and hardware will respond to different types of attacks. While Emulytics TM software such as minimega provide a scalable system for conducting experiments, the sheer volume of network traffic produced in an experiment can easily exceed the rate at which data can be recorded for offline analysis. As such, researchers must perform live analytics, narrow their monitoring scope or accept that they must run an experiment multiple times to capture all the information they require. In support of Sandia's commitment to Emulytics TM , we are developing new storage components for the Carlin cluster that will enable researchers to capture significantly more network traffic from their experiments. This report provides a summary of Haoda Wang's initial investigation of how new AMD Epyc storage nodes can be adapted to perform packet capture at 100Gbps speeds with minimal loss. This work found that the NVMe storage capabilities of the Epyc architecture are suitable for capturing 100Gbps Ethernet traffic. While capturing traffic with existing libraries was surprisingly challenging, we were able to develop a DPDK-based software tool that recorded network traffic to disk with minimal packet loss.

97 MATHEMATICS AND COMPUTING↗

Active learning for accelerated design of layered materials

Hetero-structures made from vertically stacked monolayers of transition metal dichalcogenides hold great potential for optoelectronic and thermoelectric devices. Discovery of the optimal layered material for specific applications necessitates the estimation of key material properties, such as electronic band structure and thermal transport coefficients. However, screening of material properties via brute force ab initio calculations of the entire material structure space exceeds the limits of current computing resources. Moreover, the functional dependence of material properties on the structures is often complicated, making simplistic statistical procedures for prediction difficult to employ without large amounts of data collection. Here, we present a Gaussian process regression model, which predicts material properties of an input hetero-structure, as well as an active learning model based on Bayesian optimization, which can efficiently discover the optimal hetero-structure using a minimal number of ab initio calculations. The electronic band gap, conduction/valence band dispersions, and thermoelectric performance are used as representative material properties for prediction and optimization. The Materials Project platform is used for electronic structure computation, while the BoltzTraP code is used to compute thermoelectric properties. Bayesian optimization is shown to significantly reduce the computational cost of discovering the optimal structure when compared with finding an optimal structure by building a regression model to predict material properties. The models can be used for predictions with respect to any material property and our software, including data preparation code based on the Python Materials Genomics (PyMatGen) library as well as python-based machine learning code, is available open source.

36 MATERIALS SCIENCE↗

CommBench: Micro-Benchmarking Hierarchical Networks with Multi-GPU, Multi-NIC Nodes

Modern high-performance computing systems have multiple GPUs and network interface cards (NICs) per node. The resulting network architectures have multilevel hierarchies of subnetworks with different interconnect and software technologies. These systems offer multiple vendor-provided communication capabilities and library implementations (IPC, MPI, NCCL, RCCL, OneCCL) with APIs providing varying levels of performance across the different levels. Understanding this performance is currently difficult because of the wide range of architectures and programming models (CUDA, HIP, OneAPI). We present CommBench, a library with cross-system portability and a high-level API that enables developers to easily build microbenchmarks relevant to their use cases and gain insight into the performance (bandwidth & latency) of multiple implementation libraries on different networks. We demonstrate CommBench with three sets of microbenchmarks that profile the performance of six systems. Our experimental results reveal the effect of multiple NICs on optimizing the bandwidth across nodes and also present the performance characteristics of four available communication libraries within and across nodes of NVIDIA, AMD, and Intel GPU networks.

Hidayetoglu, Mert↗

Zotero Robust Links Extension

The Zotero Robust Links extension automatically creates an archival copy (memento) of the URI of an item ingested into a Zotero library. The extension can also manually be triggered to create mementos. The software also contains a "translator" that enables the export of "robustified" items with Robust Links-enhanced HTML code.

Jones, Shawn↗

Classification of River Catchments in the Contiguous United States: Code, Dataset, Similarity Patterns, and Resulting Classes

This dataset serves as supplementary information for the paper by Ciulla F. and Varadharajan C. A Network Approach for Multiscale Catchment Classification using Traits (see reference 1). It contains environmental and physical catchment traits, such as temperatures, precipitation, land use and human interference, from 9067 sites across the contiguous United States (CONUS). The purpose of this dataset is to provide information for a better trait-based categorization of river catchments in the CONUS using networks as an analytical tool. The traits variables match the ones present in the GAGES-II dataset and the preprocessing steps are described in the Methods section (processed_dataset.csv). Additionally we include the topologies (nodes, edges and clusters, also referred as classes) of the catchment network and traits network generated by said dataset (csv and json files). A series of tables support the information carried by the network providing more detailed descriptions of cluster components (SI1.pdf). A summary of all the plots of clusters of catchments with at least 50 nodes is provided (SI2.pdf). The characteristic traits for each cluster of catchments is presented as z-score (traits_categories_zscores_per_catchment_class.csv). The link to the hydrological behavior of clusters of catchments is displayed by boxplots, each describing a particular river discharge index (SI3.pdf). Both csv and json files can be read by common text editors but the data contained into them can be better handled using programming languages like python and database oriented libraries like pandas. Pdf files can be read by any pdf reader software.[02-23-2024] Update: The code and datasets necessary to reproduce the results of the study are available as a zipped repository (code_datasets_catchments_similarity.zip).

54 ENVIRONMENTAL SCIENCES↗

Porting AMG2013 to Heterogeneous CPU+GPU Nodes

LLNL's future advanced technology system SIERRA will feature heterogeneous compute nodes that consist of IBM PowerV9 CPUs and NVIDIA Volta GPUs. Conceptually, the motivation for such an architecture is quite straightforward: While GPUs are optimized for throughput on massively parallel workloads, CPUs strive to minimize latency for rather sequential operations. Yet, making optimal use of heterogeneous architectures raises new challenges for the development of scalable parallel software, e.g., with respect to work distribution. Porting LLNL's parallel numerical libraries to upcoming heterogeneous CPU+GPU architectures is therefore a critical factor for ensuring LLNL's future success in ful lling its national mission. One of these libraries, called HYPRE, provides parallel solvers and precondi- tioners for large, sparse linear systems of equations. In the context of this intern- ship project, I consider AMG2013 which is a proxy application for major parts of HYPRE that implements a benchmark for setting up and solving di erent systems of linear equations. In the following, I describe in detail how I ported multiple parts of AMG2013 to the GPU (Section 2) and present results for di erent experiments that demonstrate a successful parallel implementation on the heterogeneous ma- chines surface and ray (Section 3). In Section 4, I give guidelines on how my code should be used. Finally, I conclude and give an outlook for future work (Section 5).

97 MATHEMATICS AND COMPUTING↗

Final Report: Quantification of Uncertainty in Extreme Scale Computations (QUEST)

QUEST (\url{www.quest-scidac.org}) is a SciDAC Institute that is focused on uncertainty quantification (UQ) in large-scale scientific computations. Our goals are to (1) advance the state of the art in UQ mathematics, algorithms, and software; and (2) provide modeling, algorithmic, and general UQ expertise, together with software tools, to other SciDAC projects, thereby enabling and guiding a broad range of UQ activities in their respective contexts. QUEST is a collaboration among six institutions (Sandia National Laboratories, Los Alamos National Laboratory, the University of Southern California, Massachusetts Institute of Technology, the University of Texas at Austin, and Duke University) with a history of joint UQ research. Our vision encompasses all aspects of UQ in leadership-class computing. This includes the well-founded setup of UQ problems; characterization of the input space given available data/information; local and global sensitivity analysis; adaptive dimensionality and order reduction; forward and inverse propagation of uncertainty; handling of application code failures, missing data, and hardware/software fault tolerance; and model inadequacy, comparison, validation, selection, and averaging. The nature of the UQ problem requires the seamless combination of data, models, and information across this landscape in a manner that provides a self-consistent quantification of requisite uncertainties in predictions from computational models. Accordingly, our UQ methods and tools span an interdisciplinary space across applied math, information theory, and statistics. The MIT QUEST effort centers on statistical inference and methods for surrogate or reduced-order modeling. MIT personnel have been responsible for the development of adaptive sampling methods, methods for approximating computationally intensive models, and software for both forward uncertainty propagation and statistical inverse problems. A key software product of the MIT QUEST effort is the MIT Uncertainty Quantification library, called MUQ (\url{muq.mit.edu}).

97 MATHEMATICS AND COMPUTING↗

Development of the engineering design integration (EDIN) system: A computer aided design development

The EDIN (Engineering Design Integration) System which provides a collection of hardware and software, enabling the engineer to perform man-in-the-loop interactive evaluation of aerospace vehicle concepts, was considered. Study efforts were concentrated in the following areas: (1) integration of hardware with the Univac Exec 8 System; (2) development of interactive software for the EDIN System; (3) upgrading of the EDIN technology module library to an interactive status; (4) verification of the soundness of the developing EDIN System; (5) support of NASA in design analysis studies using the EDIN System; (6) provide training and documentation in the use of the EDIN System; and (7) provide an implementation plan for the next phase of development and recommendations for meeting long range objectives.

Glatt, C. R.↗

Zemax Modeling of a Self-aligned Focusing Schlieren System with Simulated Compressible Flow

A self-aligned focusing schlieren system is simulated in the ANSYS Zemax OpticStudio software environment. The model uses a custom scatter-defining dynamic link library on the retroreflective background in order to scatter rays in the direction of the incident ray rather than the specular ray. Simulated compressible flow refractive index fields are imported into Zemax by use of the grid gradient object and a workaround to the maximum point limit is introduced. The Ronchi ruling is built as a high resolution bitmap image in MATLAB and set in Zemax as a slide object allowing the bitmap image to either transmit or terminate rays at each line pair. The Zemax simulations are compared to computational numerical schlieren and experimental conventional, path-integrated schlieren results from a hypersonic stagnation point injection flow configuration and an experimental image of a shock wave from a laser-induced breakdown. In the stagnation point injection simulations, the Zemax schlieren images capture complex flow features such as the Mach disk, shear layers, contact surface, and bow shock well, but contains long, curved features (striations) between the model and the bow shock that are not present in the synthetic schlieren image from the CFD or the experimental image. The image from Zemax of the spark-induced shock wave captures the shape and curvature of the shock but appears blurry due to grid discretization in the computational data.

Nicholas A Mejia↗

Structural, Criticality, and Radiation Dose Calculations to Support SNF Loading into a DOE Standard Canister

The DOE Standard Canister Demonstration Project includes the development of an internal support structure (ISS) for the 4.6-m-long and 45.7-cm-diameter canister. This study presents structural evaluations, criticality safety assessments, and dose rate calculations conducted within the scope of the ISS design process to support smooth canister loading operations and to ensure safe storage, transportation, and disposal of Peach Bottom 1 Core II (PB2) and Fort St. Vrain (FSV) SNF, currently stored at INL’s CPP-603 facility. The ISS includes a 316L stainless-steel basket that holds 12 PB2 SNF rods. The PB2 basket rests on top of six individual, 78.7-cm-long, 316L stainless-steel columns that are equally spaced and welded to the inner canister wall at the lower end of the shell. These columns represent the FSV basket and can hold one FSV SNF element. An A92014 T6 aluminum spacer disc is bolted to the bottom plate of the PB2 basket to vertically restrain the FSV SNF element after the PB2 basket is placed inside the canister above the FSV basket. The structural evaluations of the ISS followed applicable ASME BPVC.III.3 guidelines and included finite element (FE) analyses of the PB2 basket structure; analyses of welds and bolds; buckling analyses of selected components, and acceptability assessments of the expected basket deformations under loading operations. The criticality safety assessments used the Monte Carlo N-Particle (MCNP) software architecture Version 6.2, including ENDF/B-V continuous-energy cross-section libraries, considering intact SNF in a single storage overpack or two multistorage overpack configurations and intact or failed SNF configured for disposal. The dose rate computations are based on source terms taken from the DOE Spent Fuel Database. The isotopic composition was decay corrected for the year 2022 using the ORIGEN module in the SCALE suite. A 19-group photon spectrum and a 27-group neutron-source spectrum were generated and used in MCNP to calculate estimated dose-equivalent rates, both on DOE Standard Canister contact and at a radial distance of 1 m from the canister surface. The results of this study indicate a structurally sound system that can uphold its criticality safety functions throughout its intended operational phases. Furthermore, this study provides confidence that sufficient radiological protection is technically achievable.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

CMLM (Co-Optimized Machine-Learned Manifolds) [SWR-23-41]

Co-optimized Machine-Learned Manifolds (CMLM) is a data-driven approach for developing reduced-order manifold models for high-dimensional chemically reacting systems. It involves a specially designed neural network, the training of which simultaneously optimizes linear combinations of species that define the manifold, nonlinear mapping to outputs of interest such as reaction rates, and (optionally) subfilter closure for large eddy simulation. This software package provides an implementation of the CMLM approach in Python using the PyTorch machine learning library. A few example cases are included, showing how the tool can be applied to different types of data from 0D and 1D reacting simulations performed using Cantera. The neural networks can be saved in a format that is readable by the Pele suite of combustion solvers for use in reacting computational fluid dynamics simulations. This software repository contains several python scripts to perform various tasks associated with the Co-optimized Machine Learned Manifolds (CMLM) model, which is described in Perry, Henry de Frahan, and Yellapantula, CNF, 2022 (https://doi.org/10.1016/j.combustflame.2022.112286). This includes not only the code that defines the CMLM model, but also scripts to generate suitable training data, scripts to pre-process the data, scripts to train the CMLM model, and scripts to plot the output, as well as various other helper files. The scripts depend on several commonly used python libraries for data analysis and chemical reaction computations. The trained models that result from this tool are designed to work with the an interface being implemented in the Pele suite of reacting flow solvers (https://github.com/AMReX-Combustion).

Perry, Bruce↗