Search NASASearch

SEARCH · Search NASA

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 19 records

ECP libraries and tools: An overview

The Exascale Computing Project (ECP) Software Technology and Co-Design teams addressed the growing complexities in high-performance computing (HPC) by developing scalable software libraries and tools that leverage exascale system capabilities. As we enter the exascale era, the need for reusable, optimized software solutions that can handle the unique challenges posed by these systems becomes increasingly important. The primary challenges the ECP teams faced were to create software libraries and tools that are performant on exascale architectures and portable and usable across diverse hardware platforms. Efforts addressed issues related to concurrent execution, memory management, and the integration of heterogeneous computing resources, such as GPUs from multiple vendors. The ECP’s strategy involved a structured development process encompassing the creation, optimization, and deployment of software in collaboration with industry, academia, and national laboratories. The project was organized into several technical areas: co-design of domain-specific suites with target applications, programming models and runtimes, development tools, mathematical libraries, data and visualization tools, and software ecosystem and delivery mechanisms. ECP has successfully developed a large portfolio of software libraries and tools that demonstrate significant improvements in performance and scalability on exascale systems. These products have been integrated into the Department of Energy’s computing facilities, supporting various scientific applications and ensuring robust performance across different hardware setups. ECP advancements in software development for exascale computing highlight the importance of a collaborative and adaptive approach to handling next-generation HPC systems complexities. The lessons learned emphasize the need for continuous engagement with end-users and vendors, and the importance of maintaining a balance between innovation and practical implementation. Future efforts will focus on ensuring scalability, keeping pace with rapid hardware advancements, and further enhancing the interoperability and usability of the software ecosystem. In conclusion, subsequent articles in this special issue provide in-depth discussions and case studies into specific library and tool efforts.

97 MATHEMATICS AND COMPUTING

Experience with the alpaka performance portability library in the CMS software

ion Library for Parallel Kernel Acceleration) is a header-only C++ library that provides performance portability across different back-ends, abstracting the underlying levels of parallelism. It supports serial and parallel execution on CPUs, and extremely parallel execution on NVIDIA, AMD and Intel GPUs.This contribution will show how alpaka is used in the CMS software to develop and maintain a single code base; to use different toolchains to build the code for each supported back-end, and link them into a single application; to seamlessly select the best backend at runtime, and implement portable reconstruction algorithms that run efficiently on CPUs and GPUs from different vendors. It will describe the validation and deployment of the alpaka-based implementation in the CMS High Level Trigger, and highlight how it achieves near-native performance.

Alawieh, Jaafar [CERN]

T RI M E ++: Multi-threaded triangular meshing in two dimensions

We present T RI M E ++, a multi-threaded software library designed for generating two-dimensional meshes for intricate geometric shapes using the Delaunay triangulation. Multi-threaded parallel computing is implemented throughout the meshing procedure, making it suitable for fast generation of large-scale meshes. Three iterative meshing algorithms are implemented: the DistMesh algorithm, the centroidal Voronoi diagram meshing, and a hybrid of the two. We compare the performance of the three meshing methods in T RI M E ++, and show that the hybrid method retains the advantages of the other two. The software library achieves significant parallel speedup when generating large-scale meshes containing between 10 4 to 10 7 points. T RI M E ++ can handle complicated geometries and generates adaptive meshes of high quality.

97 MATHEMATICS AND COMPUTING

Upper-air soundings collected during the CROCUS Urban Canyons 2024 campaign in Chicago, Illinois USA

Funded by the Department of Energy’s Office of Science, Biological and Environmental Research program, Community Research on Climate and Urban Science (CROCUS) studies urban climate change and the impact it has on communities, with particular focus on disinvested, under-resourced communities. This information leads to new insights on urban climate challenges and informs future actions for mitigating and adapting to climate change at the street, neighborhood and regional levels.As part of the CROCUS effort, the Urban Canyons 2024 project was undertaken to study conditions at unprecedented detail over various neighborhoods in Chicago, Illinois. This dataset consists of upper air soundings that were collected as part of this effort. Soundings were launched during two intensive observing periods, IOP1 occurred on 22-23 July 2024, while IOP2 occurred on 27-28 July 2024. For IOP1, soundings were launched at coordinated times from three sites, Shedd Aquarium in Downtown Chicago, Abizu Campus High School in Humboldt Park, and Gary Comer Youth Center in West Woodlawn. For IOP2, the Gary Comer site was replaced by a neighborhood site in West Woodlawn, Chicago. The Abizu Campos site was operated by Valparaiso University and used iMET-4 rawinsondes, the other sites were operated by the University of Illinois Urbana-Champaign and used GRAW DFM-19 sondes.This dataset contains netCDF files containing quality-controlled temperature, dewpoint, geopotential height, pressure, and vector wind measurements at 1 second intervals following launch. These files are readable by the open-source netCDF software libraries available in many software packages (i.e., python, R, fortran, C++, etc.). The dataset also contains quicklook plots of each launch on a skew-T log-p thermodynamic diagram. These are in png format viewable by most web browsers.

