Search NASA⌕ Search

SEARCH · Search NASA

Results for “programming model”

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 145 records · Page 8

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↗

Unified Memory: GPGPU-Sim/UVM Smart Integration

CPU/GPU heterogeneous compute platforms are an ubiquitous element in computing and a programming model specified for this heterogeneous computing model is important for both performance and programmability. A programming model that exposes the shared, unified, address space between the heterogeneous units is a necessary step in this direction as it removes the burden of explicit data movement from the programmer while maintaining performance. GPU vendors, such as AMD and NVIDIA, have released software-managed runtimes that can provide programmers the illusion of unified CPU and GPU memory by automatically migrating data in and out of the GPU memory. However, this runtime support is not included in GPGPU-Sim, a commonly used framework that models the features of a modern graphics processor that are relevant to non-graphics applications. UVM Smart was developed, which extended GPGPU-Sim 3.x to in- corporate the modeling of on-demand pageing and data migration through the runtime. This report discusses the integration of UVM Smart and GPGPU-Sim 4.0 and the modifications to improve simulation performance and accuracy.

97 MATHEMATICS AND COMPUTING↗

PNNL DataHub NIAID Program Project: Modeling Host Responses to Understand Severe Human Virus Infections, Multi-Omic Viral Dataset Catalog Collection

The National Institute of Allergy and Infectious Diseases (NIAID) "Modeling Host Responses to Understand Severe Human Virus Infections" program project was a highly integrated and comprehensive systems biology research core, funded by the National Institute of Health (U19AI106772) from 2013-06-01 to 2018-05-31, investigating the complex host response to category A, B, and C priority pathogen infections. Resulting project deliverables include an extensive comprehensive collections of linked primary and secondary transformation viral experimental infection data. Here we provide a never before released comprehensive infectious disease collection of primary and secondary transformation multi-Omics data profiling a series of priority pathogen primary experimental studies for enhanced open access to viral Omics lifecycle datasets and project metadata. Using a highly integrated and multidisciplinary approach, linked primary data and metadata supporting secondary normalization datasets, provide critical information necessary for research reproducibility and long-term preservation. Enabling on-demand data access for research community consumption and developer reuse, serves to support new mechanistic insights and discoveries into host-pathogen interactions for aiding future biohazard data preparedness efforts in emergency response to global health crises involving viral infection.

59 BASIC BIOLOGICAL SCIENCES↗

Improving the Performance of Medical Imaging Applications using SYCL

In this report, we are interested in applying the SYCL programming model to medical imaging applications for a study on performance portability and programming productivity. The SYCL standard specifies a cross-platform abstraction layer that enables programming of heterogeneous computing systems using standard C++. As opposed to the Open Computing Language (OpenCL) programming model, in which host and device code are generally written in different programming languages [1], SYCL can combine host and device code for an application in a type-safe way to improve development productivity and performance portability.

97 MATHEMATICS AND COMPUTING↗

Implementing Ordinary Differential Equation Solvers in Rust Programming Language for Modeling Vehicle Powertrain Systems: Preprint

Efficient and accurate ordinary differential equation (ODE) solvers are necessary for powertrain and vehicle dynamics modeling. However, current commercial ODE solvers can be financially prohibitive, leading to a need for accessible, effective, open-source ODE solvers designed for powertrain modeling. Rust is a compiled programming language that has the potential to be used for fast and easy-to-use powertrain models, given its exceptional computational performance, robust package ecosystem, and short time required for modelers to become proficient. However, of the three commonly used (>3,000 downloads) packages in Rust with ODE solver capabilities, only one has more than four numerical methods implemented, and none are designed specifically for modeling physical systems. Therefore, the goal of the Differential Equation System Solver (DESS) was to implement accurate ODE solvers in Rust designed for the component-based problems often seen in powertrain modeling. DESS is a text-based software package that provides a flexible framework for building and solving systems of ODEs. This allows DESS to be included as a dependency for automotive powertrain models that require a variety of solvers and solver configurations. Seven explicit ODE solver methods have been implemented in DESS: Euler’s, Heun’s, midpoint, Ralston’s, classic Runge-Kutta, Bogacki-Shampine, and Cash-Karp. These represent five fixed-step methods and two adaptive-step methods. This paper shows that the solver implementations increase accuracy and computational efficiency compared to Euler's method when modeling a system of three thermal masses in Rust. DESS also includes features designed for modeling component-based physical systems. Users can define relationships between nodes in their system, which the package then translates into a system of equations, leading to simpler and more intuitive code. In the case of a three-thermal-mass system, the user can specify node thermal properties (e.g., thermal capacitance), how nodes are interconnected, and thermal conductance between nodes rather than providing a system of equations. The core contribution from this work is an open-source, text-based Rust package with ODE solvers for automotive powertrain modeling to support cost-free, fast, and accurate simulation.

