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 577 records · Page 32

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↗

Cardinal: Seismic and Geoacoustic Array Processing

Data collected via seismic and infrasound array deployments are leveraged in the geosciences to detect and characterize a myriad of natural and anthropogenic sources. These deployments consist of numerous sensors placed in a predetermined configuration to amplify signal strength and improve the efficacy of array processing techniques used to measure signal directionality and waveform coherence. High‐fidelity feature extraction is often predicated on interstation distance as well as the frequency content and wavelength of an incident signal. Numerous array processing softwares analyze data in sequential frequency bands to obtain a more detailed characterization of a signal. However, current algorithms are limited in their ability to determine optimal array configuration for each band. We introduce an open‐source Python code, called Cardinal, to process seismic and infrasound array data in discretized time–frequency space with the option of applying an adaptive array design to determine optimal subarray configuration for each frequency band. To reduce computational time, the array processing step can be run in parallel using multithreading. Furthermore, the software has the capability to aggregate array processing results from different time–frequency pixels to produce separate sets of detections, or families, with added utility via the application of an adaptive semblance threshold, which aids in isolating signals‐of‐interest from coherent background noise. Upon appropriate configuration, Cardinal exhibits the potential to combine distinct seismic and infrasound phases into separate families.

Adaptive Array↗

Planar Collisionless Shock Simulations with the Semi-implicit Particle-in-cell Model FLEKS

This study investigates the applicability of the semi-implicit particle-in-cell code FLexible Exascale Kinetic Simulator (FLEKS) to heliospheric shock simulations. We examine one- and two-dimensional local planar shock simulations, initialized using MHD states with upstream conditions representative of plasmas in the hypersonic, β ∼ 1 regime, for both quasi-perpendicular and quasi-parallel configurations. The refined algorithm in FLEKS proves robust, enabling accurate shock simulations with a grid resolution on the order of the electron inertial length d e . Our simulations successfully capture key shock features, including shock structures (foot, ramp, overshoot, and undershoot), upstream and downstream waves (fast magnetosonic, whistler, Alfvén ion-cyclotron, and mirror modes), and non-Maxwellian particle distributions. Crucially, we find that at least two spatial dimensions are critical for accurately reproducing downstream-wave physics in quasi-perpendicular shocks and capturing the complex dynamics of quasi-parallel shocks, including surface rippling, shocklets, short, large-amplitude magnetic structures, magnetic reconnection, and jets. Furthermore, our parameter studies demonstrate the impact of mass ratio and grid resolution on shock physics. This work provides valuable guidance for selecting appropriate physical and numerical parameters for shock simulations using a semi-implicit PIC method, paving the way for incorporating kinetic shock processes into large-scale collisionless plasma simulations with the MHD-AEPIC model.

plasma astrophysics↗

RMACXX: An Efficient High-Level C++ Interface over MPI-3 RMA

Parallel scientific applications can benefit from de- coupling communication and synchronization. One-sided pro- gramming abstractions, which separate communication from syn- chronization, have in fact served as a motivation for partitioned global address space (PGAS) models. However, the use of PGAS models in application codes in a manner that fully exploits the benefit of these programming models requires significant development effort. Meanwhile, a vast majority of scientific codes already use the Message Passing Interface (MPI) and need convenient features to support application-specific one-sided communication scenarios. MPI Remote Memory Access (RMA) can be employed for this purpose. MPI is a low-level API, however, and developing applications with MPI RMA requires programmers to be well versed in its nuances. We present RMACXX, a compact set of C++ bindings to MPI-3 RMA, to ease the use of MPI RMA. Unlike other PGAS models, which may have interoperability issues with MPI, RMACXX is written on top of MPI and uses the same runtime as MPI. The basic functionality of RMACXX adds only a relatively small number of extra instructions (about 20) to the critical communication path. Moreover, RMACXX provides an intuitive API for building a wide variety of scientific applications while enjoying performance matching handwritten MPI-3 RMA codes.

MPI-3 RMA, one-sided communication, PGAS, C++, exp↗