54 ENVIRONMENTAL SCIENCES

FORCE Update 2024

The Framework for Optimization of Resources and Economics (FORCE) tool suite is the U.S. Department of Energy’s Nuclear Integrated Energy Systems (IES) Program flagship tool suite for technoeconomic IES analysis of IES. This tool suite is useful for analysis designed to evaluate and improve the technoeconomics of energy production systems, particularly for systems including nuclear technology. In this report, we document the development activity for the FORCE tool suite to extend its capabilities as performed during fiscal year 2024. In addition to reliability and accessibility, capability is one of the three standards guiding the development of the FORCE tool suite and the software codes that are its constituent parts. Extending the capabilities of the FORCE tool suite allows analysis both within the IES program as well as industry, university, and laboratory partners to perform analysis with more accuracy, insight, and impactful narrative. Four areas of capability development were the focus of activity this year: economic parameter uncertainty quantification, multiresolution analysis, components-to-optimization workflow automation, and statespace construction workflows for real-time optimal control. In economic parameter uncertainty quantification, the ability of HERON to capture risk due to scenarios (weather and energy demand uncertainty) was expanded to also include uncertainties in financial parameters such as capital cost or operation and maintenance costs. By including these sources of uncertainty, which are sometimes very large compared with scenario uncertainty, HERON is better able to capture the risk posed by investment in various IES technology. Because of this, analysts can also consider the reduction in risks that can be realized by choice of some technologies. In multiresolution analysis, development activity extended on work completed previously. In fiscal year 2023, methods for decomposing time series signals, such as demand, solar and wind availability, and price profiles, were analyzed and down-selected to those most effective at splitting signals into different resolutions. These resolutions allow considering the influence of different energy demand and supply behaviors across different time scales. For example, energy demand might be divided into seasonal, weekly, and hourly profiles. In fiscal year 2024, this preliminary work was extended and implemented within the Risk Analysis Virtual Environment (RAVEN) risk and uncertainty analysis platform, which is used throughout the FORCE framework. This development of the “multi-resolution time series analysis” (MR-TSA) module in RAVEN allows training synthetic history generators on complex time series. These synthetic history generators can then be used in HERON for generating scenarios that represent possible market and weather scenarios that can be analyzed on different time scales. We envision completing this work in the future, implementing multiresolution dispatch optimization strategies that can make the most beneficial use of these stratified time histories. In components-to-optimization workflow development, workflows for translating user inputs of components into algorithms for algebraic optimization were selected and implemented. Similar algorithms within the Holistic Energy Resource Optimization Network (HERON) were separated from the main code base of HERON and gathered with the components-to-optimization workflows in the new Dispatch Optimization Variable Engine (DOVE) software library. This modularization allows FORCE users to analyze dispatch optimization and energy system duty cycles independently of HERON, which previously was a burdensome task. Additionally, these dispatch optimization algorithms, set up in an independent library, can now be used across all software applications within FORCE, especially including the real-time optimal control software Optimization of Real-time Capacity Allocation (ORCA). Allowing FORCE software to share dispatch optimization algorithms within a single library allows for improved software maintenance and reliability. In statespace characterization workflow development, alternative workflows for optimizing dispatch with additional technical accuracy was the focus, particularly to improve the real-time optimization decision making in ORCA. Using algorithms and workflows initially developed for the Feasible Actuator Range Modifier (FARM), workflows for determining the statespace representation of IES were identified and demonstrated. The resulting dispatch optimization required a more robust optimization algorithm than that originally used in HERON (and moved to DOVE), which required adding an alternate workflow to DOVE that can more accurately match the behavior of physical systems using a partial differential equation representation. In conclusion, capability developments in the FORCE tool suite in fiscal year 2024 have improved the ability of the FORCE tool suite to perform

