Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Programming Framework”

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

Software Defined Architectures for Portability and Performance

The Software Defined Architectures for Portability and Performance (SODAPOP) project developed a co-design framework to partition and map converged applications on specialized heterogeneous architectures. We started from key domain applications that combine scientific simulation with data analytics and machine learning as drivers to integrate our framework. The framework includes high-level compilers that interfaces with high-level programming frameworks, domain-specific optimization passes, and hardware-oriented optimizations. The framework leverages hardware generators to enable specialization and facilitate exploration of custom system designs.

97 MATHEMATICS AND COMPUTING↗

Applicative architectures for fault-tolerant multiprocessors

This paper proposes functional programming frameworks for the design of highly reliable multiprocessor systems. In contrast to imperative programming environments, a functional environment offers elegant, relatively simple, and efficient solutions to concurrent error detection and recovery problems in multiprocessors. Specific fault tolerance mechanisms for upset exposure, fault containment, secure task assignment, and recovery are developed for a class of applicative multiprocessor architectures. Verification of abstract behavioral characteristics of applicative tasks is used for exposing faults during the execution of tasks. The fault containment mechanism is based on isolation of stack and heap segments of tasks. A protocol for secure task assignment is defined between system components. The architecture permits incremental, distributed, and asynchronous backups of system state. Finally, recovery is accomplished, even in the worst cases, by reexecution of a small number of tasks.

Sharma, Madhumitra↗

NASA scientific and technical information program multimedia initiative

This paper relates the experiences of the NASA Scientific and Technical Information Program in introducing multimedia within the STI Program framework. A discussion of multimedia technology is included to provide context for the STI Program effort. The STI Program's Multimedia Initiative is discussed in detail. Parallels and differences between multimedia and traditional information systems project development are highlighted. Challenges faced by the program in initiating its multimedia project are summarized along with lessons learned. The paper concludes with a synopsis of the benefits the program hopes to provide its users through the introduction of multimedia illustrated by examples of successful multimedia projects.

Cotter, Gladys A.↗

STI Program Multimedia Initiative

This paper relates the experience of the NASA Scientific and Technical Information Program in introducing multimedia within the STI Program framework. A discussion of multimedia technology is included to provide context for the STI Program effort. The STI Program's Multimedia Initiative is discussed in detail. Parallels and differences between multimedia and traditional information systems project development are highlighted. Challenges faced by the program in initiating its multimedia project are summarized along with lessons learned. The paper concludes with a synopsis of the benefits the program hopes to provide its users through the introduction of multimedia illustrated by examples of successful multimedia projects.

Cotter, Gladys A.↗

Applicative architectures for fault-tolerant multiprocessors

Functional programming frameworks for the design of highly reliable multiprocessor systems are proposed. In contrast to imperative programming environments, a functional environment offers elegant, relatively simple, and efficient solutions to concurrent error detection and recovery problems in multiprocessors. Specific fault tolerance mechanisms for upset exposure, fault containment, secure task assignment, and recovery are developed for a class of applicative multiprocessor architectures. Verification of abstract behavioral characteristics of applicative tasks is used for exposing faults during the execution of tasks. The fault containment mechanism is based on isolation of stack and heap segments of tasks. A protocol for secure task assignment is defined between system components. The architecture permits incremental, distributed, and asynchronous backups of system state. Finally, recovery is accomplished, even in the worst cases, by re-execution of a small number of tasks.

Sharma, Madhumitra↗

PCC Framework for Program-Generators

In this paper, we propose a proof-carrying code framework for program-generators. The enabling technique is abstract parsing, a static string analysis technique, which is used as a component for generating and validating certificates. Our framework provides an efficient solution for certifying program-generators whose safety properties are expressed in terms of the grammar representing the generated program. The fixed-point solution of the analysis is generated and attached with the program-generator on the code producer side. The consumer receives the code with a fixed-point solution and validates that the received fixed point is indeed a fixed point of the received code. This validation can be done in a single pass.

