Search NASA⌕ Search

SEARCH · Search NASA

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 91 records · Page 5

Application Experiences on a GPU-Accelerated Arm-based HPC Testbed

This paper assesses and reports the experience of ten teams working to port, validate, and benchmark several High Performance Computing applications on a novel GPU-accelerated Arm testbed system. The testbed consists of eight NVIDIA Arm HPC Developer Kit systems, each one equipped with a server-class Arm CPU from Ampere Computing and two data center GPUs from NVIDIA Corp. The systems are connected together using InfiniBand interconnect. The selected applications and mini-apps are written using several programming languages and use multiple accelerator-based programming models for GPUs such as CUDA, OpenACC, and OpenMP offloading. Working on application porting requires a robust and easy-to-access programming environment, including a variety of compilers and optimized scientific libraries. The goal of this work is to evaluate platform readiness and assess the effort required from developers to deploy well-established scientific workloads on current and future generation Arm-based GPU-accelerated HPC systems. The reported case studies demonstrate that the current level of maturity and diversity of software and tools is already adequate for large-scale production deployments.

Elwasif, Wael↗

Tough Errors Are no Match (TEAM): Optimizing the Quantum Compiler for Noise Resilience

This report summarizes research performed under the Tough Errors Are no Match (TEAM) project. The primary focus of TEAM has been to research and develop a compilation toolbox leveraging techniques from quantum characterization and control, probabilistic programming, and approximate computing. Our goal was to develop robust protocols that can be integrated into quantum compilers to optimize and enhance the robustness of noisy computation. Here, we provide a summary of TEAM work focused on characterization and control of quantum systems.

97 MATHEMATICS AND COMPUTING↗

The Epoch of Giant Planet Migration Planet Search Program. I. Near-infrared Radial Velocity Jitter of Young Sun-like Stars

We present early results from the Epoch of Giant Planet Migration program, a precise radial velocity (RV) survey of more than 100 intermediate-age (∼20–200 Myr) G and K dwarfs with the Habitable Zone Planet Finder spectrograph (HPF) at McDonald Observatory’s Hobby–Eberly Telescope. The goals of this program are to determine the timescale and dominant physical mechanism of giant planet migration interior to the water ice line of Sun-like stars. Here, we summarize results from the first 14 months of this program, with a focus on our custom RV pipeline for HPF, a measurement of the intrinsic near-infrared RV activity of young Solar analogs, and modeling the underlying population-level distribution of stellar jitter. We demonstrate on-sky stability at the sub-2 m s{sup −1} level for the K2 standard HD 3765 using a least-squares matching method to extract precise RVs. Based on a subsample of 29 stars with at least three RV measurements from our program, we find a median rms level of 34 m s{sup −1}. This is nearly a factor of 2 lower than the median rms level in the optical of 60 m s{sup −1} for a comparison sample with similar ages and spectral types as our targets. The observed near-infrared jitter measurements for this subsample are well reproduced with a log-normal parent distribution with μ = 4.15 and σ = 1.02. Finally, by compiling rms values from previous planet search programs, we show that near-infrared jitter for G and K dwarfs generally decays with age in a similar fashion to optical wavelengths, albeit with a shallower slope and lower overall values for ages ≲1 Gyr.

79 ASTRONOMY AND ASTROPHYSICS↗

sKokkos: Enabling Kokkos with Transparent Device Selection on Heterogeneous Systems using OpenACC

This paper presents a new feature to enable Kokkos with transparent device selection. For application developers, it is not easy toidentify which device is the most appropriate to use in a heterogeneous system, since this depends on the characteristics of both the application and the hardware. In Kokkos, a backend is associated with one specific programming model/hardware. Programmers decide which backend to use at compilation time. This new feature implemented on the OpenACC backend eliminates the burden of deciding which device to use, providing a highly productive programming solution for Kokkos applications. This work includes implementation details and a performance study conducted with a set of mini-benchmarks (i.e., AXPY and dot product), kernels (Lattice-Bolzmann method), and two mini-apps (LULESH and miniFE) on two heterogeneous systems with different hardware capabilities. This new Kokkos feature provides high accelerations of up to 35× thanks to automatic and transparent device selection.

Lee, Seyong↗

An MLIR-based Compiler Flow for System-Level Design and Hardware Acceleration

