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 343 records · Page 19

Turbofan Noise Studied in Unique Model Research Program in NASA Glenn's 9- by 15-Foot Low-Speed Wind Tunnel

A comprehensive aeroacoustic research program called the Source Diagnostic Test was recently concluded in NASA Glenn Research Center's 9- by 15-Foot Low Speed Wind Tunnel. The testing involved representatives from Glenn, NASA Langley Research Center, GE Aircraft Engines, and the Boeing Company. The technical objectives of this research were to identify the different source mechanisms of noise in a modern, high-bypass turbofan aircraft engine through scale-model testing and to make detailed acoustic and aerodynamic measurements to more fully understand the physics of how turbofan noise is generated.

Hughes, Christopher E.↗

KokkACC: Enhancing Kokkos with OpenACC

Template metaprogramming is gaining popularity as a high-level solution for achieving performance portability on heterogeneous computing resources. Kokkos is a representative approach that offers programmers high-level abstractions for generic programming while most of the device-specific code generation and optimizations are delegated to the compiler through template specializations. For this, Kokkos provides a set of device-specific code specializations in multiple back ends, such as CUDA and HIP. Unlike CUDA or HIP, OpenACC is a high-level and directive-based programming model. This descriptive model allows developers to insert hints (pragmas) into their code that help the compiler to parallelize the code. The compiler is responsible for the transformation of the code, which is completely transparent to the programmer. This paper presents an OpenACC back end for Kokkos: KokkACC. As an alternative to Kokkos’s existing device-specific back ends, KokkACC is a multi-architecture back end providing a high-productivity programming environment enabled by OpenACC’s high-level and descriptive programming model. Moreover, we have observed competitive performance; in some cases, KokkACC is faster (up to 9×) than NVIDIA’s CUDA back end and much faster than OpenMP’s GPU offloading back end. This work also includes implementation details and a detailed performance study conducted with a set of mini-benchmarks (AXPY and DOT product) and three mini-apps (LULESH, miniFE and SNAP, a LAMMPS proxy mini-app).

Valero Lara, Pedro↗

A modeling analysis program for the JPL table mountain Io sodium cloud

A data quality review for the entire set of the 1981 Region B/C images has been completed and is presented. The review indicates that almost all images are of sufficient quality to be valuable in our analysis of this data set. Five data-correlation studies for the same data set have also been completed and are useful in classifying and studying the sodium cloud morphology and its interactions with solar radiation pressure and the plasma torus. Additional progress in developing new image processing techniques and in improving the Io sodium cloud model is also discussed.

Smyth, W. H.↗

xSDK: Building an ecosystem of highly efficient math libraries for exascale

Current efforts to build increasingly powerful computer architectures are opening up new avenues for more complex and higher fidelity simulations coupled with data analytics and learning, leading to new scientific insights and deeper understanding. At one extreme, exascale computers will be much faster than previous computer generations (performing 10 18 operations per second—that is, 1,000 times faster than petascale). To achieve these performance improvements, computer architectures are becoming increasingly complex, with deep memory hierarchies, very high node and core counts, and heterogeneous features such as graphics processing units (GPUs). Such architectural changes impact the full breadth of computing scales, as heterogeneity pervades even current-generation laptops, workstations, and moderate-sized clusters. While emerging advanced architectures provide unprecedented opportunities, they also present significant challenges for developers of scientific applications, such as multiphysics and multiscale codes, who must adapt their software to handle disruptive changes in architectures and new programming models that have not yet stabilized. Developers must consider increasing concurrency while reducing communication and synchronization, and other complexities such as the potential for using mixed precision to leverage the compute power available in low-precision tensor cores. On one hand, developers must implement new scientific capabilities, which in turn increase code complexity. On the other hand, the codes must be ported to new architectures, requiring the inclusion of new programming models and the restructuring of code to achieve good performance. Addressing these issues is beyond the capability of any single person or team—leading to the need for collaboration among many teams, who encapsulate their expertise in reusable software and work together to create sustainable software ecosystems.

97 MATHEMATICS AND COMPUTING↗

A Unified Data-Driven Approach for Programming In Situ Analysis and Visualization Final Scientific/Technical Report

The goal of Kitware’s work has been the study of a unified data-driven approach for programming applications and in situ analysis and visualization. We have especially focused on understanding the interplay between data-centric programming model requirements at extreme-scale and the overall impact of those requirements on the design, capabilities, flexibility, and implementation details for both applications and the supporting in situ infrastructure. We have successfully demonstrated the use of pipeline abstractions within Legion and developed a number of algorithms that were integrated within the Legion simulation framework. This report focuses on describing milestones, mainly those focusing on exploring pipeline abstractions in the context of the Legion programming model.

