Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “COMPILER PROGRAM”

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 55 records · Page 3

Thermal Capture and Prompt Capture Gamma Databases

A summary is given of the IAEA Technical Meeting on Thermal Capture and Prompt Capture Gamma Databases. The program to compile and evaluate thermal capture cross sections is discussed. An update of the prompt gamma activation database EGAF is planned. Technical discussions and the resulting work plan are summarized, along with planned actions.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Calcium Phosphate Constraints in HLW Glasses: Phosphate Liquidus Model

About 50 million gallons of high-level mixed waste is currently stored in underground tanks at the United States Department of Energy’s (DOE’s) Hanford site in the State of Washington. The Hanford Tank Waste Treatment and Immobilization Plant (WTP) will provide DOE’s Office of River Protection (ORP) with a means of treating this waste by vitrification for subsequent disposal. The tank waste will be separated into low- and high-activity waste fractions, which will then be vitrified respectively into Immobilized Low Activity Waste (ILAW) and Immobilized High Level Waste (IHLW) products. The ILAW product will be disposed in an engineered facility on the Hanford site while the IHLW product is designed for acceptance into a national geological disposal facility for high-level nuclear waste. The ILAW and IHLW products must meet a variety of requirements before they can be accepted for disposal. Glass property-composition models will be used to control the vitrification process at the WTP to ensure that the glass meets product quality and processability requirements. The quality and the validity ranges of the property-composition models and the supporting database will greatly influence waste treatment operations, including the waste loading that is achievable in the glass for each waste composition. The current baseline models for operation of the WTP were developed under the Bechtel National, Inc. (BNI) WTP contract. These models were based on LAW and HLW glass property data over a range of compositions that was guided primarily by the WTP contract and the set of tanks specified therein. The HLW testing was directed towards waste streams from the then-planned early feed tanks for the WTP (i.e., AZ-101, AZ-102, C-106/AY-102, and C-104/AY-101). These wastes are high in iron (AZ-101, AZ-102, and C-106/AY-102) or thorium (C-104/AY-101). While the baseline models may be adequate for commissioning of the facility and processing of the specified tanks, refinements and extensions or augmentations of these models will be required to process the balance of the tank waste inventory. The overall mission of the WTP will require the immobilization of tank waste compositions that are variously dominated by mixtures of aluminum, chromium, bismuth, iron, phosphorous, zirconium, and sulfur compounds as waste-loading-limiting components. Further, the WTP contract includes minimum waste loading requirements that are generally rather modest while loadings significantly higher than those in the current baseline are likely achievable. In order to achieve these higher waste loadings and to expand the applicable composition regions, new models will be needed to support the optimized operation of the WTP. Since the development of the baseline WTP models, ORP directed a program of work at the Vitreous State Laboratory (VSL) to examine various approaches for optimization of the performance of the WTP, including increasing the waste loadings in the LAW and HLW glass products. That work involved HLW rich in Al, Al+Na, Cr, Bi, S, Zr, Sr, P and Fe, in contrast to old baseline models that were based mostly on HLW tanks that were high in Fe, with one other that was also high in Th. Glass property data collected under the ORP program were compiled and combined with data collected to develop the WTP models. The combined databases have been used to update pre-existing HLW composition models or to develop new models for properties such as Product Consistency Test (PCT) responses, spinel crystallization (one-percent crystal fraction temperature, T 1% ), melt viscosity, melt electrical conductivity, nepheline formation upon slow cooling (i.e., Canister Centerline Cooling [CCC]), and Toxicity Characteristic Leach Procedure (TCLP) Cd response. While spinel is typically the most commonly occurring phase in HLW glasses, other phases can be limiting depending on the waste and glass composition. For example, various phosphate phases can become important as the phosphorus content increases. Lithium phosphate crystallization can impact PCT releases of HLW glasses, while calcium phosphate phases forming in the cold-cap can deleteriously impact feed processing in the melter. At present, however, no models exist that relate glass composition and crystallization of phosphate phases in general and calcium phosphate in particular. The present work was therefore directed towards the initial development of such models. Future work may be directed at studying amorphous phase separation in high phosphate HLW glasses. Within the River Protection Project, feed compositions are projected using the Hanford Tank Waste Operations Simulator (HTWOS), a dynamic computer model that tracks the waste through storage, retrieval, feed staging, and treatment processes. A review of the HTWOS data shows that WTP will process 4106 batches of HLW glass for the overall mission (System Plan Rev. 6, ORP-11242), each with its own waste feed and glass composition. Some of the projected HTWOS feed batches are expected to have relatively high concentrations of phosphorous compared to typical HLW streams. In the 4106 batches of HLW for the overall WTP mission P 2 O 5 varies from 0.59 wt% to 13.00 wt%, with 95 batches containing at least 10 wt% P 2 O 5 . Occurrences of phosphate crystals have commonly been noted in glasses with high bismuth and phosphorus contents. In addition, recently collected data from a set of statistically designed HLW matrix glasses prepared and characterized to support enhancement of the HLW glass property-composition models identified apatite in a number of glass samples. However, the current HLW model for crystallization (one-percent crystal fraction temperature) is applicable only to spinel crystallization in glasses. Previous projections of waste loadings and glass volume (such as those in System Plan Rev. 6, ORP-11242) have used preliminary constraints for calcium phosphate crystallization that are based on the limited available data. Additional data and improved constraints or, preferably, models that relate glass composition to crystallization of phosphate-containing phases, are therefore needed to support HLW vitrification at the WTP. The present study focuses on the development of such a model based on data from previously characterized glasses and a set of newly fabricated glasses.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

