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 199 records · Page 11

Building flexible real-time systems using the Flex language

The design and implementation of a real-time programming language called Flex, which is a derivative of C++, are presented. It is shown how different types of timing requirements might be expressed and enforced in Flex, how they might be fulfilled in a flexible way using different program models, and how the programming environment can help in making binding and scheduling decisions. The timing constraint primitives in Flex are easy to use yet powerful enough to define both independent and relative timing constraints. Program models like imprecise computation and performance polymorphism can carry out flexible real-time programs. In addition, programmers can use a performance measurement tool that produces statistically correct timing models to predict the expected execution time of a program and to help make binding decisions. A real-time programming environment is also presented.

Kenny, Kevin B.↗

A Case Study with the HACCmk Kernel in SYCL

The SYCL standard specifies a cross-platform abstraction layer that enables programming of heterogeneous computing systems using standard C++ [1]. In the Open Computing Language (OpenCL) programming model, host and device codes are written in different languages [2 ]. To improve development productivity and performance portability, the SYCL programming model combines host and device codes for an application in a type-safe way. In this report, we are interested in applying the SYCL programming model to a computationally intensive routine derived from the Hardware Accelerated Cosmology Code (HACC) framework for a study on performance portability on a heterogeneous computing device. We use Intel® OneAPI toolkit [3] to build the OpenCL and SYCL programs, and evaluate the performance of both implementations on Intel® integrated GPUs. We find that the SYCL implementation can achieve the same performance as the OpenCL implementation after we specify a target backend for the compiler to build the SYCL program in offline compilation. Without the specification of a target backend, the runtime will have to compile intermediate device codes for a target platform. Such runtime overhead may become significant compared to the execution of a kernel on a target device. As the kernel routine is compute-bound, we evaluate the impact of the number of compute units upon the kernel’s raw performance using two GPUs. When the hardware resource is not underutilized, we can obtain almost linear performance speedup from 48 compute units to 72 compute units in offline compilation, which indicates that the number of compute units on a GPU are important to improving the raw performance of a compute-bound kernel. The experimental results show that SYCL is a promising programming model for heterogeneous computing. The remainder of the report is organized as follows: In Section II, we describe the SYCL programming model, the steps to map an OpenCL program to a SYCL program, and the architecture of an integrated GPU. Section III introduces the kernel routine, and presents the OpenCL and SYCL implementations of the kernel. In Section IV, we evaluate the performance of the implementations on the GPUs. Section V concludes the report.

97 MATHEMATICS AND COMPUTING↗

Towards Generic Parallel Programming in Computer Science Education with Kokkos

Parallel patterns, views, and spaces are promising abstractions to capture the programmer's intent as well as the contextual information that can be used by an underlying runtime to efficiently map software to parallel hardware. These abstractions can be valuable in cases where an algorithm must accommodate requirements of code and performance portability across hardware architectures and vendor programming models. Kokkos is a parallel programming model for host- and accelerator architectures that relies on these abstractions and targets these requirements. It consists of a pure C++ interface, a specification, and a programming library. The programming library exposes patterns and types and maps them to an underlying abstract machine model. The abstract machine model offers a generic view of parallel hardware. While Kokkos is gaining popularity in large-scale HPC applications at some DOE laboratories, we believe that the implemented concepts are of interest to a broader audience including academia as they may contribute to a generic, vendor, and architecture-independent education of parallel programming. In this work, we give an insight into the design considerations of this programming model and list important abstractions. Further, we document best practices obtained from giving virtual classes on Kokkos and give pointers to resources that the reader may consider valuable for a lecture on generic parallel programming for students with preexisting knowledge on this matter.

Ciesko, Jan↗

A Case Study on the HACCmk Routine in SYCL on Integrated Graphics

As opposed to the Open Computing Language (OpenCL) programming model in which host and device codes are generally written in different languages, the SYCL programming model can combine host and device codes for an application in a type-safe way to improve development productivity. In this paper, we chose the HACCmk routine, a representative compute-bound kernel, as a case study on the performance of the SYCL programming model targeting a heterogeneous computing device. More specifically, we introduced the SYCL programming model, presented the OpenCL and SYCL implementations of the routine, and compared the performance of the two implementations using the offline and online compilation on Intel (R) Iris (TM) Pro integrated GPUs. We found that the overhead of online compilation may become significant compared to the execution time of a kernel. Compared to the performance of OpenCL implementations, the SYCL implementation can maintain the performance using the offline compilation. The number of execution units in a GPU are critical to improving the raw performance of a compute-bound kernel.

Compilation modes↗

Final Report on Community Solar Design Models for Consumer, Industry, & Utility Success