Proximity Portability and in Transit , M-to-N Data Partitioning and Movement in SENSEI [Book Chapter]

In high-performance parallel in situ processing, the term in transit processing refers to those configurations where data must move from a producer to a consumer that runs on separate resources. In the context of parallel and distributed computing on an HPC platform one of the central challenges is to determine a mapping of data from producer ranks to consumer ranks. This problem is complicated by the heterogeneity that arises in producer-consumer pairs, such as when producer and consumer codes have different levels of concurrency, different scaling characteristics, or different data models. The resulting mapping and movement of data from M producer to N consumer ranks can have a significant impact on aggregate application performance, particularly when the data consumer requires only a subset of the overall data for its task. This chapter focuses on the design considerations that underlie SENSEI’s implementation to this challenging problem. These design considerations extend the core SENSEI architecture and include ideas like the need to accommodate flexibility in the choice of different partitioning methods, the ability for a data consumer to request and receive only the subset of data needed for its particular operation, and the ability to leverage any of several different data transport tools. The idea of proximity portability, being able to use different data transport methods as part of an in transit workflow, is illustrated through the use of three different transport layers where switching from one transport tool to another is accomplished with only a configuration file change. Here, the chapter also includes a performance analysis summary showing the performance gains that are possible in terms of multiple metrics, such as memory footprint, time to solution, and amount of data moved, when using optimized partitioners in an in transit setting, gains that are made possible by the implementation shaped by specific design considerations.

Bethel, E. Wes↗

Portability for GPU-accelerated molecular docking applications for cloud and HPC: can portable compiler directives provide performance across all platforms?

High-throughput structure-based screening of drug-like molecules has become a common tool in biomedical research. Recently, acceleration with graphics processing units (GPUs) has provided a large performance boost for molecular docking programs. Both cloud and high-performance computing (HPC) resources have been used for large screens with molecular docking programs; while NVIDIA GPUs have dominated cloud and HPC resources, new vendors such as AMD and Intel are now entering the field, creating the problem of software portability across different GPUs. Ideally, software productivity could be maximized with portable programming models that are able to maintain high performance across architectures. While in many cases compiler directives have been used as an easy way to offload parallel regions of a CPU-based program to a GPU accelerator, they may also be an attractive programming model for providing portability across different GPU vendors, in which case the porting process may proceed in the reverse direction: from low-level, architecture-specific code to higher-level directive-based abstractions. MiniMDock is a new mini-application (miniapp) designed to capture the essential computational kernels found in molecular docking calculations, such as are used in phar-maceutical drug discovery efforts, in order to test different solutions for porting across GPU architectures. Here we extend MiniMDock to GPU offloading with OpenMP directives, and compare to performance of kernels using CUDA and HIP on NVIDIA and AMD GPUs, respectively, as well as across different compilers, exploring performance bottlenecks. We document this reverse-porting process, from highly optimized device code to a higher-level version using directives, compare code structure, and describe barriers that were overcome in this effort.

Thavappiragasam, Mathialakan↗

Evaluating CUDA Portability with HIPCL and DPCT

HIPCL is expanding the scope of the CUDA portability route from an AMD platform to an OpenCL platform. In the meantime, the Intel DPC++ Compatibility Tool (DPCT) is migrating a CUDA program to a data parallel C++ (DPC++) program. Towards the goal of portability enhancement, we evaluate the performance of the CUDA applications from Rodinia, SHOC, and proxy applications ported using HIPCL and DPCT on Intel GPUs. After profiling the ported programs, we aim to understand their performance gaps, and optimize codes converted by DPCT to improve their performance. The open-source repository for the CUDA, HIP, and DPCT programs will be useful for the development of a translator.

Jin, Zheming↗

PFLOTRAN 5

