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 505 records · Page 28

Multi-beam X-ray ptychography using coded probes for rapid non-destructive high resolution imaging of extended samples

Imaging large areas of a sample non-destructively and with high resolution is of great interest for both science and industry. For scanning coherent X-ray diffraction microscopy, i. e., ptychography, the achievable scan area at a given spatial resolution is limited by the coherent photon flux of modern X-ray sources. Multibeam X-ray ptychography can improve the scanning speed by scanning the sample with several parallel mutually incoherent beams, e. g., generated by illuminating multiple focusing optics in parallel by a partially coherent beam. The main difficulty with this scheme is the robust separation of the superimposed signals from the different beams, especially when the beams and the illuminated sample areas are quite similar. We overcome this difficulty by encoding each of the probing beams with its own X-ray phase plate. This helps the algorithm to robustly reconstruct the multibeam data. We compare the coded multibeam scans to uncoded multibeam and single beam scans, demonstrating the enhanced performance on a microchip sample with regular and repeating structures.

47 OTHER INSTRUMENTATION↗

Performance Analysis of Speculative Parallel Adaptive Local Timestepping for Conservation Laws

Stable simulation of conservation laws, such as those used to model fluid dynamics and plasma physics applications, requires the satisfaction of the so-called Courant-Friedrichs-Lewy condition. By allowing regions of the mesh to advance with different timesteps that locally satisfy this stability constraint, significant work reduction can be attained when compared to a time integration scheme using a single timestep size. However, parallelizing this algorithm presents considerable difficulty. Since the stability condition depends on the state of the system, dependencies become dynamic and potentially non-local. In this article, we present an adaptive local timestepping algorithm using an optimistic (Timewarp-based) parallel discrete event simulation. We introduce waiting heuristics to limit misspeculation and a semi-static load balancing scheme to eliminate load imbalance as parts of the mesh require finer or coarser timesteps. Last, we outline an interface for separating the physics of the specific conservation law from the temporal integration allowing for productive adoption of our proposed algorithm. We present a misspeculation study for three conservation laws, demonstrating both the productivity of the local timestepping API, for which 74% of the lines of code are reused across different conservation laws, and the robustness of the waiting heuristics—at most 1.5% of element updates are rolled back. Our performance studies demonstrate up to a 2.8× speedup versus a baseline unoptimized local timestepping approach, a 4x improvement in per-node throughput compared to an MPI parallelization of synchronous timestepping, and scalability up to 3,072 cores on NERSC’s Cori Haswell partition.

97 MATHEMATICS AND COMPUTING↗

Thermal ion kinetic effects and Landau damping in fishbone modes

We report the kinetic–magnetohydrodynamic (MHD) hybrid simulation approach for macroscopic instabilities in plasmas can be extended to include the kinetic effects of both thermal ions and energetic ions. The new coupling scheme includes synchronization of the density and parallel velocity between thermal ions and MHD, in addition to pressure coupling, to ensure the quasineutrality condition and avoid numerical errors. The new approach has been implemented in the kinetic-MHD code M3D-C1-K, and was used to study the thermal ion kinetic effects and Landau damping in fishbone modes in both DIII-D and NSTX. It is found that the thermal ion kinetic effects can cause an increase of the frequencies of the non-resonant n = 1 fishbone modes driven by energetic particles for q min >1, and Landau damping can provide additional stabilization effects. A nonlinear simulation for n = 1 fishbone mode in NSTX is also performed, and the perturbation on magnetic flux surfaces and the transport of energetic particles are calculated.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Threadsafe Dynamic Neighbor Lists for Monte Carlo Ray Tracing

Monte Carlo (MC) transport codes offer high-fidelity modeling of particle transport physics, but their high computational cost makes them impractical for many applications. For some applications such as multiphysics and depletion that use finely discretized geometries, a large portion of this computational cost is attributable to ray tracing. Neighbor lists are a well-known method for accelerating ray-tracing calculations in a MC code, but despite their prevalence, little work has been published on the details of their implementation. The fine details can have a significant impact on performance, particularly when using shared-memory parallelism. This paper addresses these details of implementation with a discussion of different neighbor list schemes and their impact on software runtime. Performance tests were run by using OpenMC on a pin-cell problem discretized with up to 200 axial regions. The results demonstrate that switching from surface-based to cell-based neighbor lists leads to a 10 faster calculation rate for the most fine discretization. Finally, using a threadsafe shared-memory data structure results in a 20% faster calculation rate versus simple threadprivate neighbor lists. Results here show that a data structure that is contiguous in memory improves performance by only 1% to 2% over noncontiguous linked lists.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