Since the inception of the first community solar program in 2006, a number of different utility, solar industry and consumer driven community solar program models have emerged across the country with varying regulatory and solar market frameworks behind them. There is little consistency in how programs are administered, participant benefits are assigned, and customers are charged for participation. Further, while it is regularly speculated that community solar programs meet the needs of customers, no such consumer research has been completed against different community solar program models. This collaborative research effort addressed three primary issues: Program design models are numerous and evolving, with varying degrees of applicability across different state policy, utility regulatory, and solar market types. The agents, transaction methods, and accruing costs and benefits are highly variable and largely built on anecdotally successful model evolution. ‘Community solar’ (shared/group solar, solar gardens, etc.) has become a catch-all concept that means different things to different stakeholders, limiting constructive program development and growth. Everything from green pricing programs to remote net metering to metering aggregation has been framed as community solar. Consumer research on individual concepts and program models has been done, but no comprehensive and comparative market research on the broader design models and attributes has been performed. SEPA’s collaborative research effort on Community Solar Design Models for Consumer, Industry, & Utility Success is premised on the principle that greater standardization of community solar models and better understanding of consumer interests are key underpinnings of increased community solar deployment. Utilizing a cross-sectional multi-stakeholder working group, as well as focus groups and surveys, webinars, targeted outreach, and other tools, this project aims to expand the community solar knowledge base, facilitate information exchange, identify opportunities for standardization and improvement, determine what consumers’ interests are and how best to message to them, promote the research results within the solar and utility industries, and advance key opportunities for strategic deployment plans for community solar. A summary of these key takeaways/lessons learned during the grant period include: Siting of system should be evaluated up-front in the process Engage stakeholders collaboratively and early to help ensure the best chance for a successful program IT/billing departments must have a seat at the design table Establish upfront target objectives with respect to residential and commercial program access levels helps ensure program success Balance trade-offs to manage utility and developer risk with customer participation carefully to optimize pricing and sizing the program offering Over the course of the 42 month grant period, SEPA and its project team conducted a series of activities all designed to accelerate the number and size of community solar programs across the country. These activities included: Community Solar Program Design Models (2 reports) – SEPA, in collaboration with its projects team, the Coalition for Community Solar Access, and over 60 administrators of actual community solar programs, developed two reports providing hard data on the developments of community solar. These reports touched on program performance, quantity and type of programs, and program design steps, among other aspects. The reports collectively received over 2000 unique downloads. Market Research Report – SEPA, in collaboration with The Shelton Group, conducted a series of national surveys and focus groups to identify what customers were looking for in a community solar offering. The resulting report, “What the Community Solar Customer Wants”, received over 1,000 unique downloads. Technical Assistance Projects – SEPA supported 8 organizations who were pursuing community solar programs. Based on this support, over 5.7 MWs of new solar capacity have been developed. Technical Assistance Case Studies – SEPA developed two case studies detailing the technical assistance work in Fremont, NE Department of Utilities and the public power arm of Minster Ohio. These two reports have received 1,002 unique downloads. Webinar – SEPA hosted two webinars on community solar which collectively received 743 participants. The webinars focused on disseminating the findings of the research conducted under this project, as well as the research conducted in separate solar market pathways projects. Community Solar Design Workshops – 120 registrants learned about the trends in community solar and participated a business case exercise to design their own programs.

14 SOLAR ENERGY↗

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↗

Display system software for the integration of an ADAGE 3000 programmable display generator into the solid modeling package C.A.D. software

A software system that integrates an ADAGE 3000 Programmable Display Generator into a C.A.D. software package known as the Solid Modeling Program is described. The Solid Modeling Program (SMP) is an interactive program that is used to model complex solid object through the composition of primitive geomeentities. In addition, SMP provides extensive facilities for model editing and display. The ADAGE 3000 Programmable Display Generator (PDG) is a color, raster scan, programmable display generator with a 32-bit bit-slice, bipolar microprocessor (BPS). The modularity of the system architecture and the width and speed of the system bus allow for additional co-processors in the system. These co-processors combine to provide efficient operations on and rendering of graphics entities. The resulting software system takes advantage of the graphics capabilities of the PDG in the operation of SMP by distributing its processing modules between the host and the PDG. Initially, the target host computer was a PRIME 850, which was later substituted with a VAX-11/785. Two versions of the software system were developed, a phase 1 and a phase 2. In phase 1, the ADAGE 3000 is used as a frame buffer. In phase II, SMP was functionally partitioned and some of its functions were implemented in the ADAGE 3000 by means of ADAGE's SOLID 3000 software package.

Montoya, R. J.↗

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)↗

NASA's Upper Atmosphere Research Program UARP and Atmospheric Chemistry Modeling and Analysis Program (ACMAP): Research Summaries 1994 - 1996. Report to Congress and the Environmental Protection Agency