29 ENERGY PLANNING, POLICY, AND ECONOMY

WETO Software Stack Best Practices

Wind energy researchers typically share one key characteristic: a passion for increasing wind energy in the global energy mix. The U.S. Department of Energy (DOE) supports this mission in a number of ways including allocating funding directly to various aspects of wind energy research through the Office of Energy Efficiency and Renewable Energy (EERE) via the Wind Energy Technologies Office (WETO). While the traditional output of research is academic publication, software development efforts are increasingly a major focus. Software tools in the research environment allow researchers to describe an idea and quickly increase the scope and scale as they study it further. As a product of research, these tools represent a direct pipeline from researcher to industry practitioners since they are the implementation of ideas described in academic publications. Given this vital role in wind energy research and commercial development, the broad research software portfolio supported by WETO must maintain a minimum level of quality to support the wind energy field in the growing transition to renewable energy. This report outlines a series o f best practices to be adopted by all WETO-supported software projects, as well as expectations that the communities interacting with these projects should have of the developers and tools themselves. Wind energy research software has a unique standing in the field of scientific software. The stakeholders are varied with a subset being: (1) DOE EERE leadership, (2) DOE WETO leadership and program managers, (3) National lab leadership, (4) Associated project principle investigators, (5) Research software engineers, (6) Wind energy researchers in academia (including graduate students, post docs, and national lab staff), (7) Industry researchers and practitioners, (8) Commercial software developers, and (9) The general public interested in wind energy. These software are typically the end-user of other generic software libraries, so the funding cycles are often tied to applied research rather than the development of the software itself. Since the developers are also wind energy researchers, these tools are typically designed in a way that closely resembles the application in which they're used. Additionally, the expertise and incentives for the developers have a high variability, and often neither are aligned with software engineering or computer science. Given the unique environment in which wind energy research software is produced and consumed, it is critical for model owners to understand the context of their software. A framework for developing this understanding is to answer the following questions of a given software project: What is it's purpose? What is its role in the field of wind energy? What is the profile of the expected users? For how long will it be relevant? What is the expected impact? These questions allow model owners to identify the appropriate methods for the design, development, and long term maintenance of their software. Additionally, the answer provide context for future planners to understand why particular decisions were made and discern the consequences of changing course. The information is aggregated from experience within WETO-supported software development groups as well as external organizations and efforts to define the craft of research software engineering. These best practices aim to make the collaborative development process efficient and effective while improving the model understanding across stakeholders. Additionally, the general adoption of a common framework for software quality ensures that the end users of WETO software can trust these tools and accurately understand the risks to workflow integration.

17 WIND ENERGY

Yet Another NLA Library: T-LAPACK

In recent years, Randomized numerical linear algebra (RandNLA) proved to be more than a theoretical novelty: projects like RandLAPACK demonstrate its practical value across architectures, and projects like RandBLAS build trust in randomization as a tool for high-performance NLA. This BoF considers two main questions. First, what are the pressing issues in software standards and implementation that need to be resolved for RandNLA to become a core component of HPC? Second, how can we mobilize a community effort to make progress on these issues? The BoF will engage the audience to discuss the idea of growing the role of RandNLA in high-performance computing and what it would take to scale from niche prototypes to robust, production-quality software libraries.

97 MATHEMATICS AND COMPUTING

Developing and Managing Data Acquisition Software Using Spack

The Data Acquisition systems of particle physics experiments regularly push the boundaries of high-throughput computing, demanding low-latency collection of data from thousands of devices, collating data into time-sliced events, processing these events and making trigger decisions, and writing the selected data streams to disk. To accomplish these tasks, the DAQ Engineering and Operations department at Fermilab leverages multiple software libraries and builds reusable DAQ frameworks on top. These libraries must be delivered in well-defined bundles and are thoroughly tested for compatibility and functionality before being deployed to live detectors. We have several techniques used to ensure that a consistent set of dependencies can be delivered and re-created at need. We must also support active development of DAQ software components, ideally in an environment as close as possible to that of the detectors. This development often occurs across multiple packages which have to be built in concert and features tested in a consistent and reproducible manner. I will present our scheme for accomplishing these goals using Spack environments, bundle packages, and Github Actions-based CI.

