Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “programming programming code programming productivity code architecture program”

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

Integration of the Nek5000 Computational Fluid Dynamics Code with the NEAMS Workbench

The mission of the US Department of Energy’s Nuclear Energy Advanced Modeling and Simulation (NEAMS) Program is to develop, apply, deploy, and support state-of-the-art predictive modeling and simulation tools for the design and analysis of current and future nuclear energy systems using computing architectures ranging from laptops to leadership-class facilities. NEAMS is organized into three product lines: the Fuels Product Line (FPL),the Reactors Product Line (RPL), and the Integration Product Line (IPL). The FPL and RPL focus on the development of high-fidelity tools such as the MOOSE-based applications BISON and MARMOT [3, 9] at Idaho National Laboratory, and the PROTEUS neutronics code and the NEK5000 computational fluid dynamics code from the Simulation-based High-efficiency Advanced Reactor Prototyping (SHARP) framework [10]. The NEAMS IPL will enable users to apply high-fidelity simulations to inform lower order models for the design, analysis, and licensing of advanced nuclear systems.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

FY14 Codesign Milestone Summary

This milestone was the 2nd in a series of Tri-Lab Co-Design L2 milestones supporting ‘Co-Design’ efforts in the ASC program. It is a crucial step towards evaluating the effectiveness of proxy applications in exploring code performance on next generation architectures. All three labs evaluated the performance of 2 proxy applications on modern architectures and/or testbeds for pre-production hardware. The results are captured in this document as well as annotated presentations from all 3 laboratories.

97 MATHEMATICS AND COMPUTING↗

GronOR: Massively Parallel and GPU-Accelerated Non-Orthogonal Configuration Interaction for Large Molecular Systems

GronOR is a program package for non-orthogonal configuration interaction calculations for an electronic wave function built in terms of anti-symmetrized products of multi-configuration molecular fragment wave functions. The two-electron integrals that have to be processed may be expressed in terms of atomic orbitals or in terms of an orbital basis determined from the molecular orbitals of the fragments. The code has been specifically designed for execution on distributed memory massively parallel and Graphics Processing Unit (GPU)-accelerated computer architectures, using an MPI+OpenACC/OpenMP programming approach. The task-based execution model used in the implementation allows for linear scaling with the number of nodes on the largest pre-exascale architectures available, provides hardware fault resiliency, and enables effective execution on systems with distinct central processing unit-only and GPU-accelerated partitions. The code interfaces with existing multi-configuration electronic structure codes that provide optimized molecular fragment orbitals, configuration interaction coefficients, and the required integrals. Algorithm and implementation details, parallel and accelerated performance benchmarks, and an analysis of the sensitivity of the accuracy of results and computational performance to thresholds used in the calculations are presented.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Compiler generation and autotuning of communication-avoiding operators for geometric multigrid

This paper describes a compiler approach to introducing communication-avoiding optimizations in geometric multigrid (GMG), one of the most popular methods for solving partial differential equations. Communication-avoiding optimizations reduce vertical communication through the memory hierarchy and horizontal communication across processes or threads, usually at the expense of introducing redundant computation. We focus on applying these optimizations to the smooth operator, which successively reduces the error and accounts for the largest fraction of the GMG execution time. Our compiler technology applies both novel and known transformations to derive an implementation comparable to manually-tuned code. To make the approach portable, an underlying autotuning system explores the tradeoff between reduced communication and increased computation, as well as tradeoffs in threading schemes, to automatically identify the best implementation for a particular architecture and at each computation phase. Results show that we are able to quadruple the performance of the smooth operation on the finest grids while attaining performance within 94% of manually-tuned code. Overall we improve the overall multigrid solve time by 2.5× without sacrificing programer productivity.

97 MATHEMATICS AND COMPUTING↗

Coupled Calculations of the NuScale FIV Tests – Pre-test Simulations and Sensitivity Analysis