97 MATHEMATICS AND COMPUTING↗

Novel functional and distributed approaches to data analysis available in ROOT

The bright future of particle physics at the Energy and Intensity frontiers poses exciting challenges to the scientific software community. The traditional strategies for processing and analyzing data are evolving in order to (i) offer higher-level programming model approaches and (ii) exploit parallelism to cope with the ever increasing complexity and size of the datasets. This contribution describes how the ROOT framework, a cornerstone of software stacks dedicated to particle physics, is preparing to provide adequate solutions for the analysis of large amount of scientific data on parallel architectures. The functional approach to parallel data analysis provided with the ROOT TDataFrame interface is then characterized. The design choices behind this new interface are described also comparing with other widely adopted tools such as Pandas and Apache Spark. The programming model is illustrated highlighting the reduction of boilerplate code, composability of the actions and data transformations as well as the capabilities of dealing with different data sources such as ROOT, JSON, CSV or databases. Details are given about how the functional approach allows transparent implicit parallelization of the chain of operations specified by the user. The progress done in the field of distributed analysis is examined. In particular, the power of the integration of ROOT with Apache Spark via the PyROOT interface is shown. In addition, the building blocks for the expression of parallelism in ROOT are briefly characterized together with the structural changes applied in the building and testing infrastructure which were necessary to put them in production.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

Block-Parallel Data Analysis with DIY2

DIY2 is a programming model and runtime for block-parallel analytics on distributed-memory machines. Its main abstraction is block-structured data parallelism: data are decomposed into blocks; blocks are assigned to processing elements (processes or threads); computation is described as iterations over these blocks, and communication between blocks is defined by reusable patterns. By expressing computation in this general form, the DIY2 runtime is free to optimize the movement of blocks between slow and fast memories (disk and flash vs. DRAM) and to concurrently execute blocks residing in memory with multiple threads. This enables the same program to execute in-core, out-of-core, serial, parallel, single-threaded, multithreaded, or combinations thereof. This paper describes the implementation of the main features of the DIY2 programming model and optimizations to improve performance. DIY2 is evaluated on benchmark test cases to establish baseline performance for several common patterns and on larger complete analysis codes running on large-scale HPC machines.

97 MATHEMATICS AND COMPUTING↗

RAJA Performance Suite

The RAJA Performance Suite is designed to evaluate performance of the RAJA performance portability library on a wide variety of important high performance computing (HPC) algorithmic lulmels. These kernels assess compiler optimizations and various parallel programming model backends accessible through RAJA, such as OpenMP, CUDA, etc. The Initial version of the suite contains 25 computational kernels, each of which appears in 6 variants: Baseline SequcntiaJ, RAJA SequentiaJ, Baseline OpenMP, RAJA OpenMP, Baseline CUDA, RAJA CUDA. All variants of each kernel perform essentially the same mathematical operations and the loop body code for each kernel is identical across all variants. There are a few kernels, such as those that contain reduction operations, that require CUDA-specific coding for their CUDA variants. ActuaJ computer instructions executed and how they run in parallel differs depending on the parallel programming model backend used and which optimizations are perfonned by the compiler used to build the Perfonnance Suite executable. The Suite will be used primarily by RAJA developers to perform regular assessments of RAJA performance across a range of hardware platforms and compilers as RAJA features are being developed. It will also be used by LLNL hardware and software vendor panners for new defining requirements for future computing platform procurements and acceptance testing. In particular, the RAJA Performance Suite will be used for compiler acceptance testing of the upcoming CORAUSierra machine {initial LLNL delivery expected in late-2017/early 2018) and the CORAL-2 procurement. The Suite will aJso be used to generate concise source code reproducers of compiler and runtime issues we uncover so that we may provide them to relevant vendors to be fixed.

Hornung, RichardD.↗

Demonstrating GPU code portability and scalability for radiative heat transfer computations

High performance computing frameworks utilizing CPUs, Nvidia GPUs, and/or Intel Xeon Phis necessitate portable and scalable solutions for application developers. Nvidia GPUs in particular present numerous portability challenges with a different programming model, additional memory hierarchies, and partitioned execution units among streaming multiprocessors. This work presents modifications to the Uintah asynchronous many-task runtime and the Kokkos portability library to enable one single codebase for complex multiphysics applications to run across different architectures. Scalability and performance results are shown on multiple architectures for a globally coupled radiation heat transfer simulation, ranging from a single node to 16,384 Titan compute nodes.

