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 217 records · Page 12

Accelerating semantic graph databases on commodity clusters

We are developing a full software system for accelerating semantic graph databases on commodity cluster that scales to hundreds of nodes while maintaining constant query throughput. Our framework comprises a SPARQL to C++ compiler, a library of parallel graph methods and a custom multithreaded runtime layer, which provides a Partitioned Global Address Space (PGAS) programming model with fork/join parallelism and automatic load balancing over a commodity clusters. We present preliminary results for the compiler and for the runtime.

commodity clusters↗

Towards Achieving Performance Portability Using Directives for Accelerators

In this paper we explore the performance portability of directives provided by OpenMP 4 and OpenACC to program various types of node architectures with attached accelerators, both self-hosted multicore and offload multicore/GPU. Our goal is to examine how successful OpenACC and the newer offload features of OpenMP 4.5 are for moving codes between architectures, how much tuning might be required and what lessons we can learn from this experience. To do this, we use examples of algorithms with varying computational intensities for our evaluation, as both compute and data access efficiency are important considerations for overall application performance. We implement these kernels using various methods provided by newer OpenACC and OpenMP implementations, and we evaluate their performance on various platforms including both X86_64 with attached NVIDIA GPUs, self-hosted Intel Xeon Phi KNL, as well as an X86_64 host system with Intel Xeon Phi coprocessors. In this paper, we explain what factors affected the performance portability such as how to pick the right programming model, its programming style, its availability on different platforms, and how well compilers can optimize and target to multiple platforms.

97 MATHEMATICS AND COMPUTING↗

Igor Pro procedures for ARPES analysis (ARPES Igor procedures) v21.0

A suite of non-proprietary C-like procedures (code) that compile and run within the commercial Igor Pro data analysis program (wavemetrics.com) have been developed for the data file loading, plotting and analysis of Angle-Resolved Photoemission Spectroscopy (ARPES) data. The data file loading procedures are more specific to ARPES data acquisition and file formats at Advanced Light Source (ALS) beamlines, while plotting and analysis procedures are more generic to processing of 1D, 2D and higher dimensional dataset arrays with some specific tools tailored to the ARPES technique.

Rotenberg, Eli↗

Geothermal Play Fairway Analysis Best Practices

Play fairway analysis (PFA) is a methodology that can improve success rates for geothermal exploration drilling, thus reducing the costs of geothermal projects while facilitating development in new areas. It was originally developed for the oil and gas industry, but has been adapted for discovering geothermal resources over the last decade. The geothermal PFA methodology involves systematically screening a set geographic area for promising qualities typically related to the presence of heat, permeability, and fluid. Successful application of PFA can identify hidden hydrothermal systems. From 2014 to 2021 the U.S. Department of Energy (DOE) Geothermal Technologies Office (GTO) supported the development of PFA for geothermal resources through awards to 11 research teams across the country. The goal of these projects was to advance and adapt PFA for geothermal exploration to produce regional-scale maps that reduce exploration uncertainty. This report is an outcome of the NREL-led PFA Retrospective project, which compiled, synthesized, analyzed the results of GTO's geothermal PFA program. Ultimately, we find that these projects greatly advanced approaches to geothermal exploration and resulted in extensive new data and new discoveries of unrecognized geothermal systems. We used the results to distill best practices in this report and to provide guidance for future applications of geothermal PFA.

15 GEOTHERMAL ENERGY↗

Preliminary Enhanced LAW Glass Formulation Algorithm

This report summarizes the Preliminary Enhanced Low-Activity Waste Glass Formulation Algorithm (GFA), its background information, and the calculations it performs. The Preliminary Enhanced Low-Activity Waste GFA is a tool developed in MATLAB to formulate glass for a given waste composition while attempting to maximize waste loading. It is intended for use at the Waste Treatment and Immobilization Plant, where nuclear waste will be vitrified into glass. The formulated glass is required to satisfy several processing and product quality constraints. In addition, calculations must account for associated uncertainties in constraint prediction and measurement. The GFA adheres to Pacific Northwest National Laboratory nuclear quality assurance procedures and has been validated and verified. In this second revision to the report, two constraints: the lithium and zirconia target constraints were amended to Table 3.1 and programmed into the algorithm. Additionally, three sections were added. Section 3.2.1 includes the Enhanced LAW Correlation Rules, an addition to the glass optimality criteria. Section 4.0 discusses a stepped process approach taken to ensure the algorithm can adequately react to differences between its recommended output and the actual measurements and transfers made during plant operation, and calculation of specific radionuclide concentrations. Section 5.2 describes changes to the user interaction with the algorithm program including the addition of a graphical user interface and compilation of the software.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

Advances in statistical methods for cancer surveillance research: an age-period-cohort perspective

