Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “programming models”

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

Design-time performance modeling of compositional parallel programs

Performance models are powerful instruments for understanding the performance of parallel systems and uncovering their bottlenecks. Already during system design, performance models can help ponder alternative development options. However, creating a performance model – whether theoretically or empirically – for an entire application that does not exist yet is challenging. In this paper, we propose to generate performance models of full programs from performance models of their components using formal composition operators derived from parallel design patterns. As long as the design of the overall system follows such a pattern, its performance model can be predicted with reasonable accuracy without an actual implementation. In conclusion, we demonstrate our approach with design patterns of varying complexity, including pipeline, task pool, and eventually MapReduce, which is representative of a broad class of data-analytics applications.

97 MATHEMATICS AND COMPUTING↗

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↗

Grid Optimization Lawrence Livermore Nonlinear Programming

Modelling and solution library for security-constrained AC optimal power flow problems that uses nonlinear programming methods (interior-point methods) and solvers (Ipopt, HiOp). The code is written in C++ and provides parallel computing capabilities in the form of task parallelism (solving contingency problems in parallel). Code can run on a variety of commodity high-performance computing.

Petra, CosminG↗

Y-12 Nuclear Criticality Safety Program Health Model: Development, Use and Benefits

The Y-12 National Security Complex (Y-12) operates seven diverse enriched uranium processing facilities and maintains a comprehensive nuclear criticality safety (NCS) program. Given the magnitude of the hazard, the NCS program receives significant oversight. Describing the scope and health of the Y-12 NCS program to sometimes non-expert stakeholders with limited time had historically focused on recent events and “hot topics” which did not always convey sufficient context (i.e., how to differentiate between an individual performance issue and a systemic concern). Y-12 created the NCS Program Health (NCSPH) Model to provide a complete and holistic framework to quantify and communicate NCS program health. The model is constructed in a tiered fashion with the top tier broken into three (3) Tier 2 elements, fourteen (14) Tier 3 elements, and 104 Tier 4 and 5 elements. This granularity ensures every feature of the NCS Program is accounted for and stakeholders can see how these features support the collective whole. The model is used as the framework for NCS communications including program plans, reports, health surveys, and meeting agendas. The model has substantially improved stakeholder appreciation for the entirety of the NCS program and how events and assessment results factor into an overarching conclusion on NCS program health. While some details are Y-12 specific, the NCSPH model can easily be tailored for any other site with an NCS program.

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

Economic and Environmental Analysis to Evaluate the Potential Value of Co-Optima Diesel Bioblendstocks to Petroleum Refiners

The U.S. petroleum refining sector is undergoing a period of historic transformation, catalyzed by the decarbonization of the U.S. economy. Diesel-boiling-range bioblendstocks have gained traction, owing to their superior fuel properties and environmental performance as compared to traditional petroleum fuels. This work couples refinery linear programming models with life cycle assessment to quantify the potential economic and environmental benefits, and trade-offs, of blending diesel-boiling-range bioblendstocks at petroleum refineries. Linear programming models were developed in Aspen Process Industry Modeling Systems (PIMS) for three representative petroleum refinery configurations of differing complexity. Seven diesel-boiling-range bioblendstocks: 4-butoxyheptane, 5-ethyl-4-propylnonane, soy biodiesel, sludge hydrothermal liquefaction diesel, polyoxymethylene ethers, renewable diesel, and hexyl hexanoate, were investigated to identify key fuel properties that influence refineries' economics and to track the effect of adding bioblendstocks on refinery-wide cradle-to-gate greenhouse gases (GHG) emissions. These analyses considered blending levels from 10 to 30 vol% and fuel demand projections over the period 2040 to 2050. This analysis determines that bioblendstock sulfur content and cetane number are the primary fuel attributes with the potential to provide value to refiners. Life cycle assessment results indicate that the use of diesel-boiling-range bioblendstocks can reduce cradle-to-gate refinery GHG emissions by up to ~ 40 % relative to conventional refinery operations when considering carbon uptake in the supply chain of the bioblendstock. Refinery-wide marginal GHG abatement costs range from 120 to 3,600 USD2016/metric tons carbon dioxide equivalent avoided across the scenarios evaluated. Reducing the price of bioblendstocks is identified as a key to their adoption.

ADVANCED PROPULSION SYSTEMS,BIOMASS FUELS,ENERGY P↗

