Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “parallel codes”

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 1,459 records · Page 81

Application of Portable Parallelization Strategies for GPUs on track reconstruction kernels

Utilizing the computational power of GPUs is one of the key ingredients to meet the computing challenges presented to the next generation of High-Energy Physics (HEP) experiments. Unlike CPUs, developing software for GPUs often involves using architecturespecific programming languages promoted by the GPU vendors and hence limits the platform that the code can run on. Various portability solutions have been developed to achieve portable, performant software across different GPU vendors. Given the rapid evolution of these portability solutions, an early adoption of them in simple HEP testbed applications will help us understand the strengths and weaknesses of respective approaches.We apply several portability solutions, including Alpaka, Kokkos, SYCL and std::execution::par, on kernels for track propagation extracted from the mkFit project. We report on the development experience of the same application with different portability solutions, as well as their performance on GPUs, measured as the throughput of the kernels, from different manufacturers such as NVIDIA, AMD and Intel.

Kwok, Martin [Fermilab] (ORCID:0000000286936146)↗

Exploiting Modern C++ for Portable Parallel Programming in Lattice QCD Applications

The evolution of ISO C++ standards increasingly serves the needs of scientific computing, offering potential benefits for developing portable applications. The recent revisions of C++ programming language, for instance, introduces a suite of algorithms capable of being executed on accelerators. Although this approach may not yield best performance, it can present a viable balance between code productivity and computational efficiency. In this report, we discuss the implementation of the HISQ operator utilizing a range of features from the C++17/20/23 standards and include an assessment of their performance.

Strelchenko, Alexei↗

Performance effects of irregular communications patterns on massively parallel multiprocessors

A detailed study of the performance effects of irregular communications patterns on the CM-2 was conducted. The communications capabilities of the CM-2 were characterized under a variety of controlled conditions. In the process of carrying out the performance evaluation, extensive use was made of a parameterized synthetic mesh. In addition, timings with unstructured meshes generated for aerodynamic codes and a set of sparse matrices with banded patterns on non-zeroes were performed. This benchmarking suite stresses the communications capabilities of the CM-2 in a range of different ways. Benchmark results demonstrate that it is possible to make effective use of much of the massive concurrency available in the communications network.

Saltz, Joel↗

Performance effects of irregular communications patterns on massively parallel multiprocessors

A detailed study of the performance effects of irregular communications patterns on the CM-2 was conducted. The communications capabilities of the CM-2 were characterized under a variety of controlled conditions. In the process of carrying out the performance evaluation, extensive use was made of a parameterized synthetic mesh. In addition, timings with unstructured meshes generated for aerodynamic codes and a set of sparse matrices with banded patterns on non-zeroes were performed. This benchmarking suite stresses the communications capabilities of the CM-2 in a range of different ways. Benchmark results demonstrate that it is possible to make effective use of much of the massive concurrency available in the communications network.

Saltz, Joel↗

Efficacy of Code Optimization on Cache-based Processors

The current common wisdom in the U.S. is that the powerful, cost-effective supercomputers of tomorrow will be based on commodity (RISC) micro-processors with cache memories. Already, most distributed systems in the world use such hardware as building blocks. This shift away from vector supercomputers and towards cache-based systems has brought about a change in programming paradigm, even when ignoring issues of parallelism. Vector machines require inner-loop independence and regular, non-pathological memory strides (usually this means: non-power-of-two strides) to allow efficient vectorization of array operations. Cache-based systems require spatial and temporal locality of data, so that data once read from main memory and stored in high-speed cache memory is used optimally before being written back to main memory. This means that the most cache-friendly array operations are those that feature zero or unit stride, so that each unit of data read from main memory (a cache line) contains information for the next iteration in the loop. Moreover, loops ought to be 'fat', meaning that as many operations as possible are performed on cache data-provided instruction caches do not overflow and enough registers are available. If unit stride is not possible, for example because of some data dependency, then care must be taken to avoid pathological strides, just ads on vector computers. For cache-based systems the issues are more complex, due to the effects of associativity and of non-unit block (cache line) size. But there is more to the story. Most modern micro-processors are superscalar, which means that they can issue several (arithmetic) instructions per clock cycle, provided that there are enough independent instructions in the loop body. This is another argument for providing fat loop bodies. With these restrictions, it appears fairly straightforward to produce code that will run efficiently on any cache-based system. It can be argued that although some of the important computational algorithms employed at NASA Ames require different programming styles on vector machines and cache-based machines, respectively, neither architecture class appeared to be favored by particular algorithms in principle. Practice tells us that the situation is more complicated. This report presents observations and some analysis of performance tuning for cache-based systems. We point out several counterintuitive results that serve as a cautionary reminder that memory accesses are not the only factors that determine performance, and that within the class of cache-based systems, significant differences exist.