PFLOTRAN leverages massively parallel, high performance computing to simulate large-scale non-isothermal multiphase flow, multicomponent reactive transport and electrical resistivity tomography (ERT) problems in the subsurface environment. Researchers have employed PFLOTRAN to simulate these Earth system processes on leadership class supercomputers for over two decades. The code is designed to predict the future estate of environmental systems and better inform stakeholders in the regulatory decision making process (e.g., fate of contaminants, long-term stewardship for nuclear waste, impact of climate change, etc.). A diverse team of scientists oversees PFLOTRAN development and maintenance under an open-source licensing agreement and manages contributions from an international community of researchers.

Hammond, Glenn↗

Software Control Program For Transportable Microgrid State-of-charge Balancing And Frequency Stability Controls

A deterministic state-of-charge (SOC) balancing approach software control code is introduced as an integral secondary management to primary control layer of an islanded small microgrid or nanogrid system made up of multiple grid-forming inverter/battery/solar combination systems, where each set of batteries with each inverter are on independent DC buses (i.e. non-paralleled on the DC sides). A DERMS-level control approach, algorithm and automation controller program was developed to improve coordination and enable microgrid asset compliance and SOC balancing, enabling provision of a system-level power stability support architecture, load support, and asset scalability. The architecture is configured to treat each unit or micro/nano-grid as a node in a microgrid network, allowing for autonomous DERMS control regarding load and SOC balancing and power stability. As the network grows with the addition of units, greater coordination efforts may be required. The ideal small network microgrid ranges from 2-10 inverter/battery units before additional control parameters must be considered in the existing architecture. The control approach focuses on a deterministic state-of-charge analysis as the primary level control process followed by a secondary control loop using a forced frequency-watt droop strategy to conform off-the-shelf components into behaving under a leader-follower configuration. Adopting this control scheme has been shown to allow for a balanced, unit-coordinated microgrid network, enabling stable power flow. The deterministic state-of-charge approach is introduced as an integral primary control layer of an islanded small network microgrid. A standard strategy for SOC balancing is implementing a battery management system (BMS) to control SOC on the DC side. An alternative approach is to determine how to coordinate sending and receiving power on the AC side with multiple units. The latter approach assesses all the integrated units in the microgrid network. Once the individual units are identified, further system data is required to calculate each unit's total kWh, provided information about its capability to supply or consume kWh and availability. The secondary control layer in the multi-layered small network microgrid methodology uses the primary layer’s decision to initiate frequency setpoint changes, initializing the SOC balancing. The secondary control layer considers numerous system-dependent variables to enable a charging and discharging profile based on adjustable frequency setpoints. The combined architecture will result in stable, coordinated power flow enhancing an AC microgrid's functionalities.