The NEAMS program aims to develop an integrated multi-physics simulation capability “pellet-to-plant” for the design and analysis of future generations of nuclear power plants. In particular, the Reactor Product Line code suite's multi-resolution hierarchy is being designed to ultimately span the full range of length and time scales present in relevant reactor design and safety analyses, as well as scale from desktop to petaflop computing platforms. Flow-induced vibration (FIV) is widespread problem in energy systems because they rely on fluid movement for energy conversion. Vibrating structures may be damaged as fatigue or wear occurs. Given the importance of reliable components in the nuclear industry, flow-induced vibration has long been a major concern in safety and operation of nuclear reactors. In particular, nuclear fuel rods and steam generators have been known to suffer from flow-induced vibration and related failures. Advanced reactors, such as integral Pressurized Water Reactors (PWRs) considered for Small Modular Reactors (SMR), often rely on innovative component designs to meet cost and safety targets. One component that is the subject of advanced designs is the steam generator, some designs of which forego the usual shell-and-tube architecture in order to fit within the primary vessel. A significant amount of data exists on flow-induced vibration in shell-and-tube heat exchangers, and heuristic methods are available to predict FIV based on a set of given assumptions. In contrast, advanced designs have far less data available. Advanced modeling and simulation based on coupled structural and fluid simulations have the potential to predict flow-induced vibration in a variety of designs, reducing the need for expensive experimental programs, especially at the conceptual design stage. Over the past several years, the Reactor Product Line has developed a FIV capability in SHARP. SHARP contains high-fidelity single-physics codes Diablo for structural mechanics and Nek5000 for fluid mechanics calculations. Both codes are state-of-the-art, highly scalable tools that have been extensively validated. In previous reports we have discussed the implementation and validation of an FIV capability for helical steam generators and fuel assemblies. In this report we discuss one-way coupled calculations performed with Nek5000 and Diablo for the NuScale FIV tests. In the turbulent fretting regime one-way coupling is judged to be sufficient because the pressure loads do not cause substantial displacements. It is also the most common source of vibration in helical steam generators per the low flows expected in integral PWRs. The simulations precede the tests, as experimental data was not available at the delivery of this report. Several assumptions had to be made on the support-tube interaction and multiple tests and sensitivity analysis have been performed. Additional work remains to be done and it is discussed in the future work section.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Coupled Calculations in Helical Steam Generator: Validation on Legacy Data

The NEAMS program aims to develop an integrated multi-physics simulation capability “pellet-to-plant” for the design and analysis of future generations of nuclear power plants. In particular, the Reactor Product Line code suite's multi-resolution hierarchy is being designed to ultimately span the full range of length and time scales present in relevant reactor design and safety analyses, as well as scale from desktop to petaflop computing platforms. Flow-induced vibration (FIV) is widespread problem in energy systems because they rely on fluid movement for energy conversion. Vibrating structures may be damaged as fatigue or wear occurs. Given the importance of reliable components in the nuclear industry, flow-induced vibration has long been a major concern in safety and operation of nuclear reactors. In particular, nuclear fuel rods and steam generators have been known to suffer from flow-induced vibration and related failures. Advanced reactors, such as integral Pressurized Water Reactors (PWRs) considered for Small Modular Reactors (SMR), often rely on innovative component designs to meet cost and safety targets. One component that is the subject of advanced designs is the steam generator, some designs of which forego the usual shell-and-tube architecture in order to fit within the primary vessel. In addition to being more cost- and space-efficient, such steam generators need to be more reliable, since failure of the primary vessel represents a potential loss of coolant and a safety concern. A significant amount of data exists on flow-induced vibration in shell-and-tube heat exchangers, and heuristic methods are available to predict their occurrence based on a set of given assumptions. In contrast, advanced designs have far less data available. Advanced modeling and simulation based on coupled structural and fluid simulations have the potential to predict flow-induced vibration in a variety of designs, reducing the need for expensive experimental programs, especially at the design stage. Over the past five years, the Reactor Product Line has developed the integrated multi-physics code suite SHARP. The goal of developing such a tool is to perform multi-physics neutronics, thermal/fluid, and structural mechanics modeling of the components inside the full reactor core or portions of it with a user-specified fidelity. In particular SHARP contains high-fidelity single-physics codes Diablo for structural mechanics and Nek5000 for fluid mechanics calculations. Both codes are state-of-the-art, highly scalable tools that have been extensively validated. These tools form a strong basis on which to build a flow-induced vibration modeling capability. In this report we discuss one-way coupled calculations performed with Nek5000 and Diablo aimed at simulating available FIV experiments in helical steam generators in the turbulent buffeting regime. In this regime one-way coupling is judged sufficient because the pressure loads do not cause substantial displacements. It is also the most common source of vibration in helical steam generators at the low flows expected in integral PWRs. The legacy data is obtained from two datasets developed at Argonne and B&W.