VanderWijngaart, Rob F.↗

Asynchronous-many-task systems: Challenges and opportunities - Scaling an AMR astrophysics code on exascale machines using Kokkos and HPX

Dynamic and adaptive mesh refinement is pivotal in high-resolution, multi-physics, multi-model simulations, necessitating precise physics resolution in localized areas across expansive domains. Today’s supercomputers’ extreme heterogeneity presents a significant challenge for dynamically adaptive codes, highlighting the importance of achieving performance portability at scale. Our research focuses on astrophysical simulations, particularly stellar mergers, to elucidate early universe dynamics. Here, we present Octo-Tiger, leveraging Kokkos, HPX, and SIMD for portable performance at scale in complex, massively parallel adaptive multi-physics simulations. Octo-Tiger supports diverse processors, accelerators, and network backends. Experiments demonstrate exceptional scalability across several heterogeneous supercomputers including Perlmutter, Frontier, and Fugaku, encompassing major GPU architectures and x86, ARM, and RISC-V CPUs. Parallel efficiency of 47.59% (110,080 cores and 6880 hybrid A100 GPUs) on a full-system run on Perlmutter (26% HPCG peak performance) and 51.37% (using 32,768 cores and 2048 MI250X) on Frontier are achieved.

97 MATHEMATICS AND COMPUTING↗

The Viskores User's Guide (V.1.0)

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created Viskores: the visualization toolkit for multi-/many-core architectures. Viskores supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. Viskores also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although Viskores provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction.

97 MATHEMATICS AND COMPUTING↗

The Viskores User's Guide, Release 1.1

High-performance computing relies on ever finer threading. Advances in processor technology include ever greater numbers of cores, hyperthreading, accelerators with integrated blocks of cores, and special vectorized instructions, all of which require more software parallelism to achieve peak performance. Traditional visualization solutions cannot support this extreme level of concurrency. Extreme scale systems require a new programming model and a fundamental change in how we design algorithms. To address these issues we created Viskores: the visualization toolkit for multi/many-core architectures. Viskores supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. Viskores also provides support for finding and building links across topologies, making it possible to perform operations that determine manifold surfaces, interpolate generated values, and find adjacencies. Although Viskores provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction.

97 MATHEMATICS AND COMPUTING↗

Eucalyptus – An Analysis Suite for Fault Trees with Uncertainty Quantification

Eucalyptus is a novel code developed at Lawrence Livermore National Laboratory to incorporate uncertainty quantification into Fault Tree Analysis (FTA). This tool addresses the challenge of imperfect knowledge in “grey-box” systems by allowing analysts to incorporate and propagate uncertainty from component-level assessments to system-level effects. Eucalyptus facilitates a consistent evaluation of the impact of subject matter expert judgment and knowledge gaps on overall system response by Monte Carlo generation of possible system fault trees, sampling probabilities of the existence of subsystems and components. Here, the code supports the specification of fault trees through text and allows export to various formats, including auto-generated images, easing analysis and reducing errors. It has undergone extensive verification testing, demonstrating its reliability and readiness for deployment, and leverages on-node parallelism for rapid analysis. Example analyses are shown that include the identification of system failure paths and quantification of the value of further information about system components.