Computer Science↗

Synthetic Proxy Infrastructure for Task Evaluation

The Synthetic Proxy Infrastructure for Task Evaluation is a proxy application designed to support application developers in gauging the performance of various task granularities when determining how best to utilize task based programming models.The infrastructure is designed to provide examples of common communication patterns with a synthetic workload intended to provide performance data to evaluate programming model and platform overheads for the purpose of determining task granularity for task decomposition purposes. This is presented as a reference implementation of a proxy application with run-time configurable input and output task dependencies ranging from an embarrassingly parallel scenario to patterns with stencil-like dependencies upon their nearest neighbors. Once all, if any, inputs are satisfied each task will execute a synthetic workload (a simple DGEMM of in this case) of varying size and output all, if any, outputs to the next tasks.The intent is for this reference implementation to be implemented as a proxy app in different programming models so as to provide the same infrastructure and to allow for application developers to simulate their own communication needs to assist in task decomposition under various models on a given platform.

Junghans, Christoph↗

Synthetic Proxy Infrastructure for Task Evaluation

The Synthetic Proxy Infrastructure for Task Evaluation is a proxy application designed to support application developers in gauging the performance of various task granularities when determining how best to utilize task based programming models.The infrastructure is designed to provide examples of common communication patterns with a synthetic workload intended to provide performance data to evaluate programming model and platform overheads for the purpose of determining task granularity for task decomposition purposes. This is presented as a reference implementation of a proxy application with run-time configurable input and output task dependencies ranging from an embarrassingly parallel scenario to patterns with stencil-like dependencies upon their nearest neighbors. Once all, if any, inputs are satisfied each task will execute a synthetic workload (a simple DGEMM of in this case) of varying size and output all, if any, outputs to the next tasks.The intent is for this reference implementation to be implemented as a proxy app in different programming models so as to provide the same infrastructure and to allow for application developers to simulate their own communication needs to assist in task decomposition under various models on a given platform.

Junghans, Christoph↗

Special Issue on Data-Intensive Scalable Computing Systems

Traditional high performance computing (HPC) systems were designed from a compute-centric perspective, with an emphasis on high floating point performance. As scientific and analytics applications become more data intensive, there is a need to rethink HPC system architectures, programming models, runtime systems, and tools with a focus on scalable data intensive computing. Industry approaches supporting data intensive applications have been highly successful, leading many in the HPC community to search for ways to adapt them to HPC hardware and software contexts. Conversely, industry looks to the HPC community for their expertise in designing, deploying, and using extremely large and high performance computing systems. This special issue contains seven articles, each of which is an extended version of a paper presented in the 2015 International Workshop on Data Intensive Scalable Computing Systems (DISCS-2015) held in Austin, Texas on November 15, 2015. The workshop program included papers that ranged from programming models to systems software to storage, each with a strong focus on data intensive computing.

97 MATHEMATICS AND COMPUTING↗

Two-stage minimax stochastic unit commitment

The study proposes a stochastic optimisation approach based on discrete scenarios and the minimax criterion to deal with demand uncertainty in the two-stage unit commitment problem. To avoid making an over-conservative decision, the approach is designed to assign a probability-based weight to each demand scenario and provide a unit commitment schedule that minimises the maximum possible-weighted generation cost. Unit commitment is determined in the first stage and the economic dispatch under the scenario that corresponds to the maximum possible-weighted generation cost is determined in the second stage. The problem is formulated as a type of min-max-min mixed integer programming model. By introducing an auxiliary variable, the model is further transformed into a minimisation problem. A Benders decomposition algorithm is developed to solve the problem. The Benders master problem determines the unit commitment decision, while the Benders subproblem determines the dispatch decision. Multiple Benders feasibility cuts are constructed when the Benders subproblem is infeasible. Valid inequalities are derived to improve the lower bound provided by the Benders master problem. Numerical results show the performance of the algorithm.

Che, Ping↗

The nth-plant scenario for blended feedstock conversion and preprocessing nationwide: biorefineries and depots

