Using Artificial Intelligence Planning Techniques to Automatically Reconfigure Software Modules
One important approach to enhancing software re-use is through the creation of large-scale software libraries.
SEARCH · Search NASA
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.
One important approach to enhancing software re-use is through the creation of large-scale software libraries.
MATAR is a C++ software library to allow developers to easily create and use dense and sparse data representations that are also portable across disparate architectures using Kokkos.
An assessment of a draft AIAA standard for flight dynamics model exchange, ANSI/AIAA S-119-2011, was conducted on behalf of NASA by a team from the NASA Engineering and Safety Center. The assessment included adding the capability of importing standard models into real-time simulation facilities at several NASA Centers as well as into analysis simulation tools. All participants were successful at importing two example models into their respective simulation frameworks by using existing software libraries or by writing new import tools. Deficiencies in the libraries and format documentation were identified and fixed; suggestions for improvements to the standard were provided to the AIAA. An innovative tool to generate C code directly from such a model was developed. Performance of the software libraries compared favorably with compiled code. As a result of this assessment, several NASA Centers can now import standard models directly into their simulations. NASA is considering adopting the now-published S-119 standard as an internal recommended practice.
Batched sparse linear algebra operations in general, and solvers in particular, have become the major algorithmic development activity and foremost performance engineering effort in the numerical software libraries work on modern hardware with accelerators such as GPUs. Many applications, ECP and non-ECP alike, require simultaneous solutions of many small linear systems of equations that are structurally sparse in one form or another. In order to move towards high hardware utilization levels, it is important to provide these applications with appropriate interface designs to be both functionally efficient and performance portable and give full access to the appropriate batched sparse solvers running on modern hardware accelerators prevalent across DOE supercomputing sites since the inception of ECP. To this end, we present here a summary of recent advances on the interface designs in use by HPC software libraries supporting batched sparse linear algebra and the development of sparse batched kernel codes for solvers and preconditioners. We also address the potential interoperability opportunities to keep the corresponding software portable between the major hardware accelerators from AMD, Intel, and NVIDIA, while maintaining the appropriate disclosure levels conforming to the active NDA agreements. The presented interface specifications include a mix of batched band, sparse iterative, and sparse direct solvers with their accompanying functionality that is already required by the application codes or we anticipated to be needed in the near future. This report summarizes progress in Kokkos Kernels and the xSDK libraries MAGMA, Ginkgo, hypre, PETSc, and SuperLU.
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.
V ORO ++ is a software library written in C++ for computing the Voronoi tessellation, a technique in computational geometry that is widely used for analyzing systems of particles. V ORO ++ was released in 2009 and is based on computing the Voronoi cell for each particle individually. Here, we take advantage of modern computer hardware, and extend the original serial version to allow for multithreaded computation of Voronoi cells via the OpenMP application programming interface. We test the performance of the code, and demonstrate that it can achieve parallel efficiencies greater than 95% in many cases. Further, the multithreaded extension follows standard OpenMP programming paradigms, allowing it to be incorporated into other programs. We provide an example of this using the VoroTop software library, performing a multithreaded Voronoi cell topology analysis of up to 102.4 million particles.
The copyrightable material is a set of software whose goal is to explore the use of Monte Carlo methods at extreme processor counts. This will include application software, libraries, middleware, various system software, and possibly compilers and translators
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.
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
A large software team consisting of members with different expertise, skillsets, personalities, ethnicities, and involving collaboration on a large and complex software product presents many technical and cultural challenges, but also provides unique opportunities. In this article, we discuss the essential issues we faced when successfully transforming a collection of various independently developed software libraries into one large integrated product: the eXtreme-scale scientific Software Development Kit (xSDK). Furthermore, we argue it is just as important to pay attention to cultural challenges, such as establishment of reliable communication channels that considers, among others, differences in personalities and backgrounds as well as overcoming geographical separation and time-zone distribution when collaborating, as technical challenges. Finally, we discuss opportunities stemming from participating in a large diverse software team, such as increased internal expertise, variety of skillsets, broadened connections to external experts, and access to a larger pool of ideas or solutions.
ParseGen is a software library that helps users create software that parses, or reads and understand, text file formats. ParseGen is based on formal language theory and is aimed at helping larger software applications read input 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. SAND2021-2714 O
A methodology for implementing parallel DSMC codes in a heterogeneous computing environment is described. The methodology involves the use of a common message-passing software library together with recently developed software that handles the actual interprocessor communications in a standard manner across a variety of computing platforms. Benchmark tests using a simple DSMC model problem were performed on an Intel iPSC/860, a Cray-YMP and a group of Sun workstations. The approach was found to give speedups that scaled linearly with problem size on all the computing platforms tested. This methodology was then incorporated into a production-type DSMC code to allow the simulation of problems that would not otherwise have been practical. The application of this production code to simulations of hypersonic shear flows and shock-lip interactions under near-continuum conditions is described. Synchronous and asynchronous models for implementing parallelism into DSMC simulations are also described and both models are shown to produce the same steady-state result.
In this work, we present a computational tool for mesoscale applications using open-source exascale- computing compatible adaptive-mesh-refinement (AMR) library, AMReX [2]. AMReX is software library that enables development of application solvers with block-structured Cartesian AMR. Our tool has capabilities to include realistic geometry representation, chemical species transport, reactions and thermodynamics that are critical for capturing mesoscale physics. A significant achievement is the ability of our solver to automatically import electron microscopy data in the form of a stereolithography (STL) or pixelated file format (mrc, tiff) without undergoing the tedious task of unstructured mesh generation. This feature allows for rapid simulation of catalyst particles with complex morphologies using an immersed-boundary formulation. The use of AMR allows for higher resolutions at catalyst surface interfaces, which in turn provides an accurate description of surface reactions and transport. Our solver uses a hybrid distributed and shared memory parallelism (OpenMP/GPU-based) with which strong scaling up to 10,000 processors for realistic catalyst particle simulations have been demonstrated.
An updated version of the Platform Independent Software Components for the Exploration of Space (PISCES) software library is available. A previous version was reported in Library for Developing Spacecraft-Mission-Planning Software (MSC-22983), NASA Tech Briefs, Vol. 25, No. 7 (July 2001), page 52. To recapitulate: This software provides for Web-based, collaborative development of computer programs for planning trajectories and trajectory- related aspects of spacecraft-mission design. The library was built using state-of-the-art object-oriented concepts and software-development methodologies. The components of PISCES include Java-language application programs arranged in a hierarchy of classes that facilitates the reuse of the components. As its full name suggests, the PISCES library affords platform-independence: The Java language makes it possible to use the classes and application programs with a Java virtual machine, which is available in most Web-browser programs. Another advantage is expandability: Object orientation facilitates expansion of the library through creation of a new class. Improvements in the library since the previous version include development of orbital-maneuver- planning and rendezvous-launch-window application programs, enhancement of capabilities for propagation of orbits, and development of a desktop user interface.
In this paper we characterize and model the cost of rework in a Component Factory (CF) organization. A CF is responsible for developing and packaging reusable software components. Data was collected on corrective maintenance activities for the Generalized Support Software reuse asset library located at the Flight Dynamics Division of NASA's GSFC. We then constructed a predictive model of the cost of rework using the C4.5 system for generating a logical classification model. The predictor variables for the model are measures of internal software product attributes. The model demonstrates good prediction accuracy, and can be used by managers to allocate resources for corrective maintenance activities. Furthermore, we used the model to generate proscriptive coding guidelines to improve programming, practices so that the cost of rework can be reduced in the future. The general approach we have used is applicable to other environments.
Rapid, efficient production of high-quality, sustainable extreme-scale scientific applications is best accomplished using a rich ecosystem of state-of-the art reusable libraries, tools, lightweight frameworks, and defined software methodologies, developed by a community of scientists who are striving to identify, adapt, and adopt best practices in software engineering. The vision of the xSDK is to provide infrastructure for and interoperability of a collection of related and complementary software elements — developed by diverse, independent teams throughout the high-performance computing (HPC) community — that provide the building blocks, tools, models, processes, and related artifacts for rapid and efficient development of high-quality applications. A primary component, and challenge, of the xSDK is to improve interoperability among software libraries and domain components. This document summarizes the current and planned interoperabilities of the twenty-three xSDK member packages as of March 2021. Additionally, the status of the xSDK example codes that demonstrate and test the interoperabilities within the xSDK is provided.
This software library serves as a Python wrapper for Geotab's Altitude API. It streamlines querying of the API, converts loosely structured API outputs into a standardized tabular data format, and enables analysis of the resulting data tables. It also includes example notebooks showing how to use the library.
A goal of the Ada language standardization effort is to promote reuse of software, implying the existence of substantial software libraries and the storage/retrieval mechanisms to support them. A searching/cataloging mechanism is proposed that permits full or partial distribution of the database, adapts to a variety of searching mechanisms, permits a changine taxonomy with minimal disruption, and minimizes the requirement of specialized cataloger/indexer skills. The important observation is that key words serve not only as indexing mechanism, but also as an identification mechanism, especially via concatenation and as support for a searching mechanism. By deliberately separating these multiple uses, the modifiability and ease of growth that current libraries require, is achieved.