ASCR@40: Highlights and Impacts of ASCR’s Programs

A report compiled by the ASCAC Subcommittee on the 40-year history of ASCR for the U.S. Department of Energy’s Office of Advanced Scientific Computing Research. The Office of Advanced Scientific Computing Research (ASCR) sits within the Office of Science in the Department of Energy (DOE). Per their web pages, “the mission of the ASCR program is to discover, develop, and deploy computational and networking capabilities to analyze, model, simulate, and predict complex phenomena important to the DOE.” This succinct statement encompasses a wide range of responsibilities for computing and networking facilities; for procuring, deploying, and operating high performance computing, networking, and storage resources; for basic research in mathematics and computer science; for developing and sustaining a large body of software; and for partnering with organizations across the Office of Science and beyond. While its mission statement may seem very contemporary, the roots of ASCR are quite deep—long predating the creation of DOE. Applied mathematics and advanced computing were both elements of the Theoretical Division of the Manhattan Project. In the early 1950s, the Manhattan Project scientist and mathematician John von Neumann, then a commissioner for the AEC (Atomic Energy Commission), advocated for the creation of a Mathematics program to support the continued development and applications of digital computing. Los Alamos National Laboratory (LANL) scientist John Pasta created such a program to fund researchers at universities and AEC laboratories. Under several organizational name changes, this program has persisted ever since, and would eventually grow to become ASCR.

97 MATHEMATICS AND COMPUTING↗

PolyCheck: Dynamic Verification of Iteration Space Transformations on Affine Programs

High-level compiler transformations, especially loop transformations, are widely recognized as critical optimizations to restructure programs to improve data locality and expose parallelism. Guaranteeing the correctness of program transformations is essential, and to date three main approaches have been developed: proof of equivalence of affine programs, matching the execution traces of programs, and checking bit-by-bit equivalence of the outputs of the programs. Each technique suffers from limitations in either the kind of transformations supported, space complexity, or the sensitivity to the testing dataset. In this paper, we take a novel approach addressing all three limitations to provide an automatic bug checker to verify any iteration reordering transformations on affine programs, including non-affine transformations, with space consumption proportional to the original program data, and robust to arbitrary datasets of a given size. We achieve this by exploiting the structure of affine program control- and data-flow to generate at compile-time lightweight checker code to be executed within the transformed program. Experimental results assess the correctness and effectiveness of our method, and its increased coverage over previous approaches.

affine programs↗

SQUARE: Strategic Quantum Ancilla Reuse for Modular Quantum Programs via Cost-Effective Uncomputation