Fault Tree Analysis↗

Time-accurate Navier-Stokes computations of self-excited two-dimensional unsteady cavity flows

Time-accurate Navier Stokes computations were performed to study self-excited oscillatory shear layer behavior over a two-dimensional rectangular cavity and to gain insight into the vortex-acoustic coupling that sustains these oscillations. Results were obtained solving the full, unsteady compressible Navier-Stokes equations for Reynolds-averaged turbulent air flow past a cavity with L/d = 2. Conditions duplicated test conditions in experiments by Rossiter at Mach numbers varied from 0.6 to 1.2. The computational scheme was the USA 2D series code developed by Rockwell's Science Center with an algebraic turbulence model for the shear layer and recirculating region. Two physical conditions were simulated: an isolated cavity situated (1) in an infinite plane wall and (2) in an infinite channel with an opposing parallel wall. Computed results for (1) showed excellent agreement with Rossiter's measured amplitudes and frequencies. A tuned acoustic duct resonance effect was observed in (2), demonstrating a controlled change in the acoustic feedback mechanism and resultant amplification in computed oscillations.

Dougherty, N. Sam↗

Resolving Phase Ambiguities In OQPSK

Improved design for modulator and demodulator in offset-quaternary-phase-key-shifting (OQPSK) communication system enables receiver to resolve ambiguity in estimated phase of received signal. Features include unique-code-word modulation and detection and digital implementation of Costas loop in carrier-recovery subsystem. Enchances performance of carrier-recovery subsystem, reduces complexity of receiver by removing redundant circuits from previous design, and eliminates dependence of timing in receiver upon parallel-to-serial-conversion clock.

Nguyen, Tien M.↗

Automatic array alignment in data-parallel programs

FORTRAN 90 and other data-parallel languages express parallelism in the form of operations on data aggregates such as arrays. Misalignment of the operands of an array operation can reduce program performance on a distributed-memory parallel machine by requiring nonlocal data accesses. Determining array alignments that reduce communication is therefore a key issue in compiling such languages. We present a framework for the automatic determination of array alignments in array-based, data-parallel languages. Our language model handles array sectioning, reductions, spreads, transpositions, and masked operations. We decompose alignment functions into three constituents: axis, stride, and offset. For each of these subproblems, we show how to solve the alignment problem for a basic block of code, possibly containing common subexpressions. Alignments are generated for all array objects in the code, both named program variables and intermediate results. We assign computation to processors by virtue of explicit alignment of all temporaries; the resulting work assignment is in general better than that provided by the 'owner-computes' rule. Finally, we present some ideas for dealing with control flow, replication, and dynamic alignments that depend on loop induction variables.

Chatterjee, Siddhartha↗

Computational aeroacoustics on massively parallel computers

A computational fluid dynamics (CFD) technique is employed to solve aeroacoustics problems on massively parallel computers. The algorithm is based on a 4th order accurate central finite difference and 4th order accurate 4-stage Runge-Kutta time integration method that solves the 3-D full Navier-Stokes/Euler equations on a curvilinear coordinate system. The code has been developed to predict noise radiation from ducted fans. A specific application of this code is made here to the oscillating circular piston problem (Workshop Category 4, Problem 2) by solving the full Euler equations with nonreflecting boundary conditions in the axisymmetric mode. The features of the code that apply to this particular problem are described in this paper.

Oezyoeruek, Yusuf↗

Algorithm and code development for unsteady three-dimensional Navier-Stokes equations

