Search NASA⌕ Search

SEARCH · Search NASA

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 37 records · Page 2

Evaluating performance and portability of high-level programming models: Julia, Python/Numba, and Kokkos on exascale nodes

We explore the performance and portability of the high-level programming models: the LLVM-based Julia and Python/Numba, and Kokkos on high-performance computing (HPC) nodes: AMD Epyc CPUs and MI250X graphical processing units (GPUs) on Frontier’s test bed Crusher system and Ampere’s Arm-based CPUs and NVIDIA’s A100 GPUs on the Wombat system at the Oak Ridge Leadership Computing Facilities. We compare the default performance of a hand-rolled dense matrix multiplication algorithm on CPUs against vendor-compiled C/OpenMP implementations, and on each GPU against CUDA and HIP. Rather than focusing on the kernel optimization per-se, we select this naive approach to resemble exploratory work in science and as a lower-bound for performance to isolate the effect of each programming model. Julia and Kokkos perform comparably with C/OpenMP on CPUs, while Julia implementations are competitive with CUDA and HIP on GPUs. Performance gaps are identified on NVIDIA A100 GPUs for Julia’s single precision and Kokkos, and for Python/Numba in all scenarios. We also comment on half-precision support, productivity, performance portability metrics, and platform readiness. We expect to contribute to the understanding and direction for high-level, high-productivity languages in HPC as the first-generation exascale systems are deployed.

Godoy, William↗

Evolution of a minimal parallel programming model

Here, we take a historical approach to our presentation of self-scheduled task parallelism, a programming model with its origins in early irregular and nondeterministic computations encountered in automated theorem proving and logic programming. We show how an extremely simple task model has evolved into a system, asynchronous dynamic load balancing (ADLB), and a scalable implementation capable of supporting sophisticated applications on today’s (and tomorrow’s) largest supercomputers; and we illustrate the use of ADLB with a Green’s function Monte Carlo application, a modern, mature nuclear physics code in production use. Our lesson is that by surrendering a certain amount of generality and thus applicability, a minimal programming model (in terms of its basic concepts and the size of its application programmer interface) can achieve extreme scalability without introducing complexity.

97 MATHEMATICS AND COMPUTING↗

Cross-scale efficient tensor contractions for coupled cluster computations through multiple programming model backends

Coupled-cluster methods provide highly accurate models of molecular structure through explicit numerical calculation of tensors representing the correlation between electrons. These calculations are dominated by a sequence of tensor contractions, motivating the development of numerical libraries for such operations. While based on matrix–matrix multiplication, these libraries are specialized to exploit symmetries in the molecular structure and in electronic interactions, and thus reduce the size of the tensor representation and the complexity of contractions. The resulting algorithms are irregular and their parallelization has been previously achieved via the use of dynamic scheduling or specialized data decompositions. We introduce our efforts to extend the Libtensor framework to work in the distributed memory environment in a scalable and energy-efficient manner. We achieve up to 240× speedup compared with the optimized shared memory implementation of Libtensor. We attain scalability to hundreds of thousands of compute cores on three distributed-memory architectures (Cray XC30 and XC40, and IBM Blue Gene/Q), and on a heterogeneous GPU-CPU system (Cray XK7). As the bottlenecks shift from being compute-bound DGEMM's to communication-bound collectives as the size of the molecular system scales, we adopt two radically different parallelization approaches for handling load-imbalance, tasking and bulk synchronous models. Nevertheless, we preserve a unified interface to both programming models to maintain the productivity of computational quantum chemists.

97 MATHEMATICS AND COMPUTING↗

Critical Role of the Public Theory & Modeling Program for Commercial Fusion Energy

This white paper contributes input from the Executive Committee of the Theory Coordinating Committee to the 2024 FESAC Decadal Plan Subcommittee. It is argued that the public Theory and Modeling program plays a critical role in the pursuit of commercial fusion energy. A new mechanism for fostering engagement between the fusion industry and the public Theory and Modeling program could provide better alignment between the goals of the public program and the needs of private industry.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Sparse Deep Neural Network Inference using different Programming Models