Under the mandate contained in the FY 1976 NASA Authorization Act, the National Aeronautics and Space Administration (NASA) has developed and is implementing a comprehensive program of research, technology, and monitoring of the Earth's upper atmosphere, with emphasis on the stratosphere. This program aims at expanding our understanding to permit both the quantitative analysis of current perturbations as well as the assessment of possible future changes in this important region of our environment. It is carried out jointly by the Upper Atmosphere Research Program (UARP) and the Atmospheric Chemistry Modeling and Analysis Program (ACMAP), both managed within the Science Division in the Office of Mission to Planet Earth at NASA. Significant contributions to this effort are also provided by the Atmospheric Effects of Aviation Project (AEAP) of NASA's Office of Aeronautics. The long-term objectives of the present program are to perform research to: understand the physics, chemistry, and transport processes of the upper atmosphere and their effect on the distribution of chemical species in the stratosphere, such as ozone; understand the relationship of the trace constituent composition of the lower stratosphere and the lower troposphere to the radiative balance and temperature distribution of the Earth's atmosphere; and accurately assess possible perturbations of the upper atmosphere caused by human activities as well as by natural phenomena. In compliance with the Clean Air Act Amendments of 1990, Public Law 101-549, NASA has prepared a report on the state of our knowledge of the Earth's upper atmosphere, particularly the stratosphere, and on the progress of UARP and ACMAP. The report for the year 1996 is composed of two parts. Part 1 summarizes the objectives, status, and accomplishments of the research tasks supported under NASA UARP and ACMAP in a document entitled, Research Summary 1994-1996. Part 2 is entitled Present State of Knowledge of the Upper Atmosphere 1996.- An Assessment Report. It consists primarily of the Executive Summary and Chapter Summaries of the World Meteorological Organization Global Ozone Research and Monitoring Project Report No. 37, Scientific Assessment of Ozone Depletion: 1994, sponsored by NASA, the National Oceanic and Atmospheric Administration (NOAA), the UK Department of the Environment, the United Nations Environment Program, and the World Meteorological Organization. Other sections of Part 11 include summaries of the following: an Atmospheric Ozone Research Plan from NASA's Office of Mission to Planet Earth; summaries from a series of Space Shuttle-based missions and two recent airborne measurement campaigns; the Executive Summary of the 1995 Scientific Assessment of the Atmospheric Effects of Stratospheric Aircraft, and the most recent evaluation of photochemical and chemical kinetics data (Evaluation No. 12 of the NASA Panel for Data Evaluation) used as input parameters for atmospheric models.

Kendall, Rose↗

NASA's Upper Atmosphere Research Program (UARP) and Atmospheric Chemistry Modeling and Analysis Program (ACMAP): Research Summaries 1997-1999

Under the mandate contained in the FY 1976 NASA Authorization Act, the National Aeronautics and Space Administration (NASA) has developed and is implementing a comprehensive program of research, technology development, and monitoring of the Earth's upper atmosphere, with emphasis on the upper troposphere and stratosphere. This program aims at expanding our chemical and physical understanding to permit both the quantitative analysis of current perturbations as well as the assessment of possible future changes in this important region of our environment. It is carried out jointly by the Upper Atmosphere Research Program (UARP) and the Atmospheric Chemistry Modeling and Analysis Program (ACMAP), both managed within the Research Division in the Office of Earth Science at NASA. Significant contributions to this effort have also been provided by the Atmospheric Effects of Aviation Project (AEAP) of NASA's Office of Aero-Space Technology. The long-term objectives of the present program are to perform research to: understand the physics, chemistry, and transport processes of the upper troposphere and the stratosphere and their control on the distribution of atmospheric chemical species such as ozone; assess possible perturbations to the composition of the atmosphere caused by human activities and natural phenomena (with a specific emphasis on trace gas geographical distributions, sources, and sinks and the role of trace gases in defining the chemical composition of the upper atmosphere); understand the processes affecting the distributions of radiatively active species in the atmosphere, and the importance of chemical-radiative-dynamical feedbacks on the meteorology and climatology of the stratosphere and troposphere; and understand ozone production, loss, and recovery in an atmosphere with increasing abundances of greenhouse gases. The current report is composed of two parts. Part 1 summarizes the objectives, status, and accomplishments of the research tasks supported under NASA UARP and ACMAP in a document entitled, Research Summaries 1997- 1999. Part 2 is entitled Present State of Knowledge of the Upper Atmosphere 1999 An Assessment Report.

Kurylo, M. J.↗

Unifying Model-Based and Reactive Programming within a Model-Based Executive

Real-time, model-based, deduction has recently emerged as a vital component in AI's tool box for developing highly autonomous reactive systems. Yet one of the current hurdles towards developing model-based reactive systems is the number of methods simultaneously employed, and their corresponding melange of programming and modeling languages. This paper offers an important step towards unification. We introduce RMPL, a rich modeling language that combines probabilistic, constraint-based modeling with reactive programming constructs, while offering a simple semantics in terms of hidden state Markov processes. We introduce probabilistic, hierarchical constraint automata (PHCA), which allow Markov processes to be expressed in a compact representation that preserves the modularity of RMPL programs. Finally, a model-based executive, called Reactive Burton is described that exploits this compact encoding to perform efficIent simulation, belief state update and control sequence generation.

Williams, Brian C.↗