In the last two decades, there have been extensive developments in computational aerodynamics, which constitutes a major part of the general area of computational fluid dynamics. Such developments are essential to advance the understanding of the physics of complex flows, to complement expensive wind-tunnel tests, and to reduce the overall design cost of an aircraft, particularly in the area of aeroelasticity. Aeroelasticity plays an important role in the design and development of aircraft, particularly modern aircraft, which tend to be more flexible. Several phenomena that can be dangerous and limit the performance of an aircraft occur because of the interaction of the flow with flexible components. For example, an aircraft with highly swept wings may experience vortex-induced aeroelastic oscillations. Also, undesirable aeroelastic phenomena due to the presence and movement of shock waves occur in the transonic range. Aeroelastically critical phenomena, such as a low transonic flutter speed, have been known to occur through limited wind-tunnel tests and flight tests. Aeroelastic tests require extensive cost and risk. An aeroelastic wind-tunnel experiment is an order of magnitude more expensive than a parallel experiment involving only aerodynamics. By complementing the wind-tunnel experiments with numerical simulations the overall cost of the development of aircraft can be considerably reduced. In order to accurately compute aeroelastic phenomenon it is necessary to solve the unsteady Euler/Navier-Stokes equations simultaneously with the structural equations of motion. These equations accurately describe the flow phenomena for aeroelastic applications. At Ames a code, ENSAERO, is being developed for computing the unsteady aerodynamics and aeroelasticity of aircraft and it solves the Euler/Navier-Stokes equations. The purpose of this contract is to continue the algorithm enhancements of ENSAERO and to apply the code to complicated geometries. During the last year, the geometric capability of the code was extended to simulate transonic flows, a wing with oscillating control surface. Single-grid and zonal approaches were tested. For the zonal approach, a new interpolation technique was introduced. The key development of the algorithm was an interface treatment between moving zones for a control surface using the virtual-zone concept. The work performed during the period, 1 Apr. 1992 through 31 Mar. 1993 is summarized. Additional details on the various aspects of the study are given in the Appendices.

Obayashi, Shigeru↗

Validation of Multi-Dimensional Stirling Engine Design Codes: Measurements in the 90-Degree Turn Test Section

The work to be presented herein was motivated largely by a desire to improve the understanding of oscillatory fluid mechanics inside a Stirling engine. To this end, a CFD project was undertaken at Cleveland State University with the goal of accurately predicting the fluid dynamics within an engine or engine component. Along with the CFD efforts, a code validation project was undertaken at the University of Minnesota. The material covered herein consists of four main parts. In section 1, an experimental investigation of a small aspect ratio impinging jet is discussed. Included in this discussion is a description of the test facilities and instrumentation. A presentation of the collected data is given and comments are made. Next, in section 2, a parallel experimental investigation is presented in which the same geometry as that of section 1 is used, but the flow conditions are changed from steady unidirectional flow to sinusoidally oscillating flow. In section Two, collected data are presented and comments are made. In section 3, a comparison is made between the results of sections 1 and 2, namely, sinusoidally oscillating flow results are compared to steady, unidirectional flow results from the same geometry. Finally, in section 4, a comparison is made between experimentally collected data (the main subject of this work) and CFD generated results. Furthermore, in appendix A, an introductory description of the primary measurement tool used in the experimental process the hot wire anemometer is given for the unfamiliar. The anemometer calibration procedure is described in appendix B. A portfolio of data reduction and data processing codes is provided in appendix C and lastly, a DVD and a roadmap of its contents is provided in an appendix D. 1.0 Unidirectional Flow Investigations 1.1 Introduction This unidirectional experimental program was undertaken to complement an oscillatory flow investigation conducted at the University of Minnesota. The oscillatory investigation is discussed thoroughly in section 2. We defer the description of the motivation behind these experiments until the introduction of section 2. The work that is discussed in this thesis began (chronologically) with oscillatory flow visualization experiments. It was decided that it would be valuable and important to investigate the flow under unidirectional conditions in the same geometry as that of the oscillatory experiments. The thought was that the unidirectional case would be less complicated to model with a CFD program (a moving boundary would be replaced with a steady state boundary condition). Thus, a series of unidirectional experiments were carried out to capture the important features of the flow within the test section. The purpose of these experiments was to provide a data set for comparison to CFD generated velocity fields. Hot-wire anemometry data were taken and flow visualization was conducted as a standard for code validation. The flow geometry was simple, such that it could be easily gridded in a CFD program. However, the geometry provided separation and transition zones, shear layers and recirculation zones. These characteristics made the flow complex and challenging for CFD computation. We comment that the order of experiments that produced this report is as follows: experimental flow visualization under oscillatory flow conditions was carried out; this was followed by unidirectional flow visualization and hot wire anemometry; finally, oscillatory hot wire anemometry was conducted. We present the results out of chronological order for the following reason: the unidirectional results are easier