Sparse deep neural networks have gained increasing attention recently in achieving speedups on inference with reduced memory footprints. However, the real-world applications are little shown with specialized optimizations, yet a wide variety of DNN tasks remain dense without exploiting the advantages of sparsity in networks. Recent work presented by MIT/IEEE/Amazon GraphChallenge has demonstrated significant speedups and various techniques. Still, we find that there is limited investigation of the impact of various Python and C\slash C++ based programming models to explore new opportunities in general cases. In this work, we provide performance evaluation through different programming models using CuPy, cuSPARSE, and OpenMP to discuss the advantages and disadvantages of our sparse implementations on single-GPU and multiple GPUs of NVIDIA DGX-A100 40GB/80GB platforms.

machine learning, HPC↗

Keys to the House: Unlocking Residential Savings With Program Models for Home Energy Upgrades

After more than 40 years of effort, energy efficiency program administrators and associated contractors still find it challenging to penetrate the home retrofit market, especially at levels commensurate with state and federal goals for energy savings and emissions reductions. Residential retrofit programs further have not coalesced around a reliably successful model. They still vary in design, implementation and performance, and they remain among the more difficult and costly options for acquiring savings in the residential sector. If programs are to contribute fully to meeting resource and policy objectives, administrators need to understand what program elements are key to acquiring residential savings as cost effectively as possible. To that end, the U.S. Department of Energy (DOE) sponsored a comprehensive review and analysis of home energy upgrade programs with proven track records, focusing on those with robustly verified savings and constituting good examples for replication. The study team reviewed evaluations for the period 2010 to 2014 for 134 programs that are funded by customers of investor-owned utilities. All are programs that promote multi-measure retrofits or major system upgrades. We paid particular attention to useful design and implementation features, costs, and savings for nearly 30 programs with rigorous evaluations of performance. This meta-analysis describes program models and implementation strategies for (1) direct install retrofits; (2) heating, ventilating and air-conditioning (HVAC) replacement and early retirement; and (3) comprehensive, whole-home retrofits. We analyze costs and impacts of these program models, in terms of both energy savings and emissions avoided. These program models can be useful guides as states consider expanding their strategies for acquiring energy savings as a resource and for emissions reductions. We also discuss the challenges of using evaluations to create program models that can be confidently applied in multiple jurisdictions.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

DOE/UCAR Cooperative Agreement for the Regional and Global Climate Modeling Program

This progress report describes research supported by Cooperative Agreement between the University Corporation for Atmospheric Research (UCAR) and the U.S. Department of Energy (DOE) Biological and Environmental Research (BER). The purpose of the Cooperative Agreement is to provide support for an integrated research program to address key science questions relevant to the DOE Regional and Global Climate Modeling Program as part of the U.S. Global Change Research Program (USGCRP). The Cooperative Agreement funds four tasks that address key aspects of climate science, and this report provides a summary of activities for each task during the past year. As part of the Cooperative Agreement supported science, the Climate Change Prediction (CCP) group at the National Center for Atmospheric Research (NCAR), provides leadership to the Community Earth System Model (CESM) Climate Variability and Change Working Group (CVCWG) through co-chairs Gerald Meehl and Susan Bates (with DOE-funded co-chair Peter Gleckler, along with Clara Deser and Shang-Ping Xie). Over the past year CCP has played a leadership role in performing climate change simulations and analyses with the Community Climate System Model version 4 (CCSM4) and CESM version 1. These simulations and analyses made strong contributions to the federal USGCRP in several high priority areas. We have also been involved in planning for the sixth phase of the Coupled Model Intercomparison Project (CMIP6) which started in 2015. Simulations from CMIP6 will form the basis for ongoing U.S. National Assessment activities, and the IPCC AR6.

54 ENVIRONMENTAL SCIENCES↗

U.S. Department of Energy Reference Model Program RM1: Experimental Results.