Argobots: A Lightweight Low-Level Threading and Tasking Framework

In the past few decades, a number of user-level threading and tasking models have been proposed in the literature to address the shortcomings of OS-level threads, primarily with respect to cost and flexibility. Current state-of-the-art user-level threading and tasking models, however, are either too specific to applications or architectures or are not as powerful or flexible. In this paper, we present Argobots, a lightweight, low-level threading and tasking framework that is designed as a portable and performant substrate for high-level programming models or runtime systems. Argobots offers a carefully designed execution model that balances generality of functionality with providing a rich set of controls to allow specialization by the user or high-level programming model. We describe the design, implementation, and optimization of Argobots and present integrations with three example high-level models: OpenMP, MPI, and co-located I/O service. Evaluations show that (1) Argobots outperforms existing generic threading runtimes; (2) our OpenMP runtime offers more efficient interoperability capabilities than production OpenMP runtimes do; (3) when MPI interoperates with Argobots instead of Pthreads, it enjoys reduced synchronization costs and better latency hiding capabilities; and (4) I/O service with Argobots reduces interference with co-located applications, achieving performance competitive with that of the Pthreads version.

Seo, Sangmin (ORCID:0000000295159836)↗

Implementing the OpenACC Data Model

Programming accelerators today usually requires managing separate virtual and physical memories, such as allocating space in and copying data between host and device memories. The OpenACC API provides data directives and clauses to control this behavior where it is required. This paper describes how the data model is supported in current OpenACC implementations, ranging from research compilers (OpenUH and OpenARC) to a commercial compiler (the PGI OpenACC compiler). This includes implementation of the data directives and clauses, testing whether the data is already present on the device, OpenCL support, managing asynchronous data transfers and memory allocations, handling aliased data, reusing device memory, managing partially present data, and support for shared memory between host and device. Lastly, it also discusses on-going work to manage large, complex dynamic data structures.

Wolfe, Michael↗

Optimal allocation of series FACTS devices in large‐scale systems

Series flexible AC transmission systems devices, such as the variable series reactor, have the ability to continuously regulate the transmission line reactance so as to control power flow. This study presents a new approach to optimally locating such devices in the transmission network considering multiple operating states and contingencies. To investigate optimal investment, a single target year planning with three different load patterns is considered. The transmission contingencies may occur under any of the three load conditions and the coupling constraints between base case and contingencies are included. A reformulation technique transforms the original mixed integer non‐linear programming model into mixed integer linear programming model. To further relieve the computational burden and enable the planning model to be directly applied to practical large‐scale systems, a two‐phase decomposition algorithm is introduced. Detailed numerical simulation results on IEEE 118‐bus system and the Polish 2383‐bus system illustrate the efficient performance of the proposed algorithm.

Zhang, Xiaohu↗

Large language model evaluation for high–performance computing software development

We apply AI-assisted large language model (LLM) capabilities of GPT-3 targeting high-performance computing (HPC) kernels for (i) code generation, and (ii) auto-parallelization of serial code in C ++, Fortran, Python and Julia. Our scope includes the following fundamental numerical kernels: AXPY, GEMV, GEMM, SpMV, Jacobi Stencil, and CG, and language/programming models: (1) C++ (e.g., OpenMP [including offload], OpenACC, Kokkos, SyCL, CUDA, and HIP), (2) Fortran (e.g., OpenMP [including offload] and OpenACC), (3) Python (e.g., numpy, Numba, cuPy, and pyCUDA), and (4) Julia (e.g., Threads, CUDA.jl, AMDGPU.jl, and KernelAbstractions.jl). Kernel implementations are generated using GitHub Copilot capabilities powered by the GPT-based OpenAI Codex available in Visual Studio Code given simple + + prompt variants. To quantify and compare the generated results, we propose a proficiency metric around the initial 10 suggestions given for each prompt. For auto-parallelization, we use ChatGPT interactively giving simple prompts as in a dialogue with another human including simple “prompt engineering” follow ups. Results suggest that correct outputs for C++ correlate with the adoption and maturity of programming models. For example, OpenMP and CUDA score really high, whereas HIP is still lacking. We found that prompts from either a targeted language such as Fortran or the more general-purpose Python can benefit from adding language keywords, while Julia prompts perform acceptably well for its Threads and CUDA.jl programming models. Finally, we expect to provide an initial quantifiable point of reference for code generation in each programming model using a state-of-the-art LLM. Overall, understanding the convergence of LLMs, AI, and HPC is crucial due to its rapidly evolving nature and how it is redefining human-computer interactions.