Simon, Terrence W.↗

Stepped pressure equilibrium with relaxed flow and applications in reversed-field pinch plasmas

The multi-region relaxed magnetohydrodynamics (MRxMHD) has been successful in the construction of equilibria in three-dimensional (3D) configurations. In MRxMHD, the plasma is sliced into sub-volumes separated by ideal interfaces, each undergoing relaxation, allowing the formation of islands and chaos. The resulting equilibrium has a stepped pressure profile across sub-volumes. The stepped pressure equilibrium code (SPEC) was developed to calculate MRxMHD equilibria numerically. In this work, we have extended the SPEC code to compute MRxMHD equilibria with field-aligned flow and rotation, following the theoretical development to incorporate cross-helicity and angular momentum constraints. The code has been verified for convergence and compared to a Grad–Shafranov solver in 2D. We apply our new tool to study the flow profile change before and after the sawtooth crash of a reversed-field pinch discharge, in which data of the parallel flow is available. We find the promising result that under the constraints of cross-helicity and angular momentum, the parallel flow profile in post-crash SPEC equilibrium is flat in the plasma core and the amplitude of the flow matches experimental observations. Lastly, we provide an example equilibrium with a 3D helical field structure as the favored lower energy state. This will be the first 3D numerical equilibrium in which the flow effects are self-consistently calculated.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Simulating Magnetic Reconnection in ‘Two Ribbon’ Type Solar Flares

Magnetic reconnection is an astrophysical process where neighboring magnetic field lines, facing anti-parallel, are reconfigured. This reconfiguration results in built up magnetic energy being explosively released as it is being converted to plasma kinetic and thermal energies. There are various kinds of simulations used to simulation reconnection; our work begins with Athena++, a magnetohydrodynamic (MHD) simulation code typically used for astrophysical problems, and a reconnection specific code file. The resistive MHD equations are solved with Riemann solvers. There was an initial test run without modifying the code to understand the dynamics of the simulation. We expand on the original reconnection problem file by implementing a radiative cooling term specific to the corona. The radiative cooling is theorized to have an effect on solar coronal plasma and magnetic reconnection dynamics. The cooling term will be tested with various parameters and compared to the case without cooling to study these dynamics. The condensation found in only the with cooling case emphasizes the importance of implementing this feature and will be later tested with a thermal conduction term. We want to determine the parameter regime where non-equilibrium cooling will be important for the reconnection dynamics.

79 ASTRONOMY AND ASTROPHYSICS↗

Thermal instability in post-flare plasmas

The cooling of post-flare plasmas is discussed and the formation of loop prominences is explained as due to a thermal instability. A one-dimensional model was developed for active loop prominences. Only the motion and heat fluxes parallel to the existing magnetic fields are considered. The relevant size scales and time scales are such that single-fluid MHD equations are valid. The effects of gravity, the geometry of the field and conduction losses to the chromosphere are included. A computer code was constructed to solve the model equations. Basically, the system is treated as an initial value problem (with certain boundary conditions at the chromosphere-corona transition region), and a two-step time differencing scheme is used.

Antiochos, S. K.↗