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 127 records · Page 7

Annual Report on Federal Government Energy Management and Conservation Programs (Fiscal Year 2013)

Annual reports on Federal energy management respond to section 548 of the National Energy Conservation Policy Act (NECPA, Pub. L. No. 95-619), as amended, and provide information on energy consumption in Federal buildings, operations, and vehicles. Compiled by the Federal Energy Management Program, these reports document activities conducted by Federal agencies under the: Energy management and energy consumption requirements of section 543 of NECPA, as amended (42 U.S.C. § 8253); Energy savings performance contract authority of section 801 of NECPA, Pub. L. No. 95-619, as amended (42 U.S.C. §§ 8287-8287d); Renewable energy purchase goal of section 203 of the Energy Policy Act (EPAct) of 2005, Pub. L. No. 109-58 (codified at 42 U.S.C. § 15852); Federal building performance standard requirements under Section 109 of EPAct 2005, Pub. L. No. 109-58 (codified at 42 U.S.C. § 6834(a)); Requirements on the procurement and identification of energy efficient products under section 161 of EPAct 1992, Pub. L. No. 102-486 (codified at 42 U.S.C. § 8262g); Sections 431, 432, and 434 of the Energy Independence and Security Act of 2007 (EISA), Pub. L. No. 110-140 (42 U.S.C. § 8253) and section 527 of EISA (42 U.S.C. § 17143); Executive Order 13423, Strengthening Federal Environmental, Energy, and Transportation Management, 72 Fed. Reg. 3,919 (Jan. 26, 2007); Executive Order 13514, Federal Leadership in Environmental, Energy, and Economic Performance, 74 Fed. Reg. 52,117 (Oct. 5, 2009).

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Federal Government Energy Management and Conservation Programs (Fiscal Year 2009)

Annual reports on Federal energy management respond to section 548 of the National Energy Conservation Policy Act (NECPA, Pub. L. No. 95-619), as amended, and provide information on energy consumption in Federal buildings, operations, and vehicles. Compiled by the Federal Energy Management Program, these reports document activities conducted by Federal agencies under the: Energy management and energy consumption requirements of section 543 of NECPA, as amended (42 U.S.C. § 8253); Energy savings performance contract authority of section 801 of NECPA, Pub. L. No. 95-619, as amended (42 U.S.C. §§ 8287-8287d); Renewable energy purchase goal of section 203 of the Energy Policy Act (EPAct) of 2005, Pub. L. No. 109-58 (codified at 42 U.S.C. § 15852); Federal building performance standard requirements under Section 109 of EPAct 2005, Pub. L. No. 109-58 (codified at 42 U.S.C. § 6834(a)); Requirements on the procurement and identification of energy efficient products under section 161 of EPAct 1992, Pub. L. No. 102-486 (codified at 42 U.S.C. § 8262g); Sections 431, 432, and 434 of the Energy Independence and Security Act of 2007 (EISA), Pub. L. No. 110-140 (42 U.S.C. § 8253) and section 527 of EISA (42 U.S.C. § 17143); Executive Order 13423, Strengthening Federal Environmental, Energy, and Transportation Management, 72 Fed. Reg. 3,919 (Jan. 26, 2007); Executive Order 13514, Federal Leadership in Environmental, Energy, and Economic Performance, 74 Fed. Reg. 52,117 (Oct. 5, 2009).

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

HERCULES: Strong Patterns towards More Intelligent Predictive Modeling, In: 2014 43rd International Conference on Parallel Processing

Recent work has shown that program analysis techniques to select meaningful code features of programs are important in the task of deciding the best compiler optimizations. Although, there are many successful state-of-the-art program analysis techniques, they often do not provide a simple method to extract the most expressive information about loops, especially when a target program is computationally intensive with complex loops and data dependencies. In this paper, we introduce a static technique to characterize a program using a pattern-driven system named HERCULES. This characterization technique not only helps a user to understand programs by searching pattern-of-interests, but also can be used for a predictive model that effectively selects the proper compiler optimizations. We formulated 35 loop patterns, then evaluated our characterization technique by comparing the predictive models constructed using HERCULES to three other state-of-the-art characterization methods. We show that our models outperform three state-of-the-art program characterization techniques on two multicore systems in selecting the best optimization combination from a given loop transformation space. We achieved up to 67% of the best possible speedup achievable with the optimization search space we evaluated.

Computer Science↗

Zero Energy University Campuses: A 2018 Progress Update on Reaching Campus Energy Goals: Preprint