The sustainability of the biofuel industry depends on the development of a mature conversion technology on a national level that can take advantage of the economies of scale: the nth-plant. Defining the future location and supply logistics of conversion plants is imperative to ultimately transform the nation’s renewable biomass resources into cost-competitive, high-performance feedstock for production of biofuels and bioproducts. Since the US has put restrictions on production levels of conventional biofuels from edible resources, the nation needs to plan for the widespread accessibility and development of the cellulosic biofuel scenario. Conventional feedstock supply systems will be unable to handle cellulosic biomass nationwide, making it essential to expand the industry with an advanced feedstock supply system incorporating a distributed network of preprocessing depots and conversion plants, or biorefineries. Current studies are mostly limited to designing supply systems for specific regions of the country. We developed a national database with potential locations for depots and biorefineries to meet the nation’s target demand of cellulosic biofuel. Blended feedstock with switchgrass and corn stover (harvested by either a two- or three-pass method) are considered in a Mixed Integer Linear Programming model to deliver on-spec biomass that considers both, a desired quantity and quality at the biorefinery. A total delivered feedstock cost that is less than $79.07/dt (2016$) is evaluated for years 2022, 2030, and 2040. In 2022, 124 depots and 59 biorefineries could be supplied with 42.8 million dt of corn stover and switchgrass. In 2030 and 2040, the total accessible biomass could increase to 215% and 393% respectively when compared to 2022. However, an $8/dry tons reduction in targeted delivery cost could reduce total accessible biomass by 67%. Kansas, Nebraska, South Dakota and Texas were identified as potential states with a strong biofuel economy given that they had six or more biorefineries located in all scenarios. In some scenarios, Colorado, Alabama, Georgia, Minnesota, Mississippi and South Carolina would greatly benefit from a depot network as these could only deliver to a biorefinery in a nearby state. To elaborate the impact of a nationwide consideration, the findings were compared with existing literature for different US regions. We also present results for biorefinery capacities that are double, triple, and quadruple in size.

09 BIOMASS FUELS↗

A global coupled ensemble data assimilation system using the Community Earth System Model and the Data Assimilation Research Testbed

In this paper, we present a description of the CESM/DART ensemble coupled data assimilation (DA) system based on the Community Earth System Model (CESM) and the Data Assimilation Research Testbed (DART) assimilation software. The CESM/DART should be viewed as a flexible system to support the DA needs of the CESM research community and not as a static reanalysis product. In this implementation of the CESM/DART, conventional insitu observations of the ocean and atmosphere are assimilated into the respective component models of the CESM using a 30-member ensemble adjustment Kalman filter (EAKF). CESM/DART is run in a “weakly coupled” configuration wherein observations native to each climate system component only directly impact the state vector for that component. Information is passed between components indirectly through the short-term coupled model forecasts that provide the EAKF background ensemble. This system leverages previous ensemble DA development for the Community Atmosphere Model and Parallel Ocean Program models using the DART EAKF. The CESM/DART project is a step towards providing increasingly useful DA capabilities for the CESM research community. Results are presented for our prototype 12-year reanalysis, run from 1970 to mid 1982. Multiple lines of evidence demonstrate that the system is capable of constraining the CESM coupled model to simulate the historical variability of the climate system in the well-observed Northern Hemisphere. A collection of monthly average variables, climate mode indices, observation diagnostics and snapshots of synoptic weather in the ocean and atmosphere are compared to established datasets, showing especially good agreement in the Northern Hemisphere. A discussion of the CESM/DART as a modular, community facility and the benefits and challenges associated with this vision is also included.

54 ENVIRONMENTAL SCIENCES↗

Milestone Completion Report STCO04-1 AAPS: engagements with code teams, vendors, collaborators, developers

The Advanced Architecture and Portability Specialists team (AAPS) worked with a select set of LLNL application teams to develop and/or implement a portability strategy for next-generation architectures. The team also investigated new and updated programming models and helped develop programming abstractions targeting maintainability and performance portability. Significant progress was made on both fronts in FY17, resulting in multiple applications being significantly more prepared for the nextgeneration machines than before.

97 MATHEMATICS AND COMPUTING↗

Distributionally Robust Building Load Control to Compensate Fluctuations in Solar Power Generation

This paper investigates the use of a collection of dispatchable heating, ventilation and air conditioning (HVAC) systems to absorb low-frequency fluctuations in renewable energy sources, especially in solar photo-voltaic (PV) generation. Given the uncertain and time-varying nature of solar PV generation, its probability distribution is difficult to be estimated perfectly, which poses a challenging problem of how to optimally schedule a fleet of HVAC loads to consume as much as local PV generation. We formulate a distributionally robust chance-constrained (DRCC) model to ensure that PV generation is consumed with a desired probability for a family of probability distributions, termed as an ambiguity set, built upon mean and covariance information. We benchmark the DRCC model with a deterministic optimization model and a stochastic programming model in a one-day simulation. We show that the DRCC model achieves constantly good performance to consume most PV generation even in the case with the presence of probability distribution ambiguity.

Zhang, Yiling↗