Myers, KurtS [Idaho National Laboratory (INL), Ida↗

Mahakala: A Python-based Modular Ray-tracing and Radiative Transfer Algorithm for Curved Spacetimes

We introduce Mahakala, a Python-based, modular, radiative ray-tracing code for curved spacetimes. We employ Google's JAX framework for accelerated automatic differentiation, which can efficiently compute Christoffel symbols directly from the metric, allowing the user to easily and quickly simulate photon trajectories through non-Kerr spacetimes. JAX also enables Mahakala to run in parallel on both CPUs and GPUs. Mahakala natively uses the Cartesian Kerr–Schild coordinate system, which avoids numerical issues caused by the pole in spherical coordinate systems. We demonstrate Mahakala's capabilities by simulating 1.3 mm wavelength images (the wavelength of Event Horizon Telescope observations) of general relativistic magnetohydrodynamic simulations of low-accretion rate supermassive black holes. The modular nature of Mahakala allows us to quantitatively explore how different regions of the flow influence different image features. We show that most of the emission seen in 1.3 mm images originates close to the black hole and peaks near the photon orbit. We also quantify the relative contribution of the disk, forward jet, and counterjet to 1.3 mm images.

79 ASTRONOMY AND ASTROPHYSICS↗

Bayesian Optimization for Anything (BOA): An open-source framework for accessible, user-friendly Bayesian optimization

We introduce Bayesian Optimization for Anything (BOA), a high-level Bayesian Optimization (BO) framework and model wrapping toolkit, which presents a novel approach to simplifying BO, with the goal of making it more accessible and user-friendly, particularly for those with limited expertise in the field. BOA addresses common barriers in implementing BO, focusing on ease of use, reducing the need for deep domain knowledge, and cutting down on extensive coding requirements. A notable feature of BOA is its language-agnostic architecture, which facilitates broader application in various fields and to a wider audience. We showcase BOA's application through three examples: a high-dimensional optimization with parameters of the SWAT+ watershed model, a highly parallelized optimization of this intrinsically non-parallel model, and a multi-objective optimization of the FETCH Tree-Crown Hydrodynamics model. Furthermore, these test cases illustrate BOA's effectiveness in addressing complex optimization challenges in diverse scenarios.

54 ENVIRONMENTAL SCIENCES↗

All-electron APW+ lo calculation of magnetic molecules with the SIRIUS domain-specific package

We report APW+lo (augmented plane wave plus local orbital) density functional theory (DFT) calculations of large molecular systems using the domain specific SIRIUS multi-functional DFT package. The APW and FLAPW (full potential linearized APW) task and data parallelism options and the advanced eigen-system solver provided by SIRIUS can be exploited for performance gains in ground state Kohn–Sham calculations on large systems. This approach is distinct from our prior use of SIRIUS as a library backend to another APW+lo or FLAPW code. We benchmark the code and demonstrate performance on several magnetic molecule and metal organic framework systems. We show that the SIRIUS package in itself is capable of handling systems as large as a several hundred atoms in the unit cell without having to make technical choices that result in the loss of accuracy with respect to that needed for the study of magnetic systems.

Chemistry↗

Materials response under hypersonic flow conditions probed by multi-modal diagnostics in a benchtop wind tunnel

In this LDRD “Materials response under hypersonic flow conditions probed by multi-modal diagnostics in a benchtop wind tunnel” a peer-reviewed lab-scale hypersonic wind tunnel (WT) was planned to be assembled in-house, along with time and space resolved and related flow and materials diagnostics to derive high quality measurements and the science that is able to inform the development of our modeling and simulation codes for the hypersonic regime. The baseline capability to achieve Mach 3 flow was scheduled to be completed in Q4 2020, in the first year of the LDRD. However due to the COVID-19 delays and travel restrictions starting in March, 2020 this task could not be completed to carry out the materials response studies in-house, or those planned with external partners that were engaged during this LDRD (NASA Langley, NASA Ames, Texas A&M university, and Virginia Tech). Still, using our hypersonic computational fluid simulation codes, many of the hypersonic components have been designed (for Mach 3, 5, and 7) and procured (or in procurement phase), and a new dedicated hypersonic laboratory was facilitized, 2 WT test sections have been manufactured, and a Mach 3 nozzle was 3D printed for prototyping. In parallel, unique materials diagnostics have been tested under static conditions and fully specified and awaiting validation in our partner facilities. Due to the new hypersonic initiative announced in January, 2020 we proposed a related scope increase in hypersonics research requiring energy interactions and new diagnostics well beyond what could be supported by an LDRD ER. A decision was made to end the current LDRD ER and formally propose a new LDRD SI that leverages the current effort, which will be starting in FY21. As a result of the uniqueness of this LDRD work, our early efforts have been encouraged and well received in the hypersonic research community, and is now part of multiple unsolicited internal and external project proposals expected to be funded in the coming years, which is encouraging to make LLNL a leader in experimentally probing extreme physics of local energetics critical to hypersonics.

36 MATERIALS SCIENCE↗

Coupling of CTF and TRACE for Modeling of Transients

This report documents the improvements that have been made to the capabilities for coupling CTF to systems codes-specifically, the US Nuclear Regulatory Commission (NRC) TRACE code. An initial systems coupling capability had been set up previously using a nonoverlapping domain approach with the codes exchanging data at the core boundaries. The present work adds a new approach using overlapping domains, in which the system code models the core as well. A new input format has been added to allow the user to specify the physical quantities to be exchanged and their location in the system model, which gives the flexibility of applying one-way or two-way coupling between the codes using the desired data exchanges. In addition to applying thermal-hydraulics (T/H) boundary condition (BC) values obtained from TRACE, a capability was added to allow CTF to apply flow resistance feedback to TRACE to match the CTF core pressure drop. Support was added for executing parallel CTF models within the CTF-systems coupling. The system coupling capability was successfully applied to a parallel MSLB transient, demonstrating that both the one-way and two-way coupling behaved as expected and provided substantial improvements to numerical stability and routine compared to the previous nonoverlapping domain coupling. An initial capability was also developed for performing restart calculations in CTF which will be used in the future for restarting CTF-TRACE simulations at specific points in the transient simulation.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

The VTK-m User's Guide (V. 2.2)

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 VTK-m: the visualization toolkit for multi-/many-core architectures. VTK-m supports a number of algorithms and the ability to design further algorithms through a top-down design with an emphasis on extreme parallelism. VTK-m 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 VTK-m provides a simplified high-level interface for programming, its template-based code removes the overhead of abstraction.

97 MATHEMATICS AND COMPUTING↗

Porting HEP Parameterized Calorimeter Simulation Code to GPUs

The High Energy Physics (HEP) experiments, such as those at the Large Hadron Collider (LHC), traditionally consume large amounts of CPU cycles for detector simulations and data analysis, but rarely use compute accelerators such as GPUs. As the LHC is upgraded to allow for higher luminosity, resulting in much higher data rates, purely relying on CPUs may not provide enough computing power to support the simulation and data analysis needs. As a proof of concept, we investigate the feasibility of porting a HEP parameterized calorimeter simulation code to GPUs. We have chosen to use FastCaloSim, the ATLAS fast parametrized calorimeter simulation. While FastCaloSim is sufficiently fast such that it does not impose a bottleneck in detector simulations overall, significant speed-ups in the processing of large samples can be achieved from GPU parallelization at both the particle (intra-event) and event levels; this is especially beneficial in conditions expected at the high-luminosity LHC, where extremely high per-event particle multiplicities will result from the many simultaneous proton-proton collisions. We report our experience with porting FastCaloSim to NVIDIA GPUs using CUDA. A preliminary Kokkos implementation of FastCaloSim for portability to other parallel architectures is also described.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

GLUE Code: A framework handling communication and interfaces between scales

Many scientific applications are inherently multiscale in nature. Such complex physical phenomena often require simultaneous execution and coordination of simulations spanning multiple time and length scales. This is possible by combining expensive small-scale simulations (such as molecular dynamics simulations) with larger scale simulations (such continuum limit/hydro solvers) to allow for considerably larger systems using task and data parallelism. However, the granularity of the tasks can be very large and often leads to load imbalance. Traditionally, we use approximations to streamline the computation of the more costly interactions and this introduces trade-offs between simulation cost and accuracy. In recent years, the available computational power and the advances in machine learning have made computing these scale-bridging interactions and multiscale simulations more feasible. One driving application has been plasma modeling in inertial confinement fusion (ICF), which is fundamentally multiscale in nature. This requires deep understanding of how to extrapolate microscopic information into macroscopically relevant scales. For example, in ICF one needs an accurate understanding of the connection between experimental observables and the underlying microphysics. The properties of the larger scales are often affected by the microscale behavior incorporated usually into the equations of state and ionic and electronic transport coefficients (Liboff, 1959; Rinderknecht et al., 2014; Rosenberg et al., 2015; Ross et al., 2017). Instead of incorporating this information using reliable molecular dynamics (MD) simulations, one often needs to use theoretical models, due to the inability of MD to reach engineering scales (Glosli et al., 2007; Marinak et al., 1998). One approach to resolve this issue is by coupling two MD simulations of different scales via force interpolation, e.g., the AdResS method (Krekeler et al., 2018; Nagarajan et al., 2013). Another approach, which we will pursue in the scope of this work, is by enabling scale bridging between MD simulations and meso/macro-scale models through the development and support of application programming interfaces that these different applications can interact through.

54 ENVIRONMENTAL SCIENCES↗