Compiling high-level quantum programs to machines that are size constrained (i.e. limited number of quantum bits) and time constrained (i.e. limited number of quantum operations) is challenging. In this paper, we present SQUARE (Strategic QUantum Ancilla REuse), a compilation infrastructure that tackles allocation and reclamation of scratch qubits (called ancilla) in modular quantum programs. At its core, SQUARE strategically performs uncomputation to create opportunities for qubit reuse. Current Noisy Intermediate-Scale Quantum (NISQ) computers and forward-looking Fault-Tolerant (FT) quantum computers have fundamentally different constraints such as data locality, instruction parallelism, and communication overhead. Our heuristic-based ancilla-reuse algorithm balances these considerations and fits computations into resource-constrained NISQ or FT quantum machines, throttling parallelism when necessary. To precisely capture the workload of a program, we propose an improved metric, the "active quantum volume," and use this metric to evaluate the effectiveness of our algorithm. Furthermore, our results show that SQUARE improves the average success rate of NISQ applications by 1.47X. Surprisingly, the additional gates for uncomputation create ancilla with better locality, and result in substantially fewer swap gates and less gate noise overall. SQUARE also achieves an average reduction of 1.5X (and up to 9.6X) in active quantum volume for FT machines.

compiler optimization↗

Behavior specification, finding main, and call graph visualizations

A process transforms compiled software into a semantic form. The process transforms the code into a semantic form. The process analyzes behavior functionality by processing precise programming behavior abstractions stored in a memory and classifies the code as malware based on the code behavior. Another method identifies the starting point of execution of a compiled program. The method calculates a complexity measure by calculating the number of potential execution paths of local functions; identifies the number of arguments passed to local functions; and identifies the starting point of execution of the compiled program. Another method provides interactive, dynamic visualization of a group of related functions wherein a user can explore the rendered graph and select a specific function and display functions that are color coded by their ancestral relation and their function call distance to the selected function.

97 MATHEMATICS AND COMPUTING↗

2014 Water Power Program Peer Review: Marine and Hydrokinetic Technologies, Compiled Presentations (Presentation)

This document represents a collection of all presentations given during the EERE Wind and Water Power Program's 2014 Marine and Hydrokinetic Peer Review. The purpose of the meeting was to evaluate DOE-funded hydropower and marine and hydrokinetic R&D projects for their contribution to the mission and goals of the Water Power Program and to assess progress made against stated objectives.

13 HYDRO ENERGY↗

Optimized Quantum Program Execution Ordering to Mitigate Errors in Simulations of Quantum Systems

Simulating the time evolution of a physical system at quantum mechanical levels of detail - known as Hamiltonian Simulation (HS) - is an important and interesting problem across physics and chemistry. For this task, algorithms that run on quantum computers are known to be exponentially faster than classical algorithms; in fact, this application motivated Feynman to propose the construction of quantum computers. Nonetheless, there are challenges in reaching this performance potential. Prior work has focused on compiling circuits (quantum programs) for HS with the goal of maximizing either accuracy or gate cancellation. Our work proposes a compilation strategy that simultaneously advances both goals. At a high level, we use classical optimizations such as graph coloring and travelling salesperson to order the execution of quantum programs. Specifically, we group together mutually commuting terms in the Hamiltonian (a matrix characterizing the quantum mechanical system) to improve the accuracy of the simulation. We then rearrange the terms within each group to maximize gate cancellation in the final quantum circuit. Furthermore, these optimizations work together to improve HS performance and result in an average 40% reduction in circuit depth. This work advances the frontier of HS which in turn can advance physical and chemical modeling in both basic and applied sciences.

97 MATHEMATICS AND COMPUTING↗

Policies and Programs Available in the United States in Support of Carbon Capture and Utilization

The article seeks to compile policies and programs that provide revenue and financing support for carbon capture and utilizations projects, which are available in the United States. Often technically minded entrepreneurs and investors new to this space are unaware of available support, which could help successful development of carbon capture and utilization projects.Covered in this article are the 45Q tax credit, green bonds, loan guarantee programs, the regional greenhouse gas initiative, and low carbon fuel standards.1This article covers the eligibility and effect of each policy and program. The article also briefly reviews the current state of technology and summarizes how each technology pathway pairs with the policies covered in the article.The goal of the article is to serve as a primer for lawyers, corporate development professionals, and practitioners, who seek to learn about policies and programs available to support carbon capture and utilization (CCU) projects.

29 ENERGY PLANNING, POLICY, AND ECONOMY↗

Clang UPC Compiler (Clang UPC) v3.9.1-1