ADVANCED PROPULSION SYSTEMS↗

Final Report from The University of Texas at Austin for DEGAS: Dynamic Global Address Space programming environments

The Dynamic, Exascale Global Address Space programming environment (DEGAS) project will develop the next generation of programming models and runtime systems to meet the challenges of Exascale computing. Our approach is to provide an efficient and scalable programming model that can be adapted to application needs through the use of dynamic runtime features and domain-specific languages for computational kernels. We address the following technical challenges: Programmability: Rich set of programming constructs based on a Hierarchical Partitioned Global Address Space (HPGAS) model, demonstrated in UPC++. Scalability: Hierarchical locality control, lightweight communication (extended GASNet), and ef- ficient synchronization mechanisms (Phasers). Performance Portability: Just-in-time specialization (SEJITS) for generating hardware-specific code and scheduling libraries for domain-specific adaptive runtimes (Habanero). Energy Efficiency: Communication-optimal code generation to optimize energy efficiency by re- ducing data movement. Resilience: Containment Domains for flexible, domain-specific resilience, using state capture mechanisms and lightweight, asynchronous recovery mechanisms. Interoperability: Runtime and language interoperability with MPI and OpenMP to encourage broad adoption.

97 MATHEMATICS AND COMPUTING↗

MPI + OpenACC: Accelerating radiation transport mini-application, minisweep, on heterogeneous systems

According to the article, architectures are rapidly evolving, and exascale machines are expected to offer billion-way concurrency. We need to rethink algorithms, languages and programming models among other components in order to migrate large scale applications and explore parallelism on these machines. Although directive-based programming models allow programmers to worry less about programming and more about science, expressing complex parallel patterns in these models can be a daunting task especially when the goal is to match the performance that the hardware platforms can offer. One such pattern is wavefront. This paper extensively studies a wavefront-based miniapplication for Denovo, a production code for nuclear reactor modeling. We parallelize the Koch–Baker–Alcouffe (KBA) parallel-wavefront sweep algorithm in the main kernel of Minisweep (the miniapplication) using CUDA 9.0, OpenMP 4.0 (SIMD) and OpenACC 2.6. Our OpenACC implementation running on NVIDIA’s next-generation Volta GPU boasts an 85.06x speedup over serial code, which is larger than CUDA’s 83.72x speedup over the same serial implementation. We also explore the scalability of our solution using MPI to decompose our simulation domain, allowing us to run on many nodes and accelerators present in state-of-the-art HPC systems. Our parallelization effort across platforms also motivated us to define an abstract parallelism model that is architecture independent, with a goal of creating software abstractions that can be used by applications employing the wavefront sweep motif.

Computer Science↗

Abstractions and Directives for Adapting Wavefront Algorithms to Future Architectures