WPGNN and PLayGen (Wind Plant Graph Neural Network and Plant Layout Generator) [SWR-21-90]

WPGNN is the graph neural network machine learning based surrogate model and software that provides a streamlined approximation of wind plant wake models. It can rapidly estimate the energy production of the plant and turbines for any arbitrarily sized wind plant and layout under any inflow condition. Associated tools include graphing and visualization capabilities as well as a wind plant generator capable of creating randomized realizations of canonical wind plant layouts. The WPGNN architecture and application is extendable to multiple wake models, turbine technologies and features, and supports downstream optimizations of wind plant layouts and control strategies. In addition to the WPGNN, we include the code for the plant layout generator (PLayGen) playgen.py. This generator can produce random realizations of realistic wind plant layouts from one of the four canonical styles: cluster, single string, multiple string, or parallel string. The PLayGen_demo.ipynb notebook provides a demonstration of how to use the generator tool.

Harrison-Atlas, Dylan↗

Understanding Lustre Internals. Second Edition

The Lustre file system has become a preferred storage resource for systems on the Top500 list, and it is often the file system of choice for small- to medium-sized HPC systems that require parallel shared access to data. Several resources exist to help users deploy and configure Lustre, but the same cannot be said for resources that explain the inner workings of the Lustre source code. A previous ORNL technical report entitled "Understanding Lustre Filesystem Internals" (ORNL/TM-2009/117) provided an excellent summary of Lustre subsystem operations. However, that report is over a decade old and is based on Lustre version 1.6. Since that report was published, Lustre has evolved significantly. Several subsystems underwent significant code changes and many new features have been added to the file system, bringing the current Lustre version up to 2.15.This report aims to document and explain the internal workings of the latest version of the Lustre file system. It will provide more complete and up-to-date information than the previous technical report and should serve as a foundational document for anyone interested in Lustre software development. Key data structures will be described along with the APIs used for interaction among the various Lustre subsystems. Although the Lustre software is constantly being developed, the details in this document should remain relevant for the forseeable future.

97 MATHEMATICS AND COMPUTING↗

On the Efficient Evaluation of the Exchange Correlation Potential on Graphics Processing Unit Clusters

The predominance of Kohn–Sham density functional theory (KS-DFT) for the theoretical treatment of large experimentally relevant systems in molecular chemistry and materials science relies primarily on the existence of efficient software implementations which are capable of leveraging the latest advances in modern high-performance computing (HPC). With recent trends in HPC leading toward increasing reliance on heterogeneous accelerator-based architectures such as graphics processing units (GPU), existing code bases must embrace these architectural advances to maintain the high levels of performance that have come to be expected for these methods. In this work, we purpose a three-level parallelism scheme for the distributed numerical integration of the exchange-correlation (XC) potential in the Gaussian basis set discretization of the Kohn–Sham equations on large computing clusters consisting of multiple GPUs per compute node. In addition, we purpose and demonstrate the efficacy of the use of batched kernels, including batched level-3 BLAS operations, in achieving high levels of performance on the GPU. We demonstrate the performance and scalability of the implementation of the purposed method in the NWChemEx software package by comparing to the existing scalable CPU XC integration in NWChem.

97 MATHEMATICS AND COMPUTING↗

Priority-enabled Load Balancing for Dispersed Computing

Opportunistic managed access to local in-network compute resources can improve the performance of distributed applications and reduce the dependence on shared network resources. Instead of backhauling application data to a centralized cloud data center for processing, networked services may be adaptively and continuously dispersed into shared compute resources that are closer to the source of need. While this approach has several benefits, support for mission-aware access to computation is often an afterthought, and is implemented as a brittle extension over traditional load-balancer solutions.In this work, we investigate the design of two priority-aware resource allocation strategies and two load-balancing dispatching strategies as first class citizens in an open-source dispersed computing middleware. We present a control theoretic analysis of these load-balancing primitives to identify weaknesses and strengths in our design, and recommend future directions. In parallel, we prototype two priority-aware allocation algorithms to validate our priority predictions. In initial experiments our prototype shows substantial gains in processing prioritized load. Finally, we make our source-code and experimental configurations open source.