Flumerfelt, Eric [Fermilab]

Evaluation of Hardware and Software Bill of Materials (HBOMs/SBOMs) Extraction Methods

Hardware and software bills of materials (HBOMs and SBOMs) provide important visibility into the components, dependencies, and supply chain relationships within programmable digital devices. This visibility is critical for advanced nuclear reactor applications, where use of common or shared hardware components, software libraries, suppliers, or manufacturing processes may create common cause failure (CCF) vulnerabilities despite apparent diversity. This paper evaluates current approaches for obtaining and analyzing HBOMs and SBOMs in support of CCF, diversity and defense-in-depth (D3) assessments, and begins to explore potential methods for artificial intelligence/machine learning-based analysis. The availability of BOM information from advanced reactor manufacturers and vendors, representative hardware and software categories found in advanced reactor systems continues to limit research [13]. This paper compares commonly used BOM formats, including CycloneDX, SPDX, and SWID. It also surveys publicly available tools for generating BOMs from source code, compiled binaries, and hardware-related information, noting limitations in language coverage, system age, and format interoperability. Finally, this paper evaluates methods for correlating BOM data with vulnerability and exploitability information, including VEX, CVE, and CWE resources. The findings indicate that publicly available nuclear-vendor BOMs are limited, making third-party extraction and research into novel analysis techniques necessary.

Cybersecurity

Towards Seamless Interoperability of MPI-OpenMP Applications

A chasm exists between mathematical software libraries written for MPI-based applications and those written for OpenMP applications. Recently, however, PETSc enables the simple use of its MPI-based linear solvers from OpenMP applications. Separately, the MPICH MPI development team has started a new project to allow almost seamless MPI use in OpenMP applications. Both proposed approaches would result in a similar user experience. Here, we discuss the reasons for these projects and their potential for providing more numerical library choices for OpenMP applications, including the unlimited assortment of linear solvers available in PETSc. In addition, we present the performance of an application using the first approach, demonstrating its efficacy.

MPI

Towards Automatically Matching Security Advisories to CPEs: String Similarity-based Vendor Matching

When a vulnerability is reported by the National Vulnerability Database (NVD), affected products are listed in the structured Common Platform Enumeration (CPE) format. Unfortunately, if the vulnerability is in a software library (e.g., Log4j), it will not include CPEs for each product containing that library. In these cases, security operators need to manually read the vendor's or third-party security advisories to see if their product is affected. However, these advisories do not report affected products in a structured format, which prevents automated processing, This paper makes the first effort towards automatically constructing structured CPEs for the vulnerable products in a non-NVD security advisory from the unstructured data in the advisory. Since this is a very challenging problem, this paper specifically focuses on the initial but key step of matching the un-structured vendor names in security advisories to the structured vendor representations in the standard CPE format. We explore the feasibility of using string similarity to solve the problem. The basic idea is to compare a vendor name from the non-NVD advisory with each vendor in the official CPE dictionary. The CPE vendor with the highest similarity score to the advisory's vendor will be considered as the match. We first conduct an experimental, comparative study of multiple mainstream string similarity metrics for this matching problem. To improve the performance, we then design a new string similarity metric that is adapted from an existing metric by weighing different tokens in the advisory's vendor name differently.

McClanahan, Kylie

ORMATEX

The Oak Ridge Matrix Exponential (ORMATEX) software library contains methods to compute the matrix exponential and the action of the matrix exponential on a vector. Additionally, this package contains the related methods for the phi-functions which commonly appear in a wide class of exponential time integration methods. Krylov methods are provided to evaluate the matrix exponential-vector and phi-vector products for cases where the matrix is large and sparse. Utilizing these methods, ORMATEX implements performant exponential integrators for large systems of coupled ordinary differential equations (ODEs). The exponential time integration routines in ORMATEX are particularly suitable to large, stiff systems of equations. These routines may be utilized as a competitive alternative to classical implicit and explicit time integration schemes for certain classes of differential equations where the problem stiffness can be predominately explained by the linear terms.