The generation of custom hardware accelerators for applications implemented within high-level productive programming frameworks requires considerable manual effort. To automate this process, we introduce \sodaopt, a compiler tool that extends the MLIR infrastructure. \sodaopt automatically searches, outlines, tiles, and pre-optimizes relevant code regions to generate high-quality accelerators through high-level synthesis. \sodaopt can support any high-level programming framework and domain-specific language that interface with the MLIR infrastructure. By leveraging MLIR, \sodaopt solves compiler optimization problems with specialized abstractions. Backend synthesis tools connect to \sodaopt through progressive intermediate representation lowerings. \sodaopt interfaces to a design space exploration engine to identify the combination of compiler optimization passes and options that provides high-performance generated designs for different backends and targets. We demonstrate the practical applicability of the compilation flow by exploring the automatic generation of accelerators for deep neural networks operators outlined at arbitrary granularity and by combining outlining with tiling on large convolution layers. Experimental results with kernels from the PolyBench benchmark show that \sodaopt high-level optimizations improve execution delays of synthesized accelerators up to 60x. We also show that for the selected kernels, our solution outperforms the current of state-of-the art in more than 70% of the benchmarks and provides better average speedup in 55% of them.

Bohm Agostini, Nicolas↗

LLM Benchmarking with LLaMA2: Evaluating Code Development Performance Across Multiple Programming Languages

The rapid evolution of large language models (LLMs) has opened new possibilities for automating various tasks in software development. This paper evaluates the capabilities of the LLaMA 2-70B model in automating these tasks for scientific applications written in commonly used programming languages. Using representative test problems, we assess the model's capacity to generate code, documentation, and unit tests, as well as its ability to translate existing code between commonly used programming languages. Our comprehensive analysis evaluates the compilation, runtime behavior, and correctness of the generated and translated code. Additionally, we assess the quality of automatically generated code, documentation, and unit tests. Here, our results indicate that while LLaMA 2-70B frequently generates syntactically correct and functional code for simpler numerical tasks, it encounters substantial difficulties with more complex, parallelized, or distributed computations, requiring considerable manual corrections. We identify key limitations and suggest areas for future improvements to better leverage AI-driven automation in scientific computing workflows.

97 MATHEMATICS AND COMPUTING↗

Nuclear Archival Electronic Database

The Nuclear Archival Electronic Database (NAED) supports a work scope that 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. It aims at preserving the results of experimental programs for the safety of light water cooled and advanced reactors by locating and documenting, to the extent possible, where the experimental test information for these programs has been archived. The NAED is a compilation of the following: (a) list of experiments or experiences categorized by coolant type, (b) results of an information search, and documentation, of the experiments and experiences that are already considered archived and (c) results of a deep dive and interview on a single experimental program or experience. The intent is to use the NAED as a technology source document by reactor vendors, regulators, and utility personnel.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Tough Errors are no Match (TEAM): Optimizing the Quantum Compiler for Noise Resilience

This project builds toward a comprehensive error-mitigating toolkit that makes quantum programming more robust and adaptive to the noisy, resource-limited nature of today’s quantum hardware. To that end, it integrates established error-mitigation methods — such as zero-noise extrapolation and dynamical decoupling — directly into compiler infrastructures. These techniques will be packaged as modules that can automatically adjust and combine based on performance analysis, enabling compilers to explore large design spaces and produce optimized, low-noise quantum programs with minimal manual intervention. In parallel, this project also explores new approaches to analog quantum programming or quantum simulation, and has developed the programming language SimuQ which treats quantum Hamiltonian evolution as the central object.

97 MATHEMATICS AND COMPUTING↗

ATLAS Data Analysis using a Parallel Workflow on Distributed Cloud-based Services with GPUs

A new type of parallel workflow is developed for the ATLAS experiment at the Large Hadron Collider, that makes use of distributed computing combined with a cloud-based infrastructure. This has been developed for a specific type of analysis using ATLAS data, one popularly referred to as Simulation-Based Inference (SBI). The JAX library is used for the parts of the workflow to compute gradients as well as accelerate program execution using just-in-time compilation, which becomes essential in a full SBI analysis and can also offer significant speed-ups in more traditional types of analysis.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

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↗

The Rodinia Benchmark Suite in SYCL

As opposed to the Open Computing Language (OpenCL) programming model in which host and device codes are generally written in different programming languages, SYCL can combine host and device codes for an application in a type-safe way to improve development productivity and performance portability. Rodinia is a widely used benchmark suite for heterogeneous computing. Hence, we port the OpenCL implementations of the benchmark suite to SYCL manually. The SYCL benchmark suite is an opensource project for tracking the development of the mainstream SYCL compilers, and for developers and researchers interested in programming productivity, performance analysis, and portability across different computing platforms. We organize the remainder of the report as follows. Section II introduces the SYCL programming model, shows the major differences between an OpenCL program and a SYCL program, and gives a summary of the benchmark suite. In Section III, we describe our SYCL implementations in more details. We evaluate the SYCL benchmarks on the Intel® central processing units (CPUs) and graphics processing units (GPUs) in Section IV. Section V concludes the report.

97 MATHEMATICS AND COMPUTING↗