Kong, Soonho↗

Optimal Economic Dispatch and Load-Following Strategies for Nuclear Integrated Energy Systems

The need for distributed and adaptable energy resources that can handle the growing unpredictability in both supply and demand is rising as the power system continues to modernize. In order to satisfy those needs and maintain grid resilience, nuclear power plants can dynamically control their output, despite typically being used as baseload generators. By incorporating energy storage and renewable energy sources, nuclear integrated energy systems are designed to satisfy the electrical and thermal demands of different end-user applications while ensuring flexible power operation. These systems generate revenue by participating in both wholesale and ancillary services electricity markets, as well as commodity markets for various byproducts generated from coupled industrial processes. This study addresses the economic dispatch efficiency of a tightly coupled nuclear integrated energy system comprising a gigawatt-scale light water reactor, commercialized in the U.S., a high-temperature steam electrolysis unit, a district heating network, and specified electrical loads. To demonstrate the nuclear power plant’s flexibility within the day-ahead unit commitment and economic dispatch framework, while maintaining equilibrium even during periods of refueling outages, this paper develops a mixed-integer linear programming framework that models the subsystems and components of its nuclear steam supply system. A systematic comparative analysis of flexible versus baseload nuclear power plant operation under varying levels of renewable energy integration indicates that flexible operation enhances system profitability by more than 18% while also increasing energy storage utilization, improving reactor responsiveness to load fluctuations, and allowing for greater participation across numerous electricity markets.

29 ENERGY PLANNING, POLICY, AND ECONOMY↗

LANDSAT's role in state coastal management programs

The framework for state programs found in the Coastal Zone Management Act and examples of state opportunities to use LANDSAT are presented. Present activities suggest that LANDSAT remote sensing can be an efficient, effective tool for land use planning and coastal zone management.

Source record↗

Evaluation of Portable Acceleration Solutions for LArTPC Simulation Using Wire-Cell Toolkit

The Liquid Argon Time Projection Chamber (LArTPC) technology plays an essential role in many current and future neutrino experiments. Accurate and fast simulation is critical to developing efficient analysis algorithms and precise physics model projections. The speed of simulation becomes more important as Deep Learning algorithms are getting more widely used in LArTPC analysis and their training requires a large simulated dataset. Heterogeneous computing is an efficient way to delegate computationally intensive tasks to specialized hardware. However, as the landscape of compute accelerators quickly evolves, it becomes increasingly difficult to manually adapt the code to the latest hardware or software environments. A solution which is portable to multiple hardware architectures without substantially compromising performance would thus be very beneficial, especially for long-term projects such as the LArTPC simulations. In search of a portable, scalable and maintainable software solution for LArTPC simulations, we have started to explore high-level portable programming frameworks that support several hardware backends. In this paper, we present our experience porting the LArTPC simulation code in the Wire-Cell Toolkit to NVIDIA GPUs, first with the CUDA programming model and then with a portable library called Kokkos. Preliminary performance results on NVIDIA V100 GPUs and multi-core CPUs are presented, followed by a discussion of the factors affiecting the performance and plans for future improvements.

Yu, Haiwang↗

Distributed Order Recording Techniques for Efficient Record-and-Replay of Multi-threaded Programs

After all these years and all these other shared memory programming frameworks, OpenMP is still the most popular one. However, its greater levels of non-deterministic execution makes debugging and testing more challenging. The ability to record and deterministically replay the program execution is key to address this challenge. However, scalably replaying OpenMP programs is still an unresolved problem. In this paper, we propose two novel techniques that use Distributed Clock (DC) and Distributed Epoch (DE) recording schemes to eliminate excessive thread synchronization for OpenMP record and replay. Our evaluation on representative HPC applications with ReOMP, which we used to realize DC and DE recording, shows that our approach is 2-5x more efficient than traditional approaches that synchronize on every shared-memory access. Furthermore, we demonstrate that our approach can be easily combined with MPI-level replay tools to replay non-trivial MPI+OpenMP applications. We achieve this by integrating ReOMP into ReMPI, an existing scalable MPI record-and-replay tool, with only a small MPI-scale-independent runtime overhead.