Many universities have aggressive energy-reduction and climate action plans. To reach these goals, leading universities have developed a suite of common energy-efficiency and renewable generation strategies. In this paper, we present a common set of approaches across the following areas: zero energy campus definitions and planning, best practices for including energy targets in new construction procurement contracts and design guidelines, implementing pilot new construction zero energy projects, aggressively implementing best-in-class laboratory energy-efficiency strategies, planning for and optimizing on-site and off-site renewable energy projects, and high-performance district energy systems. Best practices are compiled from various experiences, including programs funded by the U.S. Department of Energy, Energy Efficiency and Renewable Energy program. The summary of these best practices is to reduce campus energy use and then meet the remaining campus energy needs with renewable energy. The fivestep process to developing and implementing campus energy-reduction plans is described: 1) determine baseline energy consumption, 2) analyze technology options, 3) develop a plan and set priorities, 4) implement the plan, and 5) evaluate progress. The process follows a logical hierarchy of actions to evaluate options by energy sector and set specific targets. It encompasses all energy systems on campus, recognizing that campus-wide measures have increased potential for reducing energy use. Common strategies are explained along with examples and results.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Zero Energy University Campuses: A 2018 Progress Update on Reaching Campus Energy Goals

Many universities have aggressive energy-reduction and climate action plans. To reach these goals, leading universities have developed a suite of common energy-efficiency and renewable generation strategies. In this paper, we present a common set of approaches across the following areas: zero energy campus definitions and planning, best practices for including energy targets in new construction procurement contracts and design guidelines, implementing pilot new construction zero energy projects, aggressively implementing best-in-class laboratory energy-efficiency strategies, planning for and optimizing on-site and off-site renewable energy projects, and high-performance district energy systems. Best practices are compiled from various experiences, including programs funded by the U.S. Department of Energy, Energy Efficiency and Renewable Energy program. The summary of these best practices is to reduce campus energy use and then meet the remaining campus energy needs with renewable energy. The fivestep process to developing and implementing campus energy-reduction plans is described: 1) determine baseline energy consumption, 2) analyze technology options, 3) develop a plan and set priorities, 4) implement the plan, and 5) evaluate progress. The process follows a logical hierarchy of actions to evaluate options by energy sector and set specific targets. It encompasses all energy systems on campus, recognizing that campus-wide measures have increased potential for reducing energy use. Common strategies are explained along with examples and results.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

SU-F-T-226: QA Management for a Large Institution with Multiple Campuses for FMEA

Purpose: To redesign our radiation therapy QA program with the goal to improve quality, efficiency, and consistency among a growing number of campuses at a large institution. Methods: A QA committee was established with at least one physicist representing each of our six campuses (22 linacs). Weekly meetings were scheduled to advise on and update current procedures, to review end-to-end and other test results, and to prepare composite reports for internal and external audits. QA procedures for treatment and imaging equipment were derived from TG Reports 142 and 66, practice guidelines, and feedback from ACR evaluations. The committee focused on reaching a consensus on a single QA program among all campuses using the same type of equipment and reference data. Since the recommendations for tolerances referenced to baseline data were subject to interpretation in some instances, the committee reviewed the characteristics of all machines and quantified any variations before choosing between treatment planning system (i.e. treatment planning system commissioning data that is representative for all machines) or machine-specific values (i.e. commissioning data of the individual machines) as baseline data. Results: The configured QA program will be followed strictly by all campuses. Inventory of available equipment has been compiled, and additional equipment acquisitions for the QA program are made as needed. Dosimetric characteristics are evaluated for all machines using the same methods to ensure consistency of beam data where possible. In most cases, baseline data refer to treatment planning system commissioning data but machine-specific values are used as reference where it is deemed appropriate. Conclusion: With a uniform QA scheme, variations in QA procedures are kept to a minimum. With a centralized database, data collection and analysis are simplified. This program will facilitate uniformity in patient treatments and analysis of large amounts of QA data campus-wide, which will ultimately facilitate FMEA.

43 PARTICLE ACCELERATORS↗

U.S. Industry Opportunities for Advanced Nuclear Technology Development (Phase III)

This is the third phase of a work scope which has been focused on providing a framework for and preserving key experimental programs and experiences which are critical to the licensing basis of currently operating nuclear reactors or which could be used in the safety basis for the next generation of reactors. The first phase of this effort, documented in Reference 1, focused on compiling a list of key experimental programs through an international survey of reactor safety professionals working in licensing, design, and academia. The second phase in this effort, documented in Reference 2, focused on creating a searchable database framework in which to organize the results from the international survey and to perform detailed research on several key programs to provide the framework for how to categorize the references which could be located. The purpose of the third phase is to perform a high-level research effort on each experiment/experience and to determine if sufficient data, reports, and results have already been captured to consider the program archived for future generators of nuclear professionals.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Quantum Fast Circuit Optimizer (qFactor) v1