The Reference Model Project (RMP), sponsored by the U.S. Department of Energy’s (DOE) Wind and Water Power Technologies Program within the Office of Energy Efficiency & Renewable Energy (EERE), aims at expediting industry growth and efficiency by providing nonproprietary Reference Models (RM) of MHK technology designs as study objects for opensource research and development (Neary et al. 2014a,b). As part of this program, MHK turbine models were tested in a large open channel facility at the University of Minnesota’s St. Anthony Falls Laboratory (UMN-SAFL). Reference Model 1 (RM1) is a 1:40 geometric scale dual-rotor axial flow horizontal axis device with counter-rotating rotors, each with a rotor diameter dT = 0.5m. Precise blade angular position and torque measurements were synchronized with three acoustic Doppler velocimeters (ADVs) aligned with each rotor and the midpoint for RM1. Flow conditions for each case were controlled such that depth, h = 1m, and volumetric flow rate, Qw = 2.425m3s-1, resulting in a hub height velocity of approximately Uhub = 1.05ms-1 and blade chord length Reynolds numbers of Rec ≈ 3.0x105. Vertical velocity profiles collected in the wake of each device from 1 to 10 rotor diameters are used to estimate the velocity recovery and turbulent characteristics in the wake, as well as the interaction of the counter-rotating rotor wakes. The development of this high resolution laboratory investigation provides a robust dataset that enables assessing turbulence performance models and their ability to accurately predict device performance metrics, including computational fluid dynamics (CFD) models that can be used to predict turbulent inflow environments, reproduce wake velocity deficit, recovery and higher order turbulent statistics, as well as device performance metrics.

17 WIND ENERGY↗

Integrating External Resources with a Task-Based Programming Model

Accessing external resources (e.g., loading input data, checkpointing snapshots, and out-of-core processing) can have a significant impact on the performance of supercomputer applications. However, no existing programming systems for high-performance computing directly manage and optimize these external accesses. As a result, users must explicitly manage external accesses alongside their computation at the application level, which can result in both correctness and performance issues. We address this limitation by introducing Iris, a task-based programming model with semantics for external resources. Iris allows applications to describe their access requirements to external resources and the relationship of those accesses to the computation. Iris incorporates external I/O into a deferred execution model, reschedules external I/O to overlap I/O with computation, and reduces external I/O when possible. We evaluate Iris on three microbenchmarks representative of important workloads in HPC and a full combustion simulation, S3D. We demonstrate that the Iris implementation of S3D reduces the external I/O overhead by up to 20×, compared to the Legion and the Fortran implementations.

97 MATHEMATICS AND COMPUTING↗

kokkosSZ (kSZ) A Portable Cellerator Implementation of SZ using Kokkos Programming Model

kSZ is a Kokkos-based implementation of the world-widely used SZ lossy compressor. We use Kokkos because it provides abstractions for both parallel execution of code and data management, which can be used to support portable implementation across different accelerator technologies. Kokkos can support OpenMP/OpenMPTarget, oneAPI, Pthreads, and CUDA as backend programming models.

ECP↗

Performance Evaluation of Different Parallel Programming Models in SCALE-Shift Sequences for Criticality and Shielding Applications [Abstract]

The SCALE code system has been widely used for nuclear criticality safety, reactor physics, radiation shielding, source term generation, and inventory analyses by researchers, industry, and regulatory bodies. Although limited support for shared- and distributed-memory parallel processing was introduced via C++ threading, OpenMP, and MPI, a hybrid parallel programming model with both distributed- and shared-memory parallelism has not been fully supported in the SCALE code system.

Nuclear Criticality Safety Program (NCSP)↗

A multi-stage stochastic programming model for adaptive biomass processing operation under uncertainty

Variations of physical and chemical characteristics of biomass reduce equipment utilization and increase operational costs of biomass processing. Biomass processing facilities use sensors to monitor the changes in biomass characteristics. Integrating sensory data into the operational decisions in biomass processing will increase its flexibility to the changing biomass conditions. In this paper, we propose a multi-stage stochastic programming model that minimizes the expected operational costs by identifying the initial inventory level and creating an operational decision policy for equipment speed settings. These policies take the sensory information data and the current biomass inventory level as inputs to dynamically adjust inventory levels and equipment settings according to the changes in the biomass' characteristics. We ensure that a prescribed target reactor utilization is consistently achieved by penalizing the violation of the target reactor feeding rate. A case study is developed using real-world data collected at Idaho National Laboratory's biomass processing facility. We show the value of multi-stage stochastic programming from an extensive computational experiment. Our sensitivity analysis indicates that updating the infeed rate of the system, the processing speed of equipment, and bale sequencing based on the moisture level of biomass improves the processing rate of the reactor and reduces operating costs.

09 BIOMASS FUELS↗

Tri-Level Linear Programming Model for Automatic Load Shedding Using Spectral Clustering