Analysis of Validating and Verifying OpenACC Compilers 3.0 and Above

OpenACC is a high-level directive-based parallel programming model that can manage the sophistication of heterogeneity in architectures and abstract it from the users. The portability of the model across CPUs and accelerators has gained the model a wide variety of users. This means it is also crucial to analyze the reliability of the compilers’ implementations. To address this challenge, the OpenACC Validation and Verification team has proposed a validation testsuite to verify the OpenACC implementations across various compilers with an infrastructure for a more streamlined execution. This paper will cover the following aspects: (a) the new developments since the last publication on the testsuite, (b) outline the use of the infrastructure, (c) discuss tests that highlight our workflow process, (d) analyze the results from executing the testsuite on various systems, and (e) outline future developments.

Jarmusch, Aaron↗

Ompparser

ompparser is a standalone and unified OpenMP parser, which is motivated by the facts that: 1) The differences in terms of syntax and semantics of OpenMP constructs between C/C++ and Fortran are minor. 2) Current OpenMP compilers often develop their own parsers, which represent redundant work. The features of ompparser include: 1) ompparser can be used standalone for static source code analysis, e.g. tools for semantics checking or similarity analysis between C/C++ and Fortran programs 2) omppaser can be integrated into an OpenMP compiler implementation can reduce the development efforts, and there is no need to create and maintain two separate parsers for C/C++ and Fortran. 3) ompparser provides a complete reference OpenMP grammar in the Backus-Naur Form that formally describes all the latest OpenMP language constructs. This will help users understand the rules and restriction of the OpenMP standard, which no longer contains a reference grammar in its recent versions.

Wang, Anjia↗

Oak Ridge National Laboratory Modernizing the Kokkos Build System: Using CMake to Encapsulate the Complexity of Build Instructions for Performance Portable Libraries

Kokkos, a C++ library focused on performance portability, requires a build system that can work with a variety of compilers and hardware. Ideally, users need only select the compiler and architecture and should not have to know or specify how programs using Kokkos are built. CMake can be used to create a flexible, robust build system and automatically configures compilers and settings based on the user’s inputs. Nevertheless, Kokkos’ requirements as a performance portability library for the build system exceed CMake’s current capabilities. This report describes the requirements, solutions, and testing of various implementations to create a CMake-based build system suitable for Kokkos. It compares the strengths and shortcomings of the approaches and evaluates the implementations with respect to the requirements. Because no solution was found to meet all of the requirements, the Kokkos team engaged with the CMake development team to discuss and plan a path toward support for performance-portable build systems in CMake in the future.

97 MATHEMATICS AND COMPUTING↗

Nevada National Security Site 2018 Data Report: Groundwater Monitoring Program, Area 5 Radioactive Waste Management Site

This report is a compilation of the groundwater and waste cell leachate sampling results from the Area 5 Radioactive Waste Management Site (RWMS) at the Nevada National Security Site, Nye County, Nevada. Groundwater samples from the aquifer immediately below the Area 5 RWMS have been collected and analyzed and static water levels have been measured in this aquifer since 1993. These groundwater data are evaluated for evidence of effects on the aquifer related to the Area 5 RWMS. Leachate from one lined mixed waste cell at the Area 5 RWMS (Cell 18) has been sampled since the cell opened in 2011. These leachate data are analyzed for hazardous contaminants to determine appropriate leachate handling and disposal. A second lined mixed waste cell at the Area 5 RWMS (Cell 25) began receiving waste in August 2018, but no leachate samples were collected or analyzed during 2018. This report includes data from 2014 through 2018 but focuses on the 2018 data. During 2018, groundwater samples were collected and static water levels were measured at three wells surrounding the Area 5 RWMS. Groundwater samples were collected at wells UE5PW-1, UE5PW-2, and UE5PW-3 on March 6 and August 14, 2018. Static water levels were measured at each of these wells on March 5, June 4, August 13, and October 25, 2018. Groundwater monitoring at the Area 5 RWMS complies with Title 40 Code of Federal Regulations (CFR) Part 264.97, General ground-water monitoring requirements , and 40 CFR 264.98, Detection monitoring program. Groundwater samples were analyzed for indicators of contamination (pH, specific conductance [SC], total organic carbon, total organic halides, and tritium) and, beginning in 2017, toxicity characteristic metals (arsenic, barium, cadmium, chromium, lead, mercury, selenium, and silver). General water chemistry parameters (calcium, iron, magnesium, manganese, potassium, sodium, sulfate, chloride, fluoride, bicarbonate, and silicate) were also measured. Results from samples collected in 2018 are within the limits for each parameter established by the Nevada Division of Environmental Protection in Resource Conservation and Recovery Act (RCRA) Permit NEV HW0101, Revision 6. Data from the shallow aquifer indicate there has been no measurable impact to the uppermost aquifer from the Area 5 RWMS, and there were no significant changes in measured groundwater parameters compared to previous years. Leachate from lined mixed waste Cell 18 drains into a sump and is pumped into an above ground tank. Samples are collected from the tank when the leachate volume approaches the 3,000-gallon tank capacity. During 2018, leachate samples were collected on March 1, 2018 and August 1, 2018. All leachate analysis results are below the regulatory levels for toxicity characteristic contaminants (40 CFR 261.24) and below the investigation levels for polychlorinated biphenyls (PCBs), tritium, pH, and SC specified in RCRA Permit NEV HW0101, Revision 6. No quantifiable PCB levels were detected in any leachate sample. Based on the leachate analysis results, RCRA Permit NEV HW0101 allowed all leachate collected from Cell 18 to be pumped from the collection tank and used for dust control at Cell 18.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