Paulos, Aaron↗

BISON Robustness and Performance Improvements

BISON is a modern finite-element based nuclear fuel performance code that has been under development at the Idaho National Laboratory (USA) since 2009 [1]. The code is applicable to both steady and transient fuel behavior and can be used to analyze 1D (spherically symmetric), 2D (axisymmetric and generalized plane strain) or 3D geometries. BISON is the fuel performance code used within CASL for LWR fuel under both normal operating and accident conditions. BISON is built using the INL Multiphysics ObjectOriented Simulation Environment, or MOOSE [2, 3]. MOOSE is a massively parallel, finite element-based framework to solve systems of coupled non-linear partial differential equations using the Jacobian-Free Newton Krylov (JFNK) method [4]. This enables investigation of computationally large problems, for example a full stack of discrete pellets in a LWR fuel rod, or every rod in a full reactor core. MOOSE supports the use of complex two and three-dimensional meshes and uses implicit time integration, important for the widely varied time scale in nuclear fuel simulation. An object-oriented architecture is employed which greatly minimizes the programming effort required to add new material and behavioral models. The flexibility of the implicit and fully coupled multiphysics approach comes with a need for constructing suitable approximations for the Jacobian matrix of the coupled system used for either preconditioning a Krylov solve or in a direct Newton solve. Preconditioning options for Bison problems need to be revisited with new preconditioning methods becoming available.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

Profiling the BLAST bioinformatics application for load balancing on high-performance computing clusters

Abstract Background The Basic Local Alignment Search Tool (BLAST) is a suite of commonly used algorithms for identifying matches between biological sequences. The user supplies a database file and query file of sequences for BLAST to find identical sequences between the two. The typical millions of database and query sequences make BLAST computationally challenging but also well suited for parallelization on high-performance computing clusters. The efficacy of parallelization depends on the data partitioning, where the optimal data partitioning relies on an accurate performance model. In previous studies, a BLAST job was sped up by 27 times by partitioning the database and query among thousands of processor nodes. However, the optimality of the partitioning method was not studied. Unlike BLAST performance models proposed in the literature that usually have problem size and hardware configuration as the only variables, the execution time of a BLAST job is a function of database size, query size, and hardware capability. In this work, the nucleotide BLAST application BLASTN was profiled using three methods: shell-level profiling with the Unix “time” command, code-level profiling with the built-in “profiler” module, and system-level profiling with the Unix “gprof” program. The runtimes were measured for six node types, using six different database files and 15 query files, on a heterogeneous HPC cluster with 500+ nodes. The empirical measurement data were fitted with quadratic functions to develop performance models that were used to guide the data parallelization for BLASTN jobs. Results Profiling results showed that BLASTN contains more than 34,500 different functions, but a single function, RunMTBySplitDB, takes 99.12% of the total runtime. Among its 53 child functions, five core functions were identified to make up 92.12% of the overall BLASTN runtime. Based on the performance models, static load balancing algorithms can be applied to the BLASTN input data to minimize the runtime of the longest job on an HPC cluster. Four test cases being run on homogeneous and heterogeneous clusters were tested. Experiment results showed that the runtime can be reduced by 81% on a homogeneous cluster and by 20% on a heterogeneous cluster by re-distributing the workload. Discussion Optimal data partitioning can improve BLASTN’s overall runtime 5.4-fold in comparison with dividing the database and query into the same number of fragments. The proposed methodology can be used in the other applications in the BLAST+ suite or any other application as long as source code is available.

59 BASIC BIOLOGICAL SCIENCES↗

Scalable line and plane relaxation in a parallel structured multigrid solver

The efficient solution of sparse, linear systems that arise through the discretization of partial differential equations remains a key challenge for a range of high performance scientific simulations. One approach for reducing data movement and improving performance is by exposing and exploiting structure in a problem through the use of robust structured multilevel solvers. By choosing coarsening that preserves the structure of the problem, these methods maintain efficient structured computation and communication throughout the multigrid hierarchy. However, when coarsening is not permitted to be dependent on the operator, anisotropy must be addressed by the smoother — producing error compatible for coarse-grid correction with structured coarsening. Here, the components required in a scalable parallel structured solver are described with a focus on memory and communication efficiency of robust smoothers. While the implementation of communication and memory reduction techniques in smoothers integrated in a complete 3D solver present a significant engineering challenge, a novel approach is proposed that addresses these challenges systematically through a change to the solver’s execution model. Enabled by user-level threading paired with a set of data and communication abstractions, this approach permits seamless aggregation of communication in plane smoothers — directly reusing code for a 2D distributed multilevel cycle. Results show an effective reduction in communication costs for coarse-grid problems, and result in a speedup of 8.7x in smoothing routines shown in Fig. 12 using this approach. This produces a significant improvement to strong scalability while maintaining favorable weak scaling behavior. Finally, a parallel scaling study using a series of refined meshes is included that demonstrates the effectiveness of this approach in an application of interest.