Architectures are rapidly evolving, and exascale machines are expected to offer billion-way concurrency. We need to rethink algorithms, languages and programming models among other components in order to migrate large scale applications and explore parallelism on these machines. Although directive-based programming models allow programmers to worry less about programming and more about science, expressing complex parallel patterns in these models can be a daunting task especially when the goal is to match the performance that the hardware platforms can offer. One such pattern is wavefront. This paper extensively studies a wavefront-based miniapplication for Denovo, a production code for nuclear reactor modeling. We parallelize the Koch-Baker-Alcouffe (KBA) parallel-wavefront sweep algorithm in the main kernel of Minisweep (the miniapplication) using CUDA, OpenMP and OpenACC. Our OpenACC implementation running on NVIDIA's next-generation Volta GPU boasts an 85.06x speedup over serial code, which is larger than CUDA's 83.72x speedup over the same serial implementation. Our experimental platform includes SummitDev, an ORNL representative architecture of the upcoming Summit supercomputer. Our parallelization effort across platforms also motivated us to define an abstract parallelism model that is architecture independent, with a goal of creating software abstractions that can be used by applications employing the wavefront sweep motif.

Searles, Robert↗

A new portable random number generator wrapper library

Random number generator is an important component of many scientific projects. Many projects are written using programming models (like OpenMP and SYCL) to target different architectures. However, some programming models do not provide a random number generator. In this work, we introduce our random number generator wrapper. It is a header-only library that supports three distributions of random numbers: uniform, normal, and poisson. On the GPU backend, it wraps the cuRAND and rocRAND library, and supports various random number engines. It also wraps random123, a counterbased random number generator, on both CPU and GPU. With this library, we can generate random numbers with a few lines of code and target both GPU and multi-thread CPU with the same code. We also investigate the performance and scalability of this wrapper on different architectures with different engines and the number of cores.

97 MATHEMATICS AND COMPUTING↗

ECP ST Project 2.3.1.06-STPM08-RAJA (Final Report)

Modern high-performance computing architectures are diverse, with hardware designs that feature multicore CPUs and CPUs plus accelerators, such as GPUs or FPGAs. Achieving good application performance often requires using a programming model and managing application data in ways that are best suited to a particular platform. For large codes that are used daily in production, and are under continual development, architecture-specific ports are untenable. Maintainability requires single-source code that is performance portable across a range of architectures and programming model back-ends. This report describes RAJA, Umpire, and CHAI, three software libraries that provide complementary capabilities to enable application portability for high performance computing (HPC) platforms. In particular, these libraries provide software abstractions that insulate application source code from hardware architecture and programming model-specific implementation details. These development of these libraries was motivated by the needs of multiphysics applications in the Weapons Simulation and Computing Program (WSC) at Lawrence Livermore National Laboratory (LLNL). Funding though the Exascale Computing Project (ECP) Software Technology (ST) project 2.3.1.06 RAJA has fostered outreach and collaboration with the ECP application and software technology development communities. In this report, we describe ECP adoption and integration of these tools to this point. The larger goal of the report is to describe to the ECP community what these projects offer, how they are used, and how to approach adoption and integration of them.

97 MATHEMATICS AND COMPUTING↗

FPChecker

CUDA is the programming model used to program NVIDIA GPUs, which are widely used in DOE supercomputers. FPChecker allows programmers to detect and fix hidden exceptions in the floating-point computations that CUDA executes. When a floating-point exception occurs (e.g., division by zero), GPUs cannot catch these errors. FPChecker intercepts each floating-point operations (addition, subtraction, multiplication and division) and reports to users where exceptions occur (file and line of code).

Laguna Peralta, Ignacio↗

Earth Source Heat: A Cascaded Systems Approach to DDU of Geothermal Energy on the Cornell Campus