Clang Unified Parallel C (Clang UPC) provides a compilation and execution environment for programs written in the UPC (Unified Parallel C) language. The Clang UPC compiler extends the capabilities of the Clang LLVM C compiler to comply with the UPC Language Specification version 1.3. It includes support for UPC collectives and a configurable pointer-to-shared representation. The compiler generates programs that run on a wide variety of systems ranging from workstations to leadership-class supercomputers, in conjunction with the Berkeley UPC runtime and GASNet communication system. This compiler generates assembly code / object code directly for Intel processors and IBM PowerPC.

Hargrove, Paul↗

Reductive Analysis with Compiler-Guided Large Language Models for Input-Centric Code Optimizations

Input-centric program optimization aims to optimize code by considering the relations between program inputs and program behaviors. Despite its promise, a long-standing barrier for its adoption is the difficulty of automatically identifying critical features of complex inputs. This paper introduces a novel technique, reductive analysis through compiler-guided Large Language Models (LLMs), to solve the problem through a synergy between compilers and LLMs. It uses a reductive approach to overcome the scalability and other limitations of LLMs in program code analysis. The solution, for the first time, automates the identification of critical input features without heavy instrumentation or profiling, cutting the time needed for input identification by 44× (or 450× for local LLMs), reduced from 9.6 hours to 13 minutes (with remote LLMs) or 77 seconds (with local LLMs) on average, making input characterization possible to be integrated into the workflow of program compilations. Optimizations on those identified input features show similar or even better results than those identified by previous profiling-based methods, leading to optimizations that yield 92.6% accuracy in selecting the appropriate adaptive OpenMP parallelization decisions, and 20-30% performance improvement of serverless computing while reducing resource usage by 50-60%.

Input-Centric Optimization↗

Application Characterization at Scale: Lessons learned from developing a distributed Open Community Runtime system for High Performance Computing

Since 2012, the U.S. Department of Energy’s X-Stack program has been developing solutions including runtime systems, programming models, languages, compilers, and tools for the Exascale system software to address crucial performance and power requirements. Fine grain programming models and runtime systems show a great potential to efficiently utilize the underlying hardware. Thus, they are essential to many X-Stack efforts. An abundant amount of small tasks can better utilize the vast parallelism available on current and future machines. Moreover, finer tasks can recover faster and adapt better, due to a decrease in state and control. Nevertheless, current applications have been written to exploit old paradigms (such as Communicating Sequential Processor and Bulk Synchronous Parallel processing). To fully utilize the advantages of these new systems, applications need to be adapted to these new paradigms. As part of the applications’ porting process, in-depth characterization studies, focused on both application characteristics and runtime features, need to take place to fully understand the application performance bottlenecks and how to resolve them. This paper presents a characterization study for a novel high performance runtime system, called the Open Community Runtime, using key HPC kernels as its vehicle. This study has the following contributions: one of the first high performance, fine grain, distributed memory runtime system implementing the OCR standard (version 0.99a); and a characterization study of key HPC kernels in terms of runtime primitives running on both intra and inter node environments. Running on a general purpose cluster, we have found up to 1635x relative speed-up for a parallel tiled Cholesky Kernels on 128 nodes with 16 cores each and a 1864x relative speed-up for a parallel tiled Smith-Waterman kernel on 128 nodes with 30 cores.

Application characterization↗

Agile Acceleration of LLVM Flang Support for Fortran 2018 Parallel Programming

The LLVM Flang compiler ("Flang") is currently Fortran 95 compliant, and the frontend can parse Fortran 2018. However, Flang does not have a comprehensive 2018 test suite and does not fully implement the static semantics of the 2018 standard. We are investigating whether agile software development techniques, such as pair programming and test-driven development (TDD), can help Flang to rapidly progress to Fortran 2018 compliance. Because of the paramount importance of parallelism in high-performance computing, we are focusing on Fortran’s parallel features, commonly denoted “Coarray Fortran.” We are developing what we believe are the first exhaustive, open-source tests for the static semantics of Fortran 2018 parallel features, and contributing them to the LLVM project. A related effort involves writing runtime tests for parallel 2018 features and supporting those tests by developing a new parallel runtime library: the CoArray Fortran Framework of Efficient Interfaces to Network Environments (Caffeine).

Rasmussen, Katherine↗

ASDF: A Compiler for Qwerty, a Basis-Oriented Quantum Programming Language