Quantum programs are represented as circuits, or sequences of gates. A common problem during quantum compilation to find a circuit that implements a target program. This is an optimizer, it optimizes a circuit's distance to the target by solving for the best fit gates. It is not a standard optimizer, it only optimizes circuits. It is not a compiler or synthesizer, it cannot build circuits, but given a circuit structure, it will solve for the gates. Quantum compilers (qsearch, qfast) use standard numerical optimizers. This has advantages over those general-purpose optimizers since it is domain-specific.

Younis, Ed↗

A Formalization of Core Why3 in Coq

Intermediate verification languages like Why3 and Boogie have made it much easier to build program verifiers, transforming the process into a logic compilation problem rather than a proof automation one. Why3 in particular implements a rich logic for program specification with polymorphism, algebraic data types, recursive functions and predicates, and inductive predicates; it translates this logic to over a dozen solvers and proof assistants. Accordingly, it serves as a backend for many tools, including Frama-C, EasyCrypt, and GNATProve for Ada SPARK. But how can we be sure that these tools are correct? The alternate foundational approach, taken by tools like VST and CakeML, provides strong guarantees by implementing the entire toolchain in a proof assistant, but these tools are harder to build and cannot directly take advantage of SMT solver automation. As a first step toward enabling automated tools with similar foundational guarantees, we give a formal semantics in Coq for the logic fragment of Why3. We show that our semantics are useful by giving a correct-by-construction natural deduction proof system for this logic, using this proof system to verify parts of Why3's standard library, and proving sound two of Why3's transformations used to convert terms and formulas into the simpler logics supported by the backend solvers.

97 MATHEMATICS AND COMPUTING↗

Swift/T Guide

Swift/T is a hierarchical, parallel programming system that allows you to rapidly develop many-task workflows that call into sequential code concurrently. It is implemented with a compiler and runtime system; the Swift/Turbine Compiler (STC) allows you to write Swift programs and run them using Turbine. At runtime, Swift/T programs are MPI programs capable of utilizing very large supercomputers.

97 MATHEMATICS AND COMPUTING↗

PyOMP: Multithreaded Parallel Programming in Python

We know that Python is a widely used language in scientific computing. When the goal is high performance, however, Python lags far behind low-level languages such as C and Fortran. To support applications that stress performance, Python needs to access the full capabilities of modern CPUs. That means support for parallel multithreading. In this paper, we describe PyOMP, a system that enables OpenMP in Python. Programmers write code in Python with OpenMP, Numba generates code that compiles to LLVM, and the resulting programs run with performance that approaches that from code written with C and OpenMP. In this paper we provide an update on the PyOMP project and explain how to install it and use it to write parallel multithreaded code in Python.

97 MATHEMATICS AND COMPUTING↗

Compile-Time Library Call Detection Using CAASCADE and XALT

CAASCADE — Compiler-Assisted Application Source Code Analysis and DatabasE—is a tool that summarizes the use of parallel programming language features in application source code using compiler technology. This paper discusses the library detection capability within CAASCADE to find information about the usage of scientific libraries within the source code. The information that CAASCADE collects provides insights into the usage of library calls in an applications. CAASCADE can classify the APIs by scientific libraries (e.g. LAPACK, BLAS, FFTW, etc). It can also detect the context in which a library API is being invoked, for example within a serial or multi-threaded region. To collect this information, CAASCADE uses compiler plugins that summarize procedural information and uses Apache Spark to do inter-procedural analysis to reconstruct call chains. In addition to this, we also integrated CAASCADE to work with XALT to collect library information based on linkage and modules installed on a system.

Zhao, Jisheng↗

QCOR; A Language Extension Specification for the Heterogeneous Quantum-Classical Model of Computation

Quantum computing (QC) is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for QC were designed with fault-tolerant hardware in mind, envisioning stand-alone applications. However, the susceptibility of near-term quantum computers to noise limits their stand-alone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This modus operandi calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR, which enables single-source quantum-classical programming. Programs written using the QCOR library–based language extensions can be compiled to produce functional hybrid binary executables. After defining QCOR’s programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed-forward QC. Additionally, QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high-performance computing. The high level of abstraction in the language extension is intended to accelerate the adoption of QC by researchers familiar with classical high-performance computing.

97 MATHEMATICS AND COMPUTING↗

An updated LLVM-based quantum research compiler with further OpenQASM support