Fu, Xiang↗

The SODA Approach: Leveraging High-Level Synthesis for Hardware/Software Co-design and Hardware Specialization: Invited

Novel "converged" applications combine phases of scientific simulation with data analysis and machine learning. Each computational phase can benefit from specialized accelerators. However, algorithms evolve so quickly that mapping them on existing accelerators is suboptimal or even impossible. This paper presents the SODA (Software Defined Accelerators) framework, a modular, multi-level, open-source, no-human-in-the-loop, hardware synthesizer that enables end-to-end generation of specialized accelerators. SODA is composed of SODA-Opt, a high-level frontend developed in MLIR that interfaces with domain-specific programming frameworks and allows performing system level design, and Bambu, a state-of-the-art high-level synthesis engine that can target different device technologies. The framework implements design space exploration as compiler optimization passes. We show how the modular, yet tight, integration of the high-level optimizer and lower-level HLS tools enables the generation of accelerators optimized for the computational patterns of converged applications. We then discuss some of the research opportunities that such a framework allows, including system-level design, profile driven optimization, and supporting new optimization metrics.

Bohm Agostini, Nicolas↗

Performance Portability Evaluation of Fluid-Structure Interaction Simulations on Heterogeneous Platforms

The rapid proliferation of heterogeneous programming languages and multi-vendor hardware has underscored the critical need to evaluate the performance portability of scientific applications. In this work, we present the systematic porting and optimization of a massively parallel fluid-structure interaction code across multiple heterogeneous programming frameworks for deployment on leadership-class supercomputers from major vendors. Our analysis focuses on at-scale performance for simulations involving hundreds of millions of deformable cells, executed on a combination of CPUs and GPUs spanning thousands of nodes on exascale machines. We benchmark the performance of each implementation, highlighting the trade-offs inherent in adopting diverse programming models. Key insights regarding the portability of CUDA on multi-vendor platforms, the superior multi-core CPU performance from SYCL, and architectural considerations on performance optimization are distilled from our experience, offering guidance to other users of high performance computing based on our findings.

Martin, Aristotle [Duke University]↗

Extending C++ for Heterogeneous Quantum-Classical Computing

In this report we present qcor - a language extension to C++ and compiler implementation that enables heterogeneous quantum-classical programming, compilation, and execution in a single-source context. Our work provides a first-of-its-kind C++ compiler enabling high-level quantum kernel (function) expression in a quantum-language agnostic manner, as well as a hardware-agnostic, retargetable compiler workflow targeting a number of physical and virtual quantum computing backends. qcor leverages novel Clang plugin interfaces and builds upon the XACC system-level quantum programming framework to provide a state-of-the-art integration mechanism for quantum-classical compilation that leverages the best from the community at-large. qcor translates quantum kernels ultimately to the XACC intermediate representation, and provides user-extensible hooks for quantum compilation routines like circuit optimization, analysis, and placement. This work details the overall architecture and compiler workflow for qcor, and provides a number of illuminating programming examples demonstrating its utility for near-term variational tasks, quantum algorithm expression, and feed-forward error correction schemes.

97 MATHEMATICS AND COMPUTING↗

Monte Carlo Hauser-Feshbach computer code system to model nuclear reactions: YAHFC