Background: Analysis of Lexis diagrams (population-based cancer incidence and mortality rates indexed by age group and calendar period) requires specialized statistical methods. However, existing methods have limitations that can now be overcome using new approaches. Methods: We assembled a “toolbox” of novel methods to identify trends and patterns by age group, calendar period, and birth cohort. We evaluated operating characteristics across 152 cancer incidence Lexis diagrams compiled from United States (US) Surveillance, Epidemiology and End Results Program data for 21 leading cancers in men and women in four race and ethnicity groups (the “cancer incidence panel”). Results: Nonparametric singular values adaptive kernel filtration (SIFT) decreased the estimated root mean squared error by 90% across the cancer incidence panel. A novel method for semi-parametric age-period-cohort analysis (SAGE) provided optimally smoothed estimates of age-period-cohort (APC) estimable functions and stabilized estimates of lack-of-fit (LOF). SAGE identified statistically significant birth cohort effects across the entire cancer panel; LOF had little impact. As illustrated for colon cancer, newly developed methods for comparative age-period-cohort analysis can elucidate cancer heterogeneity that would otherwise be difficult or impossible to discern using standard methods. Conclusions: Cancer surveillance researchers can now identify fine-scale temporal signals with unprecedented accuracy and elucidate cancer heterogeneity with unprecedented specificity. Birth cohort effects are ubiquitous modulators of cancer incidence in the US. The novel methods described here can advance cancer surveillance research.

60 APPLIED LIFE SCIENCES↗

Development of the DIFFRACALC program for analyzing the phase composition of alloys

The DiffraCalc software package is developed for automatic indexing of electron diffraction patterns. The program can operate with the existing base of X-ray diffraction data, containing information about the crystal structures of more than 100 thousands of materials. This information has been extracted from open sources. A compatibility with standard crystallographic files is implemented. In the indexing mode, the program automatically analyzes an experimental diffraction pattern, implementing a search for an appropriate phase from the list compiled by a user proceeding from the crystallographic database. The indexing mode algorithm is constructed using the method of pair reflections. In the simulation mode, the program calculates the electron diffraction pattern for a specified material, which is an additional way to verify the indexing results.

75 CONDENSED MATTER PHYSICS, SUPERCONDUCTIVITY AND↗

Compiling Quantum Circuits for Dynamically Field-Programmable Neutral Atoms Array Processors

Dynamically field-programmable qubit arrays (DPQA) have recently emerged as a promising platform for quantum information processing. In DPQA, atomic qubits are selectively loaded into arrays of optical traps that can be reconfigured during the computation itself. Leveraging qubit transport and parallel, entangling quantum operations, different pairs of qubits, even those initially far away, can be entangled at different stages of the quantum program execution. Such reconfigurability and non-local connectivity present new challenges for compilation, especially in the layout synthesis step which places and routes the qubits and schedules the gates. In this paper, we consider a DPQA architecture that contains multiple arrays and supports 2D array movements, representing cutting-edge experimental platforms. Within this architecture, we discretize the state space and formulate layout synthesis as a satisfiability modulo theories problem, which can be solved by existing solvers optimally in terms of circuit depth. For a set of benchmark circuits generated by random graphs with complex connectivities, our compiler OLSQ-DPQA reduces the number of two-qubit entangling gates on small problem instances by 1.7x compared to optimal compilation results on a fixed planar architecture. To further improve scalability and practicality of the method, we introduce a greedy heuristic inspired by the iterative peeling approach in classical integrated circuit routing. Using a hybrid approach that combined the greedy and optimal methods, we demonstrate that our DPQA-based compiled circuits feature reduced scaling overhead compared to a grid fixed architecture, resulting in 5.1X less two-qubit gates for 90 qubit quantum circuits. These methods enable programmable, complex quantum circuits with neutral atom quantum computers, as well as informing both future compilers and future hardware choices.

Physics↗

Domain Specific Language Support for Exascale

A multi-institutional project known as D-TEC (short for “Domain- specific Technology for Exascale Computing”) set out to explore technologies to support the construction of Domain Specific Languages (DSLs) to map application programs to exascale architectures. DSLs employ automated code transformation to shift the burden of delivering portable performance from application programmers to compilers. Two chief properties contribute: DSLs permit expression at a high level of abstraction so that a programmer’s intent is clear to a compiler and DSL implementations encapsulate human domain-specific optimization knowledge so that a compiler can be smart enough to achieve good results on specific hardware. Domain specificity is what makes these properties possible in a programming language. If leveraging domain specificity is the key to keep exascale software tractable, a corollary is that many different DSLs will be needed to encompass the full range of exascale computing applications; moreover, a single application may well need to use several different DSLs in conjunction. As a result, developing a general toolkit for building domain-specific languages was a key goal for the D-TEC project. Different aspects of the D-TEC research portfolio were the focus of work at each of the partner institutions in the multi-institutional project. D-TEC research and development work at Rice University focused on on three principal topics: understanding how to automate the tuning of code for complex architectures, research and development of the Rosebud DSL engine, and compiler technology to support complex execution platforms. This report provides a summary of the research and development work on the D-TEC project at Rice University.

97 MATHEMATICS AND COMPUTING↗

Evolvix BEST Names for semantic reproducibility across code2brain interfaces