Abstract Quantum computing is a rapidly growing field with the potential to change how we solve previously intractable problems. Emerging hardware is approaching a complexity that requires increasingly sophisticated programming and control. Scaffold is an older quantum programming language that was originally designed for resource estimation for far-future, large quantum machines, and ScaffCC is the corresponding LLVM-based compiler. For the first time, we provide a full and complete overview of the language itself, the compiler as well as its pass structure. While previous works Abhari et al (2015 Parallel Comput. 45 2–17), Abhari et al (2012 Scaffold: quantum programming language https://cs.princeton.edu/research/techreps/TR-934-12 ), have piecemeal descriptions of different portions of this toolchain, we provide a more full and complete description in this paper. We also introduce updates to ScaffCC including conditional measurement and multidimensional qubit arrays designed to keep in step with modern quantum assembly languages, as well as an alternate toolchain targeted at maintaining correctness and low resource count for noisy-intermediate scale quantum (NISQ) machines, and compatibility with current versions of LLVM and Clang. Our goal is to provide the research community with a functional LLVM framework for quantum program analysis, optimization, and generation of executable code.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

ROSE

Developed at Lawrence Livermore National Laboratory (LLNL), ROSE is an open source compiler infrastructure to build source-to-source program transformation and analysis tools for large-scale C (C89 to C23), C++ (C++98 to C++23), UPC, Fortran (Fortran4, 66, 77, 95, 2003), OpenMP, Java, Python, and Binary applications. ROSE users range from experienced compiler researchers to library and tool developers who may have minimal compiler experience. ROSE is particularly well suited for building custom tools for static analysis, program optimization, arbitrary program transformation, domain-specific optimizations, complex loop optimizations, performance analysis, and cyber-security. ROSE is: A library (and set of associated tools) to quickly and easily apply compiler techniques to one's code in order to improve application performance and developer productivity. A research and development compiler infrastructure for for writing custom source-to-source translators to perform source code transformations, analysis, and optimizations. Is

Pinnow, NathanT [Lawrence Livermore National Labor↗

SubDyn User's Guide and Theory Manual

SubDyn is a time-domain structural-dynamics module for multimember fixed-bottom substructures created by the National Renewable Energy Laboratory (NREL) through U.S. Department of Energy Wind and Water Power Program support. The module has been coupled into the FAST aero-hydro-servo-elastic computer-aided engineering (CAE) tool. Substructure types supported by SubDyn include monopiles, tripods, jackets, and other lattice-type substructures common for offshore wind installations in shallow and transitional water depths. SubDyn can also be used to model lattice support structures for land-based wind turbines. This document is organized as follows. Section 1 details how to obtain the SubDyn and FAST software archives and run both the stand-alone SubDyn or SubDyn coupled to FAST. Section 2 describes the SubDyn input files. Section 3 discusses the output files generated by SubDyn; these include echo files, a summary file, and the results file. Section 4 provides modeling guidance when using SubDyn. The SubDyn theory is covered in Section 5. Section 6 outlines future work, and Section 7 contains a list of references. Example input files are shown in Appendixes A and B. A summary of available output channels are found in Appendix C. Instructions for compiling the stand-alone SubDyn program are detailed in Appendix D. Appendix E tracks the major changes we have made to SubDyn for each public release.

17 WIND ENERGY↗

Simit: A Language for Physical Simulation

With existing programming tools, writing high-performance simulation code is labor intensive and requires sacrificing readability and portability. Here, the alternative is to prototype simulations in a high-level language like Matlab, thereby sacrificing performance. The Matlab programming model naturally describes the behavior of an entire physical system using the language of linear algebra. However, simulations also manipulate individual geometric elements, which are best represented using linked data structures like meshes. Translating between the linked data structures and linear algebra comes at significant cost, both to the programmer and to the machine. High-performance implementations avoid the cost by rephrasing the computation in terms of linked or index data structures, leaving the code complicated and monolithic, often increasing its size by an order of magnitude. In this article, we present Simit, a new language for physical simulations that lets the programmer view the system both as a linked data structure in the form of a hypergraph and as a set of global vectors, matrices, and tensors depending on what is convenient at any given time. Simit provides a novel assembly construct that makes it conceptually easy and computationally efficient to move between the two abstractions. Using the information provided by the assembly construct, the compiler generates efficient in-place computation on the graph. We demonstrate that Simit is easy to use: a Simit program is typically shorter than a Matlab program; that it is high performance: a Simit program running sequentially on a CPU performs comparably to hand-optimized simulations; and that it is portable: Simit programs can be compiled for GPUs with no change to the program, delivering 4 to 20× speedups over our optimized CPU code.

97 MATHEMATICS AND COMPUTING↗

Ciel

Compiler optimizations can alter the numerical results of scientific computing applications. When numerical results differ significantly between compilers, optimization levels, and floating-point hardware, these numerical inconsistencies can impact programming productivity. Ciel is a framework that helps programmers identify locations in the source code that are affected by compiler optimizations in CPU and GPU code. Ciel uses a floating-point precision enhancement strategy, guided by a recursive bisection search algorithm with increasing search granularity, to identify the program expressions that induce numerical inconsistencies due to compiler optimizations.

Miao, Wenjun↗