97 MATHEMATICS AND COMPUTING↗

A generalized and adaptable tensor-contraction-based cluster expansion formalism for multicomponent solids

Density functional theory (DFT)-based simulations of materials have first-principles accuracy, but are very computationally expensive. For simulating various properties of multi-component alloys, the cluster expansion (CE) technique has served as the standard workaround to improve computational efficiency. However, the standard CE technique is difficult to extend to exotic and/or low-symmetry lattices, often implemented via iteration over particular cluster types, which must be enumerated per lattice structure. In this work, we introduce the tensor cluster expansion (TCE), implemented in the open-source code tce-lib, which maps correlation functions to mixed tensor contractions, eliminating the need to iterate over cluster types and additionally making the calculation of correlation functions well-suited for massively parallel architectures like GPUs. We show that local interaction energies are an immediate consequence of the TCE formalism, yielding nearly $\mathcal{O}$(1) energy difference calculations. We then use this formalism to fit CE models for the TaW and CoNiCrFeMn systems, and use these models to respectively compute the enthalpy of mixing curve and Cowley short-range order parameters, showing excellent agreement with ground truth data.

Cluster expansion↗

Improving I/O Performance for Exascale Applications through Online Data Layout Reorganization

The applications being developed within the U.S. Exascale Computing Project (ECP) to run on imminent Exascale computers will generate scientific results with unprecedented fidelity and record turn-around time. Many of these codes are based on particle-mesh methods and use advanced algorithms, especially dynamic load-balancing and mesh-refinement, to achieve high performance on Exascale machines. Yet, as such algorithms improve parallel application efficiency, they raise new challenges for I/O logic due to their irregular and dynamic data distributions. Thus, while the enormous data rates of Exascale simulations already challenge existing file system write strategies, the need for efficient read and processing of generated data introduces additional constraints on the data layout strategies that can be used when writing data to secondary storage. We review these I/O challenges and introduce two online data layout reorganization approaches for achieving good tradeoffs between read and write performance. We demonstrate the benefits of using these two approaches for the ECP particle-in-cell simulation WarpX, which serves as a motif for a large class of important Exascale applications. Here, we show that by understanding application I/O patterns and carefully designing data layouts we can increase read performance by more than 80 percent.

97 MATHEMATICS AND COMPUTING↗

Expanded Capabilities and Opportunities for Virtual Beamline Code

In the 25 years since LLNL broke ground on the National Ignition Facility (NIF) - a cornerstone of the National Nuclear Security Administration’s Stockpile Stewardship Program - the NIF and Photon Science (NIF&PS) Directorate has steadily pushed the boundaries of laser physics, nonlinear optics, and photonics in service of inertial confinement fusion experiments, and advanced photon sources development. Beyond the 192 beamlines of the primary laser facility with its world-record energy and fusion yields, NIF&PS capabilities have expanded to include chirped-pulse amplification, kilojoule petawatt-class short-pulse systems to generate hard x-ray radiographic probes, high-average power lasers as secondary sources for generation or wake field particle acceleration along directed energy applications, and other scientific pursuits. The Computing Directorate partners with NIF&PS on numerous projects and technologies from diagnostic measurements and high performance control systems to data analysis, information technology infrastructure, and scientific simulation code development. “This strong collaboration enables cutting-edge science, particularly with regard to physics-based modeling and simulation,” says physicist Jean-Michel Di Nicola. One crucial capability for NIF&PS is the Virtual Beamline (VBL) laser simulation code. It can model all the major laser physics and technology involved in the design optimization, commissioning, and operations of advanced laser architectures from tabletop to NIF-scale. VBL provides researchers with high-fidelity models and high-resolution calculations of laser performance predictions—including for the entire NIF laser system, the Advanced Radiographic Capability, parts of the High Repetition-Rate Advanced Petawatt Laser System laser delivered to the Czech Republic, and the Optical Science Laser. After more than two decades of experimentally verified physics and computing enhancements, this unique workhorse code is wrapping up another major milestone: migration from Java to C++ with a flurry of user interface and optimization features, as well as laser physics and high-resolution enhancements thanks to parallel execution on Livermore Computing platforms.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Virtual Time III, Part 3: Throttling and Message Cancellation