A SQL to C compiler in 500 lines of code

Abstract We present the design and implementation of a SQL query processor that outperforms existing database systems and is written in just about 500 lines of Scala code – a convincing case study that high-level functional programming can handily beat C for systems-level programming where the last drop of performance matters. The key enabler is a shift in perspective toward generative programming. The core of the query engine is an interpreter for relational-algebra operations, written in Scala. Using the open-source lightweight modular staging framework, we turn this interpreter into a query compiler with very low effort. To do so, we capitalize on an old and widely known result from partial evaluation: the first Futamura projection, which states that a process that can specialize an interpreter to any given input program is equivalent to a compiler. In this context, we discuss lightweight modular staging programming patterns such as mixed-stage data structures (e.g., data records with static schema and dynamic field components) and techniques to generate low-level C code, including specialized data structures and data loading primitives.

Computer Science↗

Reporting the Radionuclide Inventory of the DWPF Product

In the Defense Waste Processing Facility (DWPF) at the Savannah River Site (SRS), the radionuclides contained in the liquid high-level waste currently stored at SRS are being converted into a durable borosilicate glass. This glass in its sealed stainless-steel canister, the DWPF product, eventually must be sent to a federal repository for final disposal. In order to ensure that the DWPF product is suitable for acceptance by the U. S. Department of Energy’s (DOE) Civilian Radioactive Waste Management System (CRWMS)*, the DOE Office of Environmental Management (DOE-EM) established the Waste Acceptance Product Specifications for Vitrified High-Level Waste Forms (WAPS). DOE-EM is tentatively performing surrogate CRWMS waste acceptance functions, as the office was eliminated in 2009, for review and concurrence of technical baseline documents and waste form non conformances. The specifications are divided into five sections, dealing with the waste form (borosilicate glass) itself, the canister, the canistered waste form, quality assurance, and documentation and other administrative requirements. The DWPF is required to document its compliance with the specifications in the Waste Form Compliance Plan (WCP), the Waste Form Qualification Report (WQR), the Production Records, and the Storage and Shipping Records. The WCP provides general information about the DWPF process and product, and a general description of the methods and programs by which the DWPF will demonstrate compliance with each specification in the WAPS. The WCP was vital to DWPF startup with respect to operations planning and also assurance to DOE that the canistered waste forms would be acceptable for disposal at any future High-Level Waste (HLW) geologic repository. The WQR is a compilation of the results of the testing and analysis programs identified in the WCP. The WQR details the method of compliance with each specification, and the testing performed to demonstrate the effectiveness of each method. The WQR is published in separate volumes which each correspond to one or more of the specifications. The WQR also contains a description of the DWPF’s Glass Product Control Program. Each volume contains Part and Item designators which indicate the corresponding item(s) in the WCP. The Production Records, and the Storage and Shipping Records document that each DWPF product has been produced and stored in compliance with the WAPS. This document, Volume 4 of the WQR, responds to WAPS Specifications 1.2.2, 1.6, and 3.14 which require that the DWPF report the radionuclide inventory of each canistered waste form, and of each waste type. This volume describes the systems the DWPF uses to determine and report the radionuclide inventory of the glass product, and provides evidence that these systems allow the DWPF to satisfy the WAPS specification. This volume of the WQR has been prepared to establish that methods are available to determine and report the radionuclide inventory, and that the DWPF is ready to collect the facility-specific data necessary to provide definitive estimates of the errors associated with the use of these methods.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

pLiner

Compiler optimizations can alter significantly 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. pLiner is a framework that helps programmers identify locations in the source code that are highly affected by compiler optimizations. pLiner uses a novel approach to identify such code locations by enhancing the floatingpoint precision of variables and expressions. Using a guided search to locate the most significant code regions, pLiner can report to users such locations at different granularities, file, function, and line of code.

Laguna Peralta, Ignacio↗