21 SPECIFIC NUCLEAR REACTORS AND ASSOCIATED PLANTS↗

Demonstration of Fully Coupled Calculations in Helical Steam Generator: Toward Predictions of Fluid Elastic Instability

The NEAMS program aims to develop an integrated multi-physics simulation capability “pellet-to-plant” for the design and analysis of future generations of nuclear power plants. In particular, the Reactor Product Line code suite's multi-resolution hierarchy is being designed to ultimately span the full range of length and time scales present in relevant reactor design and safety analyses, as well as scale from desktop to petaflop computing platforms. Flow-induced vibration (FIV) is widespread problem in energy systems because they rely on fluid movement for energy conversion. Vibrating structures may be damaged as fatigue or wear occurs. Given the importance of reliable components in the nuclear industry, flow-induced vibration has long been a major concern in safety and operation of nuclear reactors. In particular, nuclear fuel rods and steam generators have been known to suffer from flow-induced vibration and related failures. Advanced reactors, such as integral Pressurized Water Reactors (PWRs) considered for Small Modular Reactors (SMR), often rely on innovative component designs to meet cost and safety targets. One component that is the subject of advanced designs is the steam generator, some designs of which forego the usual shell-and-tube architecture in order to fit within the primary vessel. In addition to being more cost- and space-efficient, such steam generators need to be more reliable, since failure of the primary vessel represents a potential loss of coolant and a safety concern. A significant amount of data exists on flow-induced vibration in shell-and-tube heat exchangers, and heuristic methods are available to predict their occurrence based on a set of given assumptions. In contrast, advanced designs have far less data available. Advanced modeling and simulation based on coupled structural and fluid simulations have the potential to predict flow-induced vibration in a variety of designs, reducing the need for expensive experimental programs, especially at the design stage. Over the past seven years, the Reactor Product Line has developed the integrated multi-physics code suite SHARP. The goal of developing such a tool is to perform multi-physics neutronics, thermal/fluid, and structural mechanics modeling of the components inside the full reactor core or portions of it with a user-specified fidelity. In particular SHARP contains high-fidelity single-physics codes Diablo for structural mechanics and Nek5000 for fluid mechanics calculations. Both codes are state-of-the-art, highly scalable tools that have been extensively validated. These tools form a strong basis on which to build a flow-induced vibration modeling capability. In the last two years a significant effort was devoted to 1) develop and validate a fully coupled capability in SHARP for Fluid-Structure calculations (FSI) and 2) validate the use of SHARP for one-way coupled calculations in helical steam generators on legacy data available as well as novel experiments. In this report we discuss an extension of previous one-way coupled calculations performed with Nek5000 and Diablo aimed at simulating available FIV experiments in helical steam generators in the turbulent buffeting regime. It was demonstrated that in the buffeting regime one-way coupling was judged sufficient because the pressure loads do not cause substantial displacements. However, higher speeds led to a reduction in accuracy and the need for a fully coupled capability for velocity or approaching the critical velocity and fluid elastic instability. In this report we demonstrate such fully coupled capability on the Argonne test case discussed in previous reports.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Certifying Domain-Specific Policies

Proof-checking code for compliance to safety policies potentially enables a product-oriented approach to certain aspects of software certification. To date, previous research has focused on generic, low-level programming-language properties such as memory type safety. In this paper we consider proof-checking higher-level domain -specific properties for compliance to safety policies. The paper first describes a framework related to abstract interpretation in which compliance to a class of certification policies can be efficiently calculated Membership equational logic is shown to provide a rich logic for carrying out such calculations, including partiality, for certification. The architecture for a domain-specific certifier is described, followed by an implemented case study. The case study considers consistency of abstract variable attributes in code that performs geometric calculations in Aerospace systems.