This is Part 3 of a trio of papers that unify in a natural way the two historically distinct parallel discrete event synchronization paradigms, optimistic and conservative, combining the best properties of both into a single framework called Unified Virtual Time (UVT). In this part, we survey the synchronization effects that can be achieved by restricting to corner cases the relationships permitted among the control variables, GVT, CVT, TVT, and LVT, which were defined in Part 1. Here we also survey various throttling policies from the literature and describe how they can be implemented in UVT by controlling the value of TVT, including policies that can take advantage of rollback in addition to LP blocking. A significant result is a new category of efficient and higher precision throttling algorithms for optimistic execution that are based on optimistic lookahead, defined in a way that is symmetric to what we now call the conservative lookahead information that is traditionally used for conservative synchronization. Finally, we present a novel algorithm allowing the choice between lazy and aggressive cancellation to be made on a message-by-message basis using either external logic expressed in the model code, or policy code internal to the simulator, or a mixture of both.

throttling↗

Implementation of Perdew–Zunger self-interaction correction in real space using Fermi–Löwdin orbitals

Most widely used density functional approximations suffer from self-interaction error, which can be corrected using the Perdew–Zunger (PZ) self-interaction correction (SIC). We implement the recently proposed size-extensive formulation of PZ-SIC using Fermi–Löwdin Orbitals (FLOs) in real space, which is amenable to systematic convergence and large-scale parallelization. Here, we verify the new formulation within the generalized Slater scheme by computing atomization energies and ionization potentials of selected molecules and comparing to those obtained by existing FLOSIC implementations in Gaussian based codes. The results show good agreement between the two formulations, with new real-space results somewhat closer to experiment on average for the systems considered. We also obtain the ionization potentials and atomization energies by scaling down the Slater statistical average of SIC potentials. The results show that scaling down the average SIC potential improves both atomization energies and ionization potentials, bringing them closer to experiment. Finally, we verify the present formulation by calculating the barrier heights of chemical reactions in the BH6 dataset, where significant improvements are obtained relative to Gaussian based FLOSIC results.

75 CONDENSED MATTER PHYSICS, SUPERCONDUCTIVITY AND↗

Simulating single-particle dynamics in magnetized plasmas: The RMF code

The RMF (Rotating Magnetic Field) code is designed to calculate the motion of a charged particle in a given electromagnetic field. It integrates Hamilton’s equations in cylindrical coordinates using an adaptive predictor-corrector double-precision variable-coefficient ordinary differential equation solver for speed and accuracy. RMF has multiple capabilities for the field. Particle motion is initialized by specifying the position and velocity vectors. Here, the six-dimensional state vector and derived quantities are saved as functions of time. A post-processing graphics code, XDRAW, is used on the stored output to plot up to 12 windows of any two quantities using different colors to denote successive time intervals. Multiple cases of RMF may be run in parallel and perform data mining on the results. Recent features are a synthetic diagnostic for simulating the observations of charge-exchange-neutral energy distributions and RF grids to explore a Fermi acceleration parallel to static magnetic fields.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Simulations of plasma current induced by toroidal field ramping down on tokamaks

In tokamak experiments, the BT ramping down can drive off-axis and parallel inductive current. This approach leads to a decrease in q95 and an increase in normalized beta, βN. The off-axis inductive current also broadens the current profile. Typically, the 1.5D transport code is used to simulate the time evolution of the plasma current profile, which is based on the flux-surface-averaged Faraday’s law. The ONETWO code is one of those transport codes. However, this code cannot simulate the situation of the evolving toroidal field BT. This article proposes a new time-dependent model to take into account the BT ramping down situation. A modified formula of flux-surface-averaged Faraday’s law was derived to consider the effect of the BT ramping rate on the current evolution, and it was implemented in the ONETWO code. Then, the modified ONETWO code was used to simulate the BT ramping down experiment on DIII-D. The simulation result of the plasma current evolution with BT ramping down shows a broader current profile with smaller ohmic current induced by the poloidal field, compared to that without BT ramping down.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