Names in programming are vital for understanding the meaning of code and big data. We define code2brain (C2B) interfaces as maps in compilers and brains between meaning and naming syntax, which help to understand executable code. While working toward an Evolvix syntax for general‐purpose programming that makes accurate modeling easy for biologists, we observed how names affect C2B quality. To protect learning and coding investments, C2B interfaces require long‐term backward compatibility and semantic reproducibility (accurate reproduction of computational meaning from coder‐brains to reader‐brains by code alone). Semantic reproducibility is often assumed until confusing synonyms degrade modeling in biology to deciphering exercises. We highlight empirical naming priorities from diverse individuals and roles of names in different modes of computing to show how naming easily becomes impossibly difficult. We present the Evolvix BEST (Brief, Explicit, Summarizing, Technical) Names concept for reducing naming priority conflicts, test it on a real challenge by naming subfolders for the Project Organization Stabilizing Tool system, and provide naming questionnaires designed to facilitate C2B debugging by improving names used as keywords in a stabilizing programming language. Our experiences inspired us to develop Evolvix using a flipped programming language design approach with some unexpected features and BEST Names at its core.

97 MATHEMATICS AND COMPUTING↗

Enhancing Kokkos with OpenACC

C++ template metaprogramming has emerged as a prominent approach for achieving performance portability in heterogeneous computing. Kokkos represents a notable paradigm in this domain, offering programmers a suite of high-level abstractions for generic programming while deferring much of the device-specific code generation and optimization to the compiler through template specializations. Kokkos furnishes a range of device-specific code specializations across multiple back ends, including CUDA and HIP. Diverging from conventional back ends, the OpenACC implementation presents a high-level, multicompiler, multidevice, and directive-based programming model. This paper presents recent advancements in the OpenACC back end for Kokkos (i.e., KokkACC) and focuses on its integration into the Kokkos ecosystem, exploration of automatic device selection capabilities to enhance productivity, and performance evaluation on modern hardware such as NVIDIA H100 GPUs. The study includes implementation details and a thorough performance assessment across various computational benchmarks, including minibenchmarks (AXPY and DOT product), miniapps (LULESH, MiniFE, and SNAP-LAMMPS), and a scientific kernel based on the lattice Boltzmann method.

Valero Lara, Pedro↗

OpenACC Unified Programming Environment for Multi-hybrid Acceleration with GPU and FPGA

Accelerated computing in HPC such as with GPU, plays a central role in HPC nowadays. However, in some complicated applications with partially different performance behavior is hard to solve with a single type of accelerator where GPU is not the perfect solution in these cases. We are developing a framework and transpiler allowing the users to program the codes with a single notation of OpenACC to be compiled for multi-hybrid accelerators, named MHOAT (Multi-Hybrid OpenACC Translator) for HPC applications. MHOAT parses the original code with directives to identify the target accelerating devices, currently supporting NVIDIA GPU and Intel FPGA, dispatching these specific partial codes to background compilers such as NVIDIA HPC SDK for GPU and OpenARC research compiler for FPGA, then assembles binaries for the final object with FPGA bitstream file. In this paper, we present the concept, design, implementation, and performance evaluation of a practical astrophysics simulation code where we successfully enhanced the performance up to 10 times faster than the GPU-only solution.

Boku, Taisuke↗

MUPPET: An automated OpenMP mutation testing framework for performance optimization

MUPPET is a tool for OpenMP programs that identifies program modifications, called mutations, aimed at improving program performance. Existing performance optimization techniques, including profiling-based and auto-tuning techniques, fail to indicate program modifications at the source level thus preventing their portability across compilers. MUPPET aims to help HPC developers reason about performance defects and missed opportunities to improve performance at the source code level.

Parasyris, Konstantinos↗

FY 2017 Site-Directed Research and Development Annual Report

Annual report of compiled individual reports for 28 Site-Directed Research and Development Program projects for the fiscal year 2017. This report will be submitted to NNSA, and will be available online as well as being distributed in hard copy.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

COMPOSE-HPC: Software Composition for Extreme Scale Computational Science and Engineering

Software composition is an important aspect of computational science software engineering due to large scale production science codes involving multiple programming languages, execution and concurrency models. To date, programmers must manage the complexity of building and maintaining such systems largely by hand with minimal (if any) automated assistance. As such, a great deal of programmer time is spent generating and maintaining code which leads to a high maintenance and development cost, as well as an increased risk of errors being introduced by hand than would be expected in an automated system. COMPOSE-HPC was a multi-institutional effort, with the Galois contribution focused on a specific area of code analysis and software infrastructure. Specifically, Galois led the design and implementation for the Parser for Annotations in a User-specified Language (PAUL), as well as collaborating with SNL and LLNL on the Retargetable Open Transformation Engine (ROTE). Both components were built on top of the ROSE compiler infrastructure from LLNL. All artifacts developed under the COMPOSE-HPC program are available on the github.com and sourceforge.net open source hosting sites under permissive BSD3 software licenses.

97 MATHEMATICS AND COMPUTING↗