A computer program framework, YAHFC, to model low-energy nuclear reactions is presented. The framework allows for reactions with incident particles ranging from protons/neutrons to alphas and is designed to address reactions that ultimately lead to the formation of compound nuclear systems that then decay statistically as outlined in concepts of Hauser and Feshbach. Additionally, instead of a reaction, it is also possible to model the decay of a nuclear system with an initial excitation and population. The code models nuclear decays with a Monte Carlo process that tracks the decay of each state. This allows for an exact representation of the spectra for all emitted particles in each of the final exit channels and the possibility of generating reaction data for simulation purposes. The program is interfaced with the optical model code system FRESCOX to calculate transmission coefficients as well as the effects of coupled channels and other direct excitations via the distorted wave Born approximation (DWBA). Modules are included to account for nuclear processes such as width corrections, pre-equilibrium emission, and fission. The program is controlled by a series of input commands and while a set of input parameters exists for each projectile and target, the input commands allow for complete control over each input parameter. Extensive data files are produced and a program is provided that converts YAHFC data files into nuclear data library entries in the generalized nuclear data structure (GNDS).

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

S4PST: Sustainability for Programming Systems and Tools: May Workshop Report

The US Department of Energy (DOE) Exascale Computing Project (ECP) has fostered and strengthened the use of modern software engineering practices for developing applications and libraries, and this effort has resulted in the coordinated and interoperable E4S1 and xSDK2 ecosystems. Although this approach is cost-effective, it relies on robust programming systems and tools (PST) as the underlying foundation for our HPC software. At present, our primary PST stack consists of traditional high-performance computing (HPC) languages, namely Fortran, C, C++, and the popular Python language for data analysis and AI workflows. These languages support various programming frameworks and run-time abstractions that enable parallelism and concurrency across multiple node architectures and thousands of nodes through a variety of interconnect systems. However, to accommodate users’ diverse needs, certain aspects of the HPC ecosystem are delegated to vendor-specific or third-party implementations that extend beyond a particular scientific domain. This broader scope results in a multitude of specifications and variations, which leads to a complex orchestration of many-ecosystems. Unfortunately, this complexity in the ecosystem imposes additional overhead costs on consumers during the latter stages of the development cycle. In addition to the software ecosystem challenge, the upcoming conclusion of the ECP by December 2023 has raised significant concerns within the HPC programming systems community, from both the economic and social perspectives. The ECP has implemented a management structure for software development and funding decisions across all ECP participants by following a conventional hierarchical and centralized approach. However, this structure has prompted certain considerations within the community, particularly in anticipation of the Software Sustainability initiative by the DOE’s Advanced Scientific Computing Research Program (ASCR). For the success of this new initiative, it is of utmost importance to secure consistent funding and foster close engagement with researchers and core developers of existing programming-system products. This collaboration is vital to maintaining the critical capabilities of the current software during the transition phase while proactively adapting to future technology and workforce trends. The community recognizes the significance of adapting to emerging trends and is aware of the inherent fragility of the HPC software ecosystem, particularly in relation to programming systems that cater to all users. The ability to adapt and evolve is essential to staying relevant and effectively addressing these technical, economic, and social challenges. The S4PST team, which represents one of the six ASCR Software Sustainability seedling projects, is dedicated to tackling these challenges through community-based approaches that go beyond the scope of the DOE. This involves collaboration between national laboratories with academia, non-DOE institutions, hardware and system vendors, and international partners. By fostering these partnerships, we aim to create a robust and sustainable HPC software ecosystem that can effectively meet the needs of the community. This new community effort, driven by the eight DOE labs, will take on the responsibility of guiding funding decisions for programming-systems development and maintenance with transparency and consistency across all decisions. Additionally, the team will offer common technical services to the programming systems community, irrespective of their funding situations, and facilitate community-wide incubation to proactively nurture the software ecosystem. By actively engaging with stakeholders and employing a collaborative approach, we can collectively shape the future of programming systems and ensure a robust and thriving HPC software landscape. On May 11–12, 2023, the S4PST team conducted its inaugural kick-off workshop at the Innovative Computing Laboratory (ICL) in the University of Tennessee, Knoxville, hosted by Hartwig Anzt. The workshop encompassed various sessions dedicated to presentations and discussions, with the aim of comprehending the team members’ perspectives on the vision of software sustainability. Additionally, the workshop aimed to identify the technical, economic, and social requirements for sustaining the programming-systems community in the field of HPC. This report provides a summary of the S4PST effort by highlighting five major thrust areas discussed during the workshop: (i) community, (ii) technical support, (iii) training and diversity, (iv) verification, validation and correctness, and (v) emerging technologies. It also encompasses an overview of the presentations and discussions held throughout the event, our views and potential synergies with other seedling efforts, along with the outcomes and key takeaways from our initial discussions.