Traditional load shedding schemes can be inadequate in grids with high renewable penetration, leading to unstable events and unnecessary grid islanding. Although for both manual and automatic operating modes load shedding areas have been predefined by grid operators, they have remained fixed, and may be sub-optimal due to dynamic operating conditions. In this work, a distributed tri-level linear programming model for automatic load shedding to avoid system islanding is presented. Preventing islanding is preferred because it reduces the need for additional load shedding besides the disconnection of transmission lines between islands. This is crucial as maintaining the local generation-demand balance is necessary to preserve frequency stability. Furthermore, uneven distribution of generation resources among islands can lead to increased load shedding, causing economic and reliability challenges. This issue is further compounded in modern power systems heavily dependent on non-dispatchable resources like wind and solar. The upper-level model uses complex power flow measurements to determine the system areas to shed load depending on actual operating conditions using a spectral clustering approach. The mid-level model estimates the area system state, while the lower-level model determines the locations and load values to be shed. The solution is practical and promising for real-world applications.

Baquedano-Aguilar, Mario D.↗

MiniApps derived from production HPC applications using multiple programing models

Here, we have developed a set of reduced, proxy applications (“MiniApps”) based on large-scale application codes supported at the Oak Ridge Leadership Computing Facility (OLCF). The MiniApps are designed to encapsulate the details of the most important (i.e. the most time-consuming and/or unique) facets of the applications that run in production mode on the OLCF. In each case, we have produced or plan to produce individual versions of the MiniApps using different specific programing models (e.g., OpenACC, CUDA, OpenMP). We describe some of our initial observations regarding these different implementations along with estimates of how closely the MiniApps track the actual performance characteristics (in particular, the overall scalability) of the large-scale applications from which they are derived.

97 MATHEMATICS AND COMPUTING↗

Porting ATLAS Fast Calorimeter Simulation to GPUs with Performance Portable Programming Models

FastCaloSim is a parameterized simulation of the particle energy response and of the energy distribution in the ATLAS calorimeter. It is a relatively small and self-contained package with massive inherent parallelism and captures the essence of GPU offloading via important operations like data transfer, memory initialization, floating point operations, and reduction. It was identified by the High Energy Physics Center for Computational Excellence project as a good testbed for evaluating the performance and ease of portability of programming models. In this paper, we will discuss the results of our evaluation of the porting process to Kokkos, SYCL, Alpaka, OpenMP and std::par (nvc++), and compare performance on NVIDIA, AMD and Intel GPUs, as well as multicore CPUs.

97 MATHEMATICS AND COMPUTING↗

Fault Tolerance Assistant (FTA): An Exception Handling Programming Model for MPI Applications

Future high-performance computing systems may face frequent failures with their rapid increase in scale and complexity. Resilience to faults has become a major challenge for large-scale applications running on supercomputers, which demands fault tolerance support for prevalent MPI applications. Among failure scenarios, process failures are one of the most severe issues as they usually lead to termination of applications. However, the widely used MPI implementations do not provide mechanisms for fault tolerance. We propose FTA-MPI (Fault Tolerance Assistant MPI), a programming model that provides support for failure detection, failure notification and recovery. Specifically, FTA-MPI exploits a try/catch model that enables failure localization and transparent recovery of process failures in MPI applications. We demonstrate FTA-MPI with synthetic applications and a molecular dynamics code CoMD, and show that FTA-MPI provides high programmability for users and enables convenient and flexible recovery of process failures.

97 MATHEMATICS AND COMPUTING↗

OpenSHMEM-UCX : Evaluation of UCX for implementing OpenSHMEM Programming Model

The OpenSHMEM reference implementation was developed towards the goal of developing an open source and high-performing Open- SHMEM implementation. To achieve portability and performance across various networks, the OpenSHMEM reference implementation uses GAS- Net and UCCS for network operations. Recently, new network layers have emerged with the promise of providing high-performance, scalabil- ity, and portability for HPC applications. In this paper, we implement the OpenSHMEM reference implementation to use the UCX framework for network operations. Then, we evaluate its performance and scalabil- ity on Cray XK systems to understand UCX s suitability for developing the OpenSHMEM programming model. Further, we develop a bench- mark called SHOMS for evaluating the OpenSHMEM implementation. Our experimental results show that OpenSHMEM-UCX outperforms the vendor supplied OpenSHMEM implementation in most cases on the Cray XK system by up to 40% with respect to message rate and up to 70% for the execution of application kernels.

Baker, Matthew B↗