This report documents the completion of the DOE study DE-EE0008103: Earth Source Heat: A Cascaded Systems Approach to DDU of Geothermal Energy on the Cornell Campus. This study involved a comprehensive evaluation of the potential for Earth Source Heat (ESH), Cornell’s specific application of Deep Direct Use (DDU) geothermal energy, to create a viable renewable source of thermal energy for its Ithaca, NY campus district heating system. The study included stochastic modeling that married each of two potential subsurface resources (two specific geological reservoirs) to documented campus heating operations based on hourly campus heating profiles and proposed integrated equipment controls (variable speed pumps and heat pumps). The outputs of the subsurface modeling were used as inputs for a Cornell-developed surface heat use Excel-based modeling program (the program was named “Modeled ENergy Use”, or “MEnU”). This allowed Cornell to compute realistic annual totals of extractable and useable heat for the campus, including details like heat losses, minimum summer demand, and controllable building temperature settings. The Cornell team then evaluated the costs and benefits of each modeled scenario. The primary evaluation was a standard “single bottom line” economic calculation for the Levelized Cost of Heat (LCOH). This represents the annualized cost (per unit heat) for Cornell. Additional valuations were also computed based on the benefit to the environment and to the regional economy (i.e., economic benefits external to campus). The results of this study demonstrate that if suitable reservoir flow can be attained, Earth Source Heat would be a viable technology to supply Cornell’s district heating system. This viability is based on the following criteria: (1) The modeled system produced a total useable heat output that exceeded the minimum annual campus heat load determined at the onset of the project (i.e., offsetting at least 20% of the annual campus thermal load). The output range is substantial depending on both the subsurface resource and the surface applications; at the high end, our modeled solutions produced up to ~70% of existing campus heat load with a single well pair producing 70 kg/s with integrated high-temperature heat pumps, and (2) Modeling demonstrated that multiple geothermal reservoirs could provide economically viable results when heat pumps were strategically integrated, a design that has been proven in at least one European installation already. In this context, “economically viable” means that the LCOH for the project is less than the regional commercial price of heat that would be generated using natural gas (the most common and cheapest fossil alternative in our area). Based on a single-bottom-line (LCOH) valuation, our results show that economic success is likely for any reservoir deeper than about 2.25 km where a sufficient permeability exists (or can be created with stimulation or similar engineering enhancement) and reasonable production temperatures sustained over time. The LCOH values of $\$ 4.77$ to $\$ 6.46$ per MMBtu are all lower than the comparable cost of providing heat energy with a natural gas boiler for a facility in the Northeast U.S. that obtains natural gas at commercial rates (Commercial heat costs would include at least $\$ 9.41$ in fuel costs, representing total boiler/transfer efficiency of 85% using gas at $\$ 8.00$ per MMBtu; LCOH would be higher if capital equipment and other operating costs were included). In addition to LCOH, Cornell’s scope also included evaluation of the Environmental value and Regional Economic value of each scenario. When considering the environmental and regional economic value of such a project, the overall “triple bottom line” cost (i.e., the LCOH less the LCOH ENV and LCOH REG values) is even lower and in some cases negative; i.e., in some cases a project achieving the listed performance would have higher value to the environment and to the regional economy than the total project costs over the 30-year project timeframe.

15 GEOTHERMAL ENERGY↗

A Framework for the Analysis of Compiler Optimizations

Compilers transform program source code to machine executable code. During this transformation, they perform a number of compiler optimizations to improve the performance of the generated executable code. Importantly, applying those optimizations depends on the source code structure, such as the parallel programming model used to parallelize an algorithm. Often, implementations of the same algorithm with different programming models have vastly different performance because the compiler optimized them differently. We create FAROS, a framework to structure and automate the analysis of compiler optimizations on programs. FAROS automates the building process, execution profiling, and analysis of compiler optimization of programs, through a configuration interface. It outputs compiler optimization reports to show which optimizations applied to which line of source code, leveraging compilation remarks output by the compiler. Also, FAROS supports benchmarking performance of different program versions by collecting execution time results. In this first release of FAROS, we provide a configuration file to analyze compiler optimization differences for sequential vs OpenMP compilation, including 38 programs consisting of HPC proxy/mini/large applications, and NAS and Rodina kernels for analysis.

Georgakoudis, Giorgis↗

Exascale Programming Approaches for Accelerated Climate Modeling for Energy

The Accelerated Climate Modeling for Energy (ACME) program is a leading-edge climate and Earth system model designed to address the U.S. Department of Energy (DOE) mission needs. The ACME project involves collaboration between seven National Laboratories, the National Center for Atmospheric Research, four academic institutions, and one private-sector company. The ACME project funds ongoing efforts to ensure the model continues to make efficient use of DOE Leadership Computing Facilities (LCFs) in order to best address the three driving grand challenge science questions:Water cycle: How will more realistic portrayals of features important to the water cycle (resolution, clouds, aerosols, snowpack, river routing, land use) affect river flow and associated freshwater supplies at the watershed scale?Cryosphere systems: Could a dynamical instability in the Antarctic ice sheet be triggered within the next 40 years?Biogeochemistry: What are the contributions and feedbacks from natural and managed systems to current greenhouse gas fluxes, and how will those factors and associated fluxes evolve in the future?