97 MATHEMATICS AND COMPUTING↗

Two-stage Stochastic Generalized Disjunctive Programming (GDP) Model for Proactive Planning and Reactive Operations of Resilient Power Systems under Disruptions

In this work, we propose a Generalized Disjunctive Programming (GDP) model that optimizes both long-term capacity planning (such as the number and size of dispatchable/renewable generators, batteries, and transmission lines) and hourly operation (such as on/off schedules of dispatchable generators, power output from each generator, and power flow) to maximize power system reliability while minimizing total cost and CO2 emissions.

Cho, Seolhee↗

Parthenon—a performance portable block-structured adaptive mesh refinement framework

On the path to exascale the landscape of computer device architectures and corresponding programming models has become much more diverse. While various low-level performance portable programming models are available, support at the application level lacks behind. To address this issue, we present the performance portable block-structured adaptive mesh refinement (AMR) framework Parthenon, derived from the well-tested and widely used Athena++ astrophysical magnetohydrodynamics code, but generalized to serve as the foundation for a variety of downstream multi-physics codes. Parthenon adopts the Kokkos programming model, and provides various levels of abstractions from multidimensional variables, to packages defining and separating components, to launching of parallel compute kernels. Parthenon allocates all data in device memory to reduce data movement, supports the logical packing of variables and mesh blocks to reduce kernel launch overhead, and employs one-sided, asynchronous MPI calls to reduce communication overhead in multi-node simulations. Using a hydrodynamics miniapp, we demonstrate weak and strong scaling on various architectures including AMD and NVIDIA GPUs, Intel and AMD x86 CPUs, IBM Power9 CPUs, as well as Fujitsu A64FX CPUs. At the largest scale on Frontier (the first TOP500 exascale machine), the miniapp reaches a total of 1.7 × 10 13 zone-cycles/s on 9216 nodes (73,728 logical GPUs) at [Formula: see text] weak scaling parallel efficiency (starting from a single node). In combination with being an open, collaborative project, this makes Parthenon an ideal framework to target exascale simulations in which the downstream developers can focus on their specific application rather than on the complexity of handling massively-parallel, device-accelerated AMR.

97 MATHEMATICS AND COMPUTING↗

Evaluating Nonuniform Reduction in HIP and SYCL on GPUs

Motivated by maturing programming models and portability for heterogeneous computing, we describe the challenges posed by hardware architectures and programming models when migrating an optimized implementation of nonuniform reduction from CUDA to HIP and SYCL. We explain the migration experience, evaluate the performance of the reduction on GPU -based computing platforms, and provide feedback on improving portability for the development of the SYCL programming model.

Jin, Zheming↗

A Locality-Based Threading Algorithm for the Configuration-Interaction Method

The Configuration Interaction (CI) method has been widely used to solve the non-relativistic many-body Schrodinger equation. One great challenge to implementing it efficiently on manycore architectures is its immense memory and data movement requirements. To address this issue, within each node, we exploit a hybrid MPI+OpenMP programming model in lieu of the traditional flat MPI programming model. Here in this paper, we develop optimizations that partition the workloads among OpenMP threads based on data locality,-which is essential in ensuring applications with complex data access patterns scale well on manycore architectures. The new algorithm scales to 256 threadson the 64-core Intel Knights Landing (KNL) manycore processor and 24 threads on dual-socket Ivy Bridge (Xeon) nodes. Compared with the original implementation, the performance has been improved by up to 7× on theKnights Landing processor and 3× on the dual-socket Ivy Bridge node.

97 MATHEMATICS AND COMPUTING↗

Dynamically Downscaled Hourly Future Weather Data with 12-km Resolution Covering Most of North America