Qwerty is a high-level quantum programming language built on bases and functions rather than circuits. This new paradigm introduces new challenges in compilation, namely synthesizing circuits from basis translations and automatically specializing adjoint or predicated forms of functions. This paper presents ASDF, an open-source compiler for Qwerty that answers these challenges in compiling basis-oriented languages. Enabled with a novel high-level quantum IR implemented in the MLIR framework, our compiler produces OpenQASM 3 or QIR for either simulation or execution on hardware. Our compiler is evaluated by comparing the fault-tolerant resource requirements of generated circuits with other compilers, finding that ASDF produces circuits with comparable cost to prior circuit-oriented compilers.

Adams, Austin J [Georgia Tech]↗

Understanding Portability of a High-Level Programming Model on Contemporary Heterogeneous Architectures

Accelerator-based heterogeneous computing is gaining momentum in the high-performance computing arena. However, the increased complexity of heterogeneous architectures demands more generic, high-level programming models. OpenACC is one such attempt to tackle this problem. Although the abstraction provided by OpenACC offers productivity, it raises questions concerning both functional and performance portability. In this article, the authors propose HeteroIR, a high-level, architecture-independent intermediate representation, to map high-level programming models, such as OpenACC, to heterogeneous architectures. They present a compiler approach that translates OpenACC programs into HeteroIR and accelerator kernels to obtain OpenACC functional portability. They then evaluate the performance portability obtained by OpenACC with their approach on 12 OpenACC programs on Nvidia CUDA, AMD GCN, and Intel Xeon Phi architectures. They study the effects of various compiler optimizations and OpenACC program settings on these architectures to provide insights into the achieved performance portability.

97 MATHEMATICS AND COMPUTING↗

CMM Data Analysis Tool

Due to the increase in the use of Coordinate Measuring Machines (CMMs) to measure fine details and complex geometries in manufacturing, many programs have been made to compile and analyze the data. These programs typically require extensive setup to determine the expected results in order to not only track the pass/fail of a dimension, but also to use statistical process control (SPC). These extra steps and setup times have been addressed through the CMM Data Analysis Tool, which only requires the output of the CMM to provide both pass/fail analysis on all parts run to the same inspection program as well as provide graphs which help visualize where the part measures within the allowed tolerances. This provides feedback not only to the customer for approval of a part during development, but also to machining process engineers to identify when any dimension is drifting towards an out of tolerance condition during production. This program can handle hundreds of parts with complex dimensions and will provide an analysis within minutes.

Source record↗

COMET: A Domain-Specific Compilation of High-Performance Computational Chemistry

The computational power increases over the past decades have greatly enhanced the ability to simulate chemical reactions and understand ever more complex transformations. Tensor contractions are the fundamental computational building block of these simulations. These simulations have often been tied to one platform and restricted in generality by the interface provided to the user. The expanding prevalence of accelerators and researcher demands necessitate a more general approach which is not tied to specific hardware or requires contortion of algorithms to specific hardware platforms. In this paper we present COMET, a domain-specific programming language and compiler infrastructure for tensor contractions targeting heterogeneous accelerators. We present a system of progressive lowering through multiple layers of abstraction and optimization that achieves up to 1.98×speedup for 30 tensor contractions commonly used in computational chemistry and beyond.

Mutlu, Erdal↗

ASC Tri-lab Co-design Level 2 Milestone Report 2015

In 2015, the three Department of Energy (DOE) National Laboratories that make up the Advanced Sci- enti c Computing (ASC) Program (Sandia, Lawrence Livermore, and Los Alamos) collaboratively explored performance portability programming environments in the context of several ASC co-design proxy applica- tions as part of a tri-lab L2 milestone executed by the co-design teams at each laboratory. The programming environments that were studied included Kokkos (developed at Sandia), RAJA (LLNL), and Legion (Stan- ford University). The proxy apps studied included: miniAero, LULESH, CoMD, Kripke, and SNAP. These programming models and proxy-apps are described herein. Each lab focused on a particular combination of abstractions and proxy apps, with the goal of assessing performance portability using those. Performance portability was determined by: a) the ability to run a single application source code on multiple advanced architectures, b) comparing runtime performance between \native" and \portable" implementations, and c) the degree to which these abstractions can improve programmer productivity by allowing non-portable implementation details to be hidden from the application developer. This report captures the work that was completed for this milestone, and outlines future co-design work to be performed by application developers, programming environment developers, compiler writers, and hardware vendors.

97 MATHEMATICS AND COMPUTING↗