Norman, Matthew↗

Experimental apparatus and methodology to test and quantify thermal performance of micro and macro-encapsulated phase change materials in building envelope applications

Thermal energy storage (TES) is used as a viable technology to shift peak electricity demand caused by the space cooling requirements in buildings. Passive TES is implemented in building envelope via micro and macroencapsulation methods. This study describes the use of a state-of-the-art laboratory to test different PCM inclusions in simplified building walls. A microencapsulated PCM and two macroencapsulated PCMs are tested in a controlled environment to gather data for validation purposes of PCM modelling algorithms in building energy modelling programs. Data indicates that the chamber environment and the heating and cooling system can conduct full-cycle tests of wall panels with PCM inclusions. This study also generates data from parallel tests on 4 wall panels which can be used in building energy modelling programs to validate the PCM modelling algorithms. The cyclic tests also capture the thermal effects of PCMs and complex PCM behaviors like sub-cooling in PCM hydrate-salts.

25 ENERGY STORAGE↗

Enhancing ChatPORT with CUDA-to-SYCL Kernel Translation Capability

Large Language Models (LLMs) have shown strong capabilities in general code translation. However, code translation involving parallel programming models remains largely unexplored. This work enhances the capabilities of code LLMs in CUDA-to-SYCL kernel translation with parameter-efficient fine-tuning. The resultant fine-tuned LLM, called ChatPORT, is an effort to provide high-fidelity translations from one programming model to another. We describe the preparation of datasets from heterogeneous computing benchmarks for model fine-tuning and testing, the parameter-efficient fine-tuning of 19 open-source code models ranging in size from 0.5 to 34 billion parameters and evaluate the correctness rates of the SYCL kernels by the fine-tuned models. The experimental results show that most code models fail to translate CUDA codes to SYCL correctly. However, fine-tuning these models using a small set of CUDA and SYCL kernels can enhance the capabilities of these models in kernel translation. Depending on the sizes of the models, the correctness rate ranges from 19.9% to 81.7% for a test dataset of 62 CUDA kernels.

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

Unified Language Frontend for Physic-Informed AI/ML

Artificial intelligence and machine learning (AI/ML) are becoming important tools for scientific modeling and simulation as in several other fields such as image analysis and natural language processing. ML techniques can leverage the computing power available in modern systems and reduce the human effort needed to configure experiments, interpret and visualize results, draw conclusions from huge quantities of raw data, and build surrogates for physics based models. Domain scientists in fields like fluid dynamics, microelectronics and chemistry can automate many of their most difficult and repetitive tasks or improve the design times by use of the faster ML-surrogates. However, modern ML and traditional scientific highperformance computing (HPC) tend to use completely different software ecosystems. While ML frameworks like PyTorch and TensorFlow provide Python APIs, most HPC applications and libraries are written in C++. Direct interoperability between the two languages is possible but is tedious and error-prone. In this work, we show that a compiler-based approach can bridge the gap between ML frameworks and scientific software with less developer effort and better efficiency. We use the MLIR (multi-level intermediate representation) ecosystem to compile a pre-trained convolutional neural network (CNN) in PyTorch to freestanding C++ source code in the Kokkos programming model. Kokkos is a programming model widely used in HPC to write portable, shared-memory parallel code that can natively target a variety of CPU and GPU architectures. Our compiler-generated source code can be directly integrated into any Kokkosbased application with no dependencies on Python or cross-language interfaces.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Molten Salt Reactor Campaign Modeling and Simulation Program Plan

The modeling and simulation activities within the Molten Salt Reactor Research and Development Campaign of the US Department of Energy Office of Nuclear Energy Advanced Reactor Technologies Program facilitate the development and application of analysis tools for the licensing and design of molten salt reactors.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