This is an hourly future weather dataset for energy modeling applications. The dataset is primarily based on the output of a regional climate model (RCM), i.e., the Weather Research and Forecasting (WRF) model version 3.3.1. The WRF simulations are driven by the output of a general circulation model (GCM), i.e., the Community Climate System Model version 4 (CCSM4). This dataset is in the EPW format, which can be read or translated by more than 25 building energy modeling programs (e.g., EnergyPlus, ESP-r, and IESVE), energy system modeling programs (e.g., System Advisor Model (SAM)), indoor air quality analysis programs (e.g., CONTAM), and hygrothermal analysis programs (e.g., WUFI). It contains 13 weather variables, which are the Dry-Bulb Temperature, Dew Point Temperature, Relative Humidity, Atmospheric Pressure, Horizontal Infrared Radiation Intensity from Sky, Global Horizontal Irradiation, Direct Normal Irradiation, Diffuse Horizontal Irradiation, Wind Speed, Wind Direction, Sky Cover, Albedo, and Liquid Precipitation Depth. The weather data is created for two emissions scenarios: RCP4.5 and RCP8.5 and spans two 10-year time slices in the future: 2045 - 2054 and 2085 - 2094. It offers a spatial resolution of 12 km by 12 km with extensive coverage across most of North America. Due to the enormous size of the entire dataset, in the first stage of its distribution, we provide 20 years of future weather data for the centroid of each Public Use Microdata Area (PUMA), excluding Hawaii. PUMAs are non-overlapping, statistical geographic areas that partition each state or equivalent entity into geographic areas containing no fewer than 100,000 people each. The 2,378 PUMAs as a whole cover the entirety of the U.S. The weather data can be utilized alongside the large-scale energy analysis tools, ResStock and ComStock, developed by National Renewable Energy Laboratory, whose smallest resolution is at the PUMA scale. The data for RCP4.5 is still being processed and will be published soon.

Array↗

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↗

A Study of Performance Portability of Low-bit Fused Matrix-Vector Multiplication Kernels in SYCL

Understanding the causes of performance gaps between a portable programming model and a vendor-specific programming model is important for improving performance portability. This paper studies performance portability of low-bit fused general matrix-vector multiplication kernels in SYCL on vendors’ graphics processing units (GPUs). This work introduces the use case, explains the kernel implementations in detail, evaluates the performance of the CUDA, HIP, and SYCL kernels on datacenter, desktop, and laptop GPUs, and investigates the causes of performance gaps. The results show that loop unrolling, kernel dispatch overhead, and sum reduction contribute to the gaps.

Jin, Zheming [ORNL] (ORCID:000000027197780X)↗

Harnessing billions of tasks for a scalable portable hydrodynamic simulation of the merger of two stars

We propose a highly scalable demonstration of a portable asynchronous many-task programming model and runtime system applied to a grid-based adaptive mesh refinement hydrodynamic simulation of a double white dwarf merger with 14 levels of refinement that spans 17 orders of magnitude in astrophysical densities. The code uses the portable C++ parallel programming model that is embodied in the HPX library and being incorporated into the ISO C++ standard. The model reflects a significant shift from existing bulk synchronous parallel programming models under consideration for exascale systems. Through the use of the Futurization technique, seemingly sequential code is transformed into wait-free asynchronous tasks. We demonstrate the potential of our model by showing results from strong scaling runs on National Energy Research Scientific Computing Center’s Cori system (658,784 Intel Knight’s Landing cores) that achieve a parallel efficiency of 96.8% using billions of asynchronous tasks.

79 ASTRONOMY AND ASTROPHYSICS↗

Optimal Strategies for Hybrid Battery‐Storage Systems Design

As stationary hybrid energy‐storage systems (HESS) for power systems applications have recently drawn interest due to their enhanced performance and decreasing cost, developing systematic approaches for HESS design while considering controls is gaining traction. Herein, a method is presented to optimally design hybrid battery storage by proposing a mathematical modeling framework, formulated as a mixed integer linear programming model. The optimization is capable of handling multiple subsystems of batteries, considering their economic and technological performance. Decisions involve sizing of the batteries, optimal temporal and strategic dispatch to end uses, and energy sources for charging each battery. The applicability of the model is tested on four case studies for three battery chemistries representing distinct objectives: high‐power, high‐energy, and second life. Compared to traditionally designed battery storage with a homogeneous battery, optimally designed hybrid systems can save 12%–26% of system costs, depending on the nature of the dispatch profile. Findings point to design preference toward the second life battery supplemented with some high‐power or high‐energy battery capacity, or both. With the utilized electricity price structure, customers can experience approximately 10%–35% reduction in their bills.

Koleva, Mariya↗