97 MATHEMATICS AND COMPUTING↗

Rapid 3D nanoscale coherent imaging via physics-aware deep learning

Phase retrieval, the problem of recovering lost phase information from measured intensity alone, is an inverse problem that is widely faced in various imaging modalities ranging from astronomy to nanoscale imaging. The current process of phase recovery is iterative in nature. As a result, the image formation is time consuming and computationally expensive, precluding real-time imaging. Here, we use 3D nanoscale X-ray imaging as a representative example to develop a deep learning model to address this phase retrieval problem. We introduce 3D-CDI-NN, a deep convolutional neural network and differential programing framework trained to predict 3D structure and strain, solely from input 3D X-ray coherent scattering data. Our networks are designed to be “physics-aware” in multiple aspects; in that the physics of the X-ray scattering process is explicitly enforced in the training of the network, and the training data are drawn from atomistic simulations that are representative of the physics of the material. We further refine the neural network prediction through a physics-based optimization procedure to enable maximum accuracy at lowest computational cost. 3D-CDI-NN can invert a 3D coherent diffraction pattern to real-space structure and strain hundreds of times faster than traditional iterative phase retrieval methods. Our integrated machine learning and differential programing solution to the phase retrieval problem is broadly applicable across inverse problems in other application areas.

77 NANOSCIENCE AND NANOTECHNOLOGY↗

Renewable electricity capacity planning with uncertainty at multiple scales

Abstract We formulate and compare optimization models of investment in renewable generation using a suite of social planning models that compute optimal generation capacity investments for a hydro-dominated electricity system where inflow uncertainty results in a risk of energy shortage. The models optimize the expected cost of capacity expansion and operation allowing for investments in hydro, geothermal, solar, wind, and thermal plant, as well as battery storage for smoothing load profiles. A novel feature is the integration of uncertain seasonal hydroelectric energy supply and short-term variability in renewable supply in a two-stage stochastic programming framework. The models are applied to data from the New Zealand electricity system and used to estimate the costs of moving to a 100% renewable electricity system by 2035. We also explore the outcomes obtained when applying different forms of CO 2 constraint that limit respectively non-renewable capacity, non-renewable generation, and CO 2 emissions on average, almost surely, or in a chance-constrained setting, and show how our models can be used to investigate the merits of a proposed pumped-hydro scheme in New Zealand’s South Island.

Ferris, Michael C.↗

Optimal design of solar-driven electrolytic hydrogen production systems within electricity markets

Hydrogen has the potential to be a key contributor toward a low-carbon economy. Generating hydrogen by electrolysis using renewable energy is one way to support a decarbonized economy; however, its cost is not typically competitive with the carbon-emitting incumbent technology, steam methane reforming. The ability of electrolysis to integrate with electricity markets presents a unique cost reduction opportunity due to the perceived future availability of low and zero-marginal cost renewable energy sources. Additionally, as renewables, and particularly, photovoltaics are installed on the grid, they have a value deflation effect. This work evaluates solar-electrolysis configurations using a mathematical programming framework to maximize system net present value. The framework has been tested with specific weather conditions and financial mechanisms in California. Our findings indicate that a spectrum of potential cost competitive solutions is available for systems that (i) have market configurations resembling hybrid retail/wholesale, resulting in a hydrogen production cost range of US$6.2 kg-1–US$6.6 kg-1, or full wholesale market participation, reducing production cost to US$2.6 kg-1–US$3.1 kg-1, and (ii) achieve projected future cost reductions.

08 HYDROGEN↗