Gurecky, William [Oak Ridge National Laboratory (O

GenConfig

SAND2025-04091O GenConfig converts a build name into a set of configuration flags or CMake fragment files for use with CMake. This is accomplished using ConfigKeywordParser and two configuration files. GenConfig is the main tool in a set of software libraries used for generating and configuring an environment and configuration flags. The tool uses other modules within the GenConfig family to ultimately parse and enable an environment that is ready for development from a given build name string. The unique algorithms used in GenConfig mainly pertain to validating the format and checking the existence of the given build string in the expected configuration .ini files. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Gates, Jason

RetroTide v1.0

RetroTide is a retrobiosynthesis software tool, designed to guide the design of biological pathways to make valuable small molecules. It takes as input a desired small molecule chemical structure, and outputs a design for a polyketide synthase enzyme (PKS) that has the closest possible chemical structure, as accessible by PKS chemistry. It is developed as a Python software library, and internally performs a search of the PKS design space, while simulating the chemicals produced by each design.

Backman, Tyler

BoBa

BoBa is a C++ software library for working with large matrices, tensors, and tensor decompositions. The library provides tools for dense matrix and tensor operations, tensor decompositions, and tensor decomposition methods that support modern CPU and GPU architectures. It includes portable abstractions for linear algebra, tensor algebra, and multidimensional computation. BoBa is intended for scientific computing applications that involve large multidimensional data sets or high dimensional mathematical models. Its capabilities support tasks such as data compression, linear algebra, efficient numerical computation, and the development of scalable algorithms for heterogeneous hardware. Tutorials, tests, and example applications are included to help users learn and apply the library.

Yao, Jin [Lawrence Livermore National Laboratory (

A Review of the Generic Grid-Forming Model Used by the System Operator in Chile

The objective in this project is to verify the applicability of using generic electro-magnetic transient domain models of GFM technology through a wide range of tests and system conditions proposed by subject matter experts of GFM technology through a wide range of tests and system conditions proposed by subject matter experts. For this study, we used the generic GFM electro-magnetic transient model available in the EMTP (Electromagnetic Transient Program) software library, and we assessed the model’s various GFM capabilities through 12 tests. In this report, we compare the performance of the model with that of an original equipment manufacturer (OEM) GFM model. We also share the key insights and lessons learned from this work.

24 POWER TRANSMISSION AND DISTRIBUTION

Code Coverage Status of the ARC Code PERSENT

The Argonne Reactor Code (ARC) software system supports users in their fast reactor design goals by providing neutronic, thermal-hydraulic, and structural analysis capabilities. PERSENT fulfills the role of generating reactivity coefficients for a given time point of a REBUS calculation usable in a point kinetics based safety analysis capability. PERSENT also provides a sensitivity coefficient capability on eigenvalue, reactivity worth, and several other key coefficients that are used in the follow-on safety analysis. Given a co-variance matrix, PERSENT can carry out the uncertainty quantification to indicate the amount of error in the reactivity coefficients derived from the errors in the cross section measurements. With continued improvement of computational resources, many of the geometry modeling capabilities in DIF3D that were primarily used in low order schemes are not really needed anymore. Today, the diffusion and transport capabilities of DIF3D-VARIANT are primarily used in the reactor design process with some scattered usage of DIF3D-FD and DIF3D-Nodal. PERSENT is part of the ARC code system and is built around DIF3D-VARIANT and the flux solution it provides. The purpose of the present work is to identify a set of test problems for PERSENT and assess the code coverage of PERSENT for those test problems. PERSENT treats the DIF3D executable as an external executable and thus the code coverage considerations only need to focus on the PERSENT source code and only a fraction of the connected modules in the existing ARC software library. The goal is to document what parts of the existing PERSENT code are touched by the set of test problems and which are not. Because the verification work done on PERSENT was focused on the most common uses of PERSENT for fast reactor analysis, the code coverage assessment of those capabilities is the highest priority. This will ensure that nothing is being missed by the existing verification test problems that users of PERSENT rely upon. The code coverage analysis of PERSENT was performed with the Code Coverage Tool of the Intel Fortran compiler which requires modifications to the compilation of PERSENT. The detailed coverage tables are given for each submodule of PERSENT. Most of the uncovered parts/files could be easily ignored because they are either for error message and debugging output or not needed by PERSENT today. Only a few uncovered parts of PERSENT deserve extending the verification test suite.

22 GENERAL STUDIES OF NUCLEAR REACTORS