Lowry, Michael↗

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↗

Architectural design of an Algol interpreter

The design of a syntax-directed interpreter for a subset of Algol is described. It is a conceptual design with sufficient details and completeness but as much independence of implementation as possible. The design includes a detailed description of a scanner, an analyzer described in the Floyd-Evans productions, a hash-coded symbol table, and an executor. Interpretation of sample programs is also provided to show how the interpreter functions.

Jackson, C. K.↗

Second International Workshop on Software Engineering and Code Design in Parallel Meteorological and Oceanographic Applications

This report contains the abstracts and technical papers from the Second International Workshop on Software Engineering and Code Design in Parallel Meteorological and Oceanographic Applications, held June 15-18, 1998, in Scottsdale, Arizona. The purpose of the workshop is to bring together software developers in meteorology and oceanography to discuss software engineering and code design issues for parallel architectures, including Massively Parallel Processors (MPP's), Parallel Vector Processors (PVP's), Symmetric Multi-Processors (SMP's), Distributed Shared Memory (DSM) multi-processors, and clusters. Issues to be discussed include: (1) code architectures for current parallel models, including basic data structures, storage allocation, variable naming conventions, coding rules and styles, i/o and pre/post-processing of data; (2) designing modular code; (3) load balancing and domain decomposition; (4) techniques that exploit parallelism efficiently yet hide the machine-related details from the programmer; (5) tools for making the programmer more productive; and (6) the proliferation of programming models (F--, OpenMP, MPI, and HPF).

OKeefe, Matthew↗

Algorithms versus architectures for computational chemistry

The algorithms employed are computationally intensive and, as a result, increased performance (both algorithmic and architectural) is required to improve accuracy and to treat larger molecular systems. Several benchmark quantum chemistry codes are examined on a variety of architectures. While these codes are only a small portion of a typical quantum chemistry library, they illustrate many of the computationally intensive kernels and data manipulation requirements of some applications. Furthermore, understanding the performance of the existing algorithm on present and proposed supercomputers serves as a guide for future programs and algorithm development. The algorithms investigated are: (1) a sparse symmetric matrix vector product; (2) a four index integral transformation; and (3) the calculation of diatomic two electron Slater integrals. The vectorization strategies are examined for these algorithms for both the Cyber 205 and Cray XMP. In addition, multiprocessor implementations of the algorithms are looked at on the Cray XMP and on the MIT static data flow machine proposed by DENNIS.

Partridge, H.↗

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↗

Fenestration system energy performance research, implementation, and international harmonization

The research conducted by the NFRC and its contractors adds significantly to the understanding of several areas of investigation. NFRC enables manufacturers to rate fenestration energy performance to comply with building energy codes, participate in ENERGY STAR, and compete fairly. NFRC continuously seeks to improve its ratings and also seeks to simplify the rating process. Several research projects investigated rating improvement potential such as • Complex Product VT Rating Research • Window 6 and Therm 6 Validation Research Project • Complex Product VT Rating Research Conclusions from these research projects led to important changes and increased confidence in the existing NFRC rating process. Conclusions from the Window 6/Therm 6 project will enable window manufacturers to rate an expanded array of products and improve existing ratings. Some research lead to an improved new rating method called the Component Modeling Approach. A primary goal of the CMA was a simplification of the commercial energy rating process to increase participation and make the commercial industry more competitive and code compliant. The project below contributed towards CMA development: • Component Modeling Approach Condensation Resistance Research NFRC continues to implement the Component Modeling Approach program. The program includes the CMA software tool, CMAST, and several procedural documents to govern the certification process. This significant accomplishment was a response the commercial fenestration industry’s need for a simplification of the present NFRC energy rating method (named site built). To date, most commercial fenestration is self-rated by a variety of techniques. The CMA enables commercial fenestration manufacturers to rate according to the NFRC 100/200 as most commercial energy codes require. International Harmonization NFRC achieved significant international harmonization success by continuing its licensing agreements with the Australian Fenestration Rating Council and the Association of Architectural Aluminum Manufacturers of South Africa (AAAMSA) to produce NFRC certified product ratings in their respective nations. NFRC worked in several other nations to introduce the NFRC ratings system: • India • China • Japan • Canada • Thailand • South Africa • Brazil • Korea NFRC attended or hosted several meetings in each of these nations establishing academic, commercial, industrial, and governmental contacts. NFRC presented the NFRC process and then necessary infrastructure steps necessary to achieve harmonization with the NFRC labeling system. NFRC looks forward to continued work toward harmonization in these nations and potentially others.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Scanning ARM Precipitation Radar (SAPR) Velocity Azimuth Display (VAD)

The Velocity Azimuth Display (VAD, historical term) product contains retrievals of the zonal (north/south) and meridional (east/west) wind speed components, in precipitating systems, as a function of time and height. This product, which uses azimuthal variations in radial air velocity, allows quick insight into wind speed and wind direction in the vicinity of the radar when rainfall or snowfall is present. VAD data are derived from Corrected Moments in Antenna Coordinates Version 2 (CMAC2) using code within the Python ARM Radar Toolkit (Py-ART), an open-source architecture for interacting with radar data in the Python programming language.

54 ENVIRONMENTAL SCIENCES↗

Toward Performance Portable Programming for Heterogeneous System-on-Chips: Case Study with Qualcomm Snapdragon SoC

Future heterogeneous Domain-Specific System-on-Chips (DSSoC) will be extraordinarily complex in terms of processors, memory hierarchies, and interconnection networks.To manage this complexity, architects, system software designers, and application developers need programming technologies that are flexible, accurate, efficient, and productive. These technologies will need to be as independent of any one specific architecture as is practical, because the sheer dimensionality and scale of the complexity will not allow porting and optimizing applications foreach given DSSoC. To address these issues, we are developing Cosmic Castle, a performance portable programming toolchain for streaming applications on heterogeneous architectures. The primary focus of Cosmic Castle is on enabling efficient and performant code generation through the smart compiler and intelligent runtime system. This paper presents the preliminary evaluation of our ongoing work toward Cosmic Castle. Specifically, we detail our code porting efforts and evaluate various benchmarks on the Qualcomm Snapdragon SoC using tools developed through Cosmic Castle.

Cabrera, Anthony↗

Tri-Lab Co-Design Milestone: In-Depth Performance Portability Analysis of Improved Integrated Codes on Advanced Architecture.

This milestone is a tri-lab deliverable supporting ongoing Co-Design efforts impacting applications in the Integrated Codes (IC) program element Advanced Technology Development and Mitigation (ATDM) program element. In FY14, the trilabs looked at porting proxy application to technologies of interest for ATS procurements. In FY15, a milestone was completed evaluating proxy applications in multiple programming models and in FY16, a milestone was completed focusing on the migration of lessons learned back into production code development. This year, the co-design milestone focuses on extracting the knowledge gained and/or code revisions back into production applications.

97 MATHEMATICS AND COMPUTING↗

Ada/POSIX binding: A focused Ada investigation

NASA is seeking an operating system interface definition (OSID) for the Space Station Program (SSP) in order to take advantage of the commercial off-the-shelf (COTS) products available today and the many that are expected in the future. NASA would also like to avoid the reliance on any one source for operating systems, information system, communication system, or instruction set architecture. The use of the Portable Operating System Interface for Computer Environments (POSIX) is examined as a possible solution to this problem. Since Ada is already the language of choice for SSP, the question of an Ada/POSIX binding is addressed. The intent of the binding is to provide access to the POSIX standard operation system (OS) interface and environment, by which application portability of Ada applications will be supported at the source code level. A guiding principle of Ada/POSIX binding development is a clear conformance of the Ada interface with the functional definition of POSIX. The interface is intended to be used by both application developers and system implementors. The objective is to provide a standard that allows a strictly conforming application source program that can be compiled to execute on any conforming implementation. Special emphasis is placed on first providing those functions and facilities that are needed in a wide variety of commercial applications

Legrand, Sue↗