Search NASA⌕ Search

SEARCH · Search NASA

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 181 records · Page 10

PETSc/TAO Users Manual V.3.21

This manual describes the use of the Portable, Extensible Toolkit for Scientific Computation (PETSc) and the Toolkit for Advanced Optimization (TAO) for the numerical solution of partial differential equations (PDEs) and related problems on high-performance computers. PETSc/TAO is a suite of data structures and routines that provide the building blocks for implementing large-scale application codes on parallel (and serial) computers. PETSc uses the MPI standard for all distributed memory communication. PETSc/TAO includes a large suite of parallel linear solvers, nonlinear solvers, time integrators, and optimizers that may be used in application codes written in Fortran, C, C++, and Python (via petsc4py; see Getting Started ). The library is organized hierarchically, enabling users to employ the abstraction level most appropriate for a particular problem. By using techniques of object-oriented programming, PETSc provides enormous flexibility for users.

97 MATHEMATICS AND COMPUTING↗

Developing an ELM Ecosystem Dynamics Model on GPU with OpenACC

Porting a complex scientific code, such as the E3SM land model (ELM), onto a new computing architecture is challenging. The paper presents design strategies and technical approaches to develop an ELM ecosystem dynamics model with compiler directives (OpenACC) on NVIDIA GPUs. The code has been refactored with advanced OpenACC features (such as deepcopy and routine directives) to reduce memory consumption and to increase the levels of parallelism through parallel loop reconstruction and new data structures. As a result, the optimized parallel implementation achieved more than a 140-time speedup (50 ms vs 7600 ms), compared to a naive implementation that uses OpenACC routine directive and parallelizes the code across existing loops on a single NVIDIA V100. On a fully loaded computing node with 44 CPUs and 6 GPUs, the code achieved over a 3.0-times speedup, compared to the original code on the CPU. Furthermore, the memory footprint of the optimized parallel implementation is 300 MB, which is around 15% of the 2.15 GB of memory consumed by a naive implementation. This study is the first effort to develop the ELM component on GPUs efficiently to support ultra-high-resolution land simulations at continental scales.

Schwartz, Peter↗

Parallelization of Finite Element Analysis Codes Using Heterogeneous Distributed Computing

Performance gains in computer design are quickly consumed as users seek to analyze larger problems to a higher degree of accuracy. Innovative computational methods, such as parallel and distributed computing, seek to multiply the power of existing hardware technology to satisfy the computational demands of large applications. In the early stages of this project, experiments were performed using two large, coarse-grained applications, CSTEM and METCAN. These applications were parallelized on an Intel iPSC/860 hypercube. It was found that the overall speedup was very low, due to large, inherently sequential code segments present in the applications. The overall execution time T(sub par), of the application is dependent on these sequential segments. If these segments make up a significant fraction of the overall code, the application will have a poor speedup measure.

Ozguner, Fusun↗

Developing Information Power Grid Based Algorithms and Software

This exploratory study initiated our effort to understand performance modeling on parallel systems. The basic goal of performance modeling is to understand and predict the performance of a computer program or set of programs on a computer system. Performance modeling has numerous applications, including evaluation of algorithms, optimization of code implementations, parallel library development, comparison of system architectures, parallel system design, and procurement of new systems. Our work lays the basis for the construction of parallel libraries that allow for the reconstruction of application codes on several distinct architectures so as to assure performance portability. Following our strategy, once the requirements of applications are well understood, one can then construct a library in a layered fashion. The top level of this library will consist of architecture-independent geometric, numerical, and symbolic algorithms that are needed by the sample of applications. These routines should be written in a language that is portable across the targeted architectures.

Dongarra, Jack↗

Parallel execution of a three-dimensional, chemically reacting, Navier-Stokes code on distributed-memory machines

This paper describes the parallel version of the three-dimensional, chemically reacting, computational fluid dynamics (CFD) code, SPARK. This work was performed on the Intel iPSC/860-based parallel computers. The SPARK code utilizes relatively simple explicit numerical algorithms, but models complex chemical reactions. The code solves the equations over a regular structured mesh so a simple dam decomposition is used to assign work to the individual processors. The explicit nature of the algorithm, combined with the computational intensity of the chemistry calculations, results in a very low communication-to-computation ratio when compared to typical CFD codes. The efficiency of the parallel code is examined and shown to be about 65 percent when the problem size is scaled with the number of processors. Two low-angle wall-jet injection cases are solved to demonstrate the capability of the parallel code for solving large problems efficiently.

Otto, John C.↗

Tools to Rapidly and Effectively Parallelise Serial FORTRAN Codes Using Either MPI or OpenMP

Significant progress has been made in hardware and software technologies, as a result the use of efficient standard message passing communication calls in parallel application codes has greatly assisted in reducing execution times. In addition, the introduction of OpenMP, an industrial standard for shared memory programming with directives addresses the issue of portability and also provides a means to deliver respectable performance. In general however, the manual parallelisation of a user's application code using either message passing or directives is still a very costly and error-prone process.

Jin, Hao-Qiang↗

DSMC analysis in a heterogeneous parallel computing environment

A methodology for implementing parallel DSMC codes in a heterogeneous computing environment is described. The methodology involves the use of a common message-passing software library together with recently developed software that handles the actual interprocessor communications in a standard manner across a variety of computing platforms. Benchmark tests using a simple DSMC model problem were performed on an Intel iPSC/860, a Cray-YMP and a group of Sun workstations. The approach was found to give speedups that scaled linearly with problem size on all the computing platforms tested. This methodology was then incorporated into a production-type DSMC code to allow the simulation of problems that would not otherwise have been practical. The application of this production code to simulations of hypersonic shear flows and shock-lip interactions under near-continuum conditions is described. Synchronous and asynchronous models for implementing parallelism into DSMC simulations are also described and both models are shown to produce the same steady-state result.

Wilmoth, R. G.↗

Massively parallel phase-field simulations targeting exascale

The interface thickness in the phase-field (PF) method limits its simulation scales. Consequently, large-scale PF simulations become prohibitively expensive for resolving the extremely fine microstructures that typically form during rapid solidification processing. This challenge is significant in predicting microstructure evolution in metal additive manufacturing and has been identified by the United States Department of Energy’s Exascale Computing Project. Here, to address this, we develop a multi-GPU and MPI-based massively parallel simulation code, utilizing state-of-the-art algorithms, software, and libraries, for large-scale three-dimensional (3D) PF simulations. We report the first GPU-parallel PF simulations on Frontier (currently the second TOP500 exascale cluster) and Summit machines, taking dendritic growth as an example problem. We evaluate the parallel performance of our implementation using scaling studies with more than 24 000 GPUs (among the largest known computations to date) and the acceleration performance using large-scale simulations of dendritic growth in 3D. Finally, massively parallel GPUs in these supercomputers enabled the first coupled multiscale simulations of laser melting and subsequent dendritic solidification on the scale of a full melt-pool, demonstrating the feasibility of performing PF simulations with a point total over 2 billion grid points within an acceptable time.

Exascale↗

Analysis of Aeroheating Augmentation due to Reaction Control System Jets on Orion Crew Exploration Vehicle

The analysis of effects of the reaction control system jet plumes on aftbody heating of Orion entry capsule is presented. The analysis covered hypersonic continuum part of the entry trajectory. Aerothermal environments at flight conditions were evaluated using Langley Aerothermal Upwind Relaxation Algorithm (LAURA) code and Data Parallel Line Relaxation (DPLR) algorithm code. Results show a marked augmentation of aftbody heating due to roll, yaw and aft pitch thrusters. No significant augmentation is expected due to forward pitch thrusters. Of the conditions surveyed the maximum heat rate on the aftshell is expected when firing a pair of roll thrusters at a maximum deceleration condition.

Dyakonov, Artem A.↗

A parallel discrete dislocation dynamics/kinetic Monte Carlo method to study non-conservative plastic processes

Non-conservative processes play a fundamental role in plasticity and are behind important macroscopic phenomena such as creep, dynamic strain aging, loop raft formation, etc. In the most general case, vacancy-induced dislocation climb is the operating unit mechanism. While dislocation/vacancy interactions have been modeled in the literature using a variety of methods, the approaches developed rely on continuum descriptions of both the vacancy population and its fluxes. However, there are numerous situations in physics where point defect populations display heterogeneous concentrations and/or non-smooth kinetics. Here, a kinetic Monte Carlo (kMC) approach for modeling vacancy transport in response to arbitrary stress fields is used. Vacancies are treated as point particles and are coupled to the dislocation substructure representing a deformed material via an advection term defined by the local stress gradients. The stress fields and the dislocation substructure are evolved using a discrete dislocation dynamics (DDD) module. To extend the coupled model to the treatment of large systems, we have implemented it in the massively-parallel DDD code ParaDiS. To avoid numerical incompatibilities associated with merging deterministic (DDD) and stochastic (kMC) integration algorithms, we cast the entire elasto-plastic-diffusive problem within a single stochastic framework, taking advantage of a parallel kMC algorithm to evolve the system as a single event-driven process. The large-scale implementation enables the study of the evolution of a variety of dislocation-defect scenarios governed by non-conservative transport kinetics. After carrying out an exhaustive numerical and computational analysis of our parallel algorithm, we show results that emphasize situations where inhomogeneous vacancy dynamics are of relevance, and compare discrete kinetics to continuum solutions for several cases.

36 MATERIALS SCIENCE↗

ExaCA: A performance portable exascale cellular automata application for alloy solidification modeling

Modeling the as-solidified grain structures that form during alloy processing is a critical component in understanding process-property relationships, particularly for additive manufacturing (AM) where grain structure is very sensitive to processing conditions. While cellular automata (CA)-based models have proven able to predict aspects of microstructure for several alloys and AM process conditions, long run times and large resource sets required limit the utility and the problem size to which existing CA models can be applied. As part of the ExaAM project, an initiative within the Exascale Computing Project (ECP) to develop, test, and optimize an exascale-capable coupled and self-consistent model of AM parts, we developed ExaCA (https://github.com/LLNL/ExaCA) for the liquid–solid phase transformation in the wake of AM melt pools. The CA-based code is parallelized using MPI and the Kokkos programming model, the latter enabling simulation on both CPUs and GPUs within a single-source implementation. Here, we detail the steps taken to transform a baseline, MPI-based CA code into one that is performant on CPUs and GPUs. Performance testing of ExaCA on Summit (a pre-exascale machine at Oak Ridge National Laboratory) was used to quantify CPU–GPU speedup comparing with equal numbers of nodes. Testing showed comparable CPU performance to the MPI-only CA code and a 5-20x speedup when running AM-based test problems using GPUs. The improved performance of CA through GPU utilization and the performance portable nature of ExaCA will enable accurate part-scale modeling by harnessing the power of current and future generations of high performance computing resources. Future work will include improving the strong scaling of ExaCA on GPUs by reducing load imbalance associated with the locality of the problem, and continuing performance optimization across exascale hardware.

36 MATERIALS SCIENCE↗

Cyclotron Resonant Scattering Feature Simulations II. Description of the CRSF Simulation Process

Context. Cyclotron resonant scattering features (CRSFs) are formed by scattering of X-ray photons o_ quantized plasma electrons in the strong magnetic field (of the order 1012 G) close to the surface of an accreting X-ray pulsar. Due to the complex scattering cross-sections, the line profiles of CRSFs cannot be described by an analytic expression. Numerical methods, such as Monte Carlo (MC) simulations of the scattering processes, are required in order to predict precise line shapes for a given physical setup, which can be compared to observations to gain information about the underlying physics in these systems.Aims. A versatile simulation code is needed for the generation of synthetic cyclotron lines. Sophisticated geometries should be investigatable by making their simulation possible for the first time.Methods. The simulation utilizes the mean free path tables described in the first paper of this series for the fast interpolation of propagation lengths. The code is parallelized to make the very time-consuming simulations possible on convenient time scales. Furthermore, it can generate responses to monoenergetic photon injections, producing Green's functions, which can be used later to generate spectra for arbitrary continua.Results. We develop a new simulation code to generate synthetic cyclotron lines for complex scenarios, allowing for unprecedented physical interpretation of the observed data. An associated XSPEC model implementation is used to fit synthetic line profiles to NuSTAR data of Cep X-4. The code has been developed with the main goal of overcoming previous geometrical constraints in MC simulations of CRSFs. By applying this code also to more simple, classic geometries used in previous works, we furthermore address issues of code verification and cross-comparison of various models. The XSPEC model and the Green's function tables are available online (see link in footnote, page 1).

Schwarm, F.-W.↗

Phase Field Dislocation Dynamics (PFDD) version 2.x

This disclosure is for version 2.x of a mesoscale model called Phase Field Dislocation Dynamics (PFDD). PFDD is used for investigating deformation in nanoscale (grain sizes of ~300 nm and less) materials, such as metals and alloys. This approach models the motion and interaction of individual defects, namely dislocations, in the material using scalar-valued phase field variables, also called order parameters. The system is evolved through energy minimization thus the model calculates the total energy density in terms of the phase field variables. The energy minimization is completed using the Ginzburg-Landau equation, and is implemented with explicit time integration. The total system energy can be comprised of several terms, including the strain energy (which describes dislocation-dislocation interactions), the energy due to an applied stress (dislocation interactions with the applied stress), and a core/lattice (perfect dislocations) or generalized stacking fault (partial dislocations) energy (described the dislocation core structure). The latter term in particular may vary based on the crystal structure being modeled and is typically informed using lower length scale (e.g., atomistic) approaches, although no such (atomistic) calculations are completed within the PFDD algorithm. This basic formulation was previously reviewed by Los Alamos National Laboratory and released under license number C17113. This previously reviewed version we will henceforth refer to as PFDD v1.0. PFDD v1.0 consisted of 2 codes (one parallel and one serial) plus input files, all written in the C language. This new disclosure is addressing the next versions of the PFDD, versions 2.x. There have been several enhancements of PFDD v1.0, which are described here and included in the attached code, which we will refer to as PFDD v2.0. There are also several new features described here that are either planned or already in process and are expected to be subsequent releases, i.e., v2.1, v2.2, ...v2.x.

Hunter, Abigail↗

Optimizing the hit finding algorithm for liquid argon TPC neutrino detectors using parallel architectures

Neutrinos are particles that interact rarely, so identifying them requires large detectors which produce lots of data. Processing this data with the computing power available is becoming even more difficult as the detectors increase in size to reach their physics goals. Liquid argon time projection chamber (LArTPC) neutrino experiments are expected to grow in the next decade to have 100 times more wires than in currently operating experiments, and modernization of LArTPC reconstruction code, including parallelization both at data- and instruction-level, will help to mitigate this challenge. The LArTPC hit finding algorithm is used across multiple experiments through a common software framework. In this paper we discuss a parallel implementation of this algorithm. Using a standalone setup we find speedup factors of two times from vectorization and 30–100 times from multi-threading on Intel architectures. The new version has been incorporated back into the framework so that it can be used by experiments. On a serial execution, the integrated version is about 10 times faster than the previous one and, once parallelization is enabled, more speedups comparable to the standalone program are achieved.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Carbon Nanotubes in Water: MD Simulations of Internal and External Flow, Self Organization

We have developed computational tools, based on particle codes, for molecular dynamics (MD) simulation of carbon nanotubes (CNT) in aqueous environments. The interaction of CNTs with water is envisioned as a prototype for the design of engineering nano-devices, such as artificial sterocillia and molecular biosensors. Large scale simulations involving thousands of water molecules are possible due to our efficient parallel MD code that takes long range electrostatic interactions into account. Since CNTs can be considered as rolled up sheets of graphite, we expect the CNT-water interaction to be similar to the interaction of graphite with water. However, there are fundamental differences between considering graphite and CNTs, since the curvature of CNTs affects their chemical activity and also since capillary effects play an important role for both dynamic and static behaviour of materials inside CNTs. In recent studies Gordillo and Marti described the hydrogen bond structure as well as time dependent properties of water confined in CNTs. We are presenting results from the development of force fields describing the interaction of CNTs and water based on ab-initio quantum mechanical calculations. Furthermore, our results include both water flows external to CNTs and the behaviour of water nanodroplets inside heated CNTs. In the first case (external flows) the hydrophobic behaviour of CNTs is quantified and we analyze structural properties of water in the vicinity of CNTs with diagnostics such as hydrogen bond distribution, water dipole orientation and radial distribution functions. The presence of water leads to attractive forces between CNTs as a result of their hydrophobicity. Through extensive simulations we quantify these attractive forces in terms of the number and separation of the CNT. Results of our simulations involving arrays of CNTs indicate that these exhibit a hydrophobic behaviour that leads to self-organising structures capable of trapping water clusters. In the second case (internal flows) we study the behaviour of water droplets confined inside CNTs. Constant temperature simulations allow us to capture structural properties such as the contact angles and density profiles of the equilibrated drops. By heating and subsequently cooling of the CNT, we are able to measure the evaporation and the condensation rate of the entrapped water.

Jaffe, Richard L.↗

Yearly report for the period Jan. 2018 – Feb. 2019 IC Project: w17_faultprediction “Critical Stress in Earth”

The consequence of earthquake is usually catastrophic. Currently, we cannot determine when a fault is approaching failure due to either anthropogenic activities or tectonic movement. In an anthropogenically perturbed setting, the rate of physical changes on faults far exceeds most natural processes with currently unpredictable and unmeasurable results. In a tectonic setting we generally do not know where a fault is in the earthquake cycle beyond noting how long has passed since the last rupture, which is itself sometimes unknown. The Laboratory has therefore funded a multi million multi-year LDRD-DR program that comprises experiments, numerical modeling, and machine learning in order to develop and test a highly novel approach to probe the earthquake cycle and in particular, to detect and locate stressed faults that are approaching failure. For this program, modeling of a series of sheared granular layers undergoing stick-slip behavior using the EES-17’s Combined Finite-Discrete Element Method (FDEM) based code HOSS (Hybrid Optimization Software Suite) plays a pivotal role since numerical simulations of granular fault gouge allow for analysis of the mechanical behavior of the system at a level of spatial and temporal resolution not accessible experimentally, and also offer the possibility of identifying the most important parameters governing earthquake dynamics. The simulated data also provide very detailed stress, strain and motion information for machine learning purpose to predict earthquake. The code – HOSS – has been developed in Geophysics Group in LANL during the past ten years and is used to simulate the stick-slip behavior of granular fault gouge. One of the key feature of HOSS is that it is superior to pure finite element method and discrete element method and can provide very detailed evolvement information of granular fault gouge. Additionally, its parallel computing capability makes large scale earthquake gouge simulation possible. Taking these facts into account, and also because few other fully parallel FDEM code exists, this IC project allows LANL to stay at the forefront of earthquake gouge and granular material simulation in the world.

42 ENGINEERING↗

PIAFS: A 2D nonlinear hydrodynamics code to model gaseous optics

The survivability of final optics is expected to be a major challenge for all future inertial fusion energy concepts. Due to their higher damage threshold, gaseous optics have been identified as a promising solution to this problem. Gaseous optics can be created through the photoabsorption of spatially modulated UV light, which induces various chemical processes that heat the gas. This heating leads to a pressure perturbation, which in turn launches a density perturbation that can imprint a refractive index modulation such as a grating. In this article, we introduce a parallel C/C++ code to simulate gaseous optics. PIAFS2D is a high-order conservative finite-difference code to solve the compressible Navier–Stokes equations along with the photochemical heating sources on Cartesian grids. The simulations are validated by the linear theory derived in a previous paper [Michel et al., Phys. Rev. Appl. 22, 024014 (2024)]. For larger perturbations, the behavior of the system—particularly the evolution of the generated acoustic wave—demonstrates strong nonlinearity. PIAFS2D allows the study of nonlinear behaviors and can be used for the design of high-efficiency gaseous optics elements in realistic experimental conditions.

Oudin, A. [Lawrence Livermore National Laboratory ↗

On the utility of threads for data parallel programming

Threads provide a useful programming model for asynchronous behavior because of their ability to encapsulate units of work that can then be scheduled for execution at runtime, based on the dynamic state of a system. Recently, the threaded model has been applied to the domain of data parallel scientific codes, and initial reports indicate that the threaded model can produce performance gains over non-threaded approaches, primarily through the use of overlapping useful computation with communication latency. However, overlapping computation with communication is possible without the benefit of threads if the communication system supports asynchronous primitives, and this comparison has not been made in previous papers. This paper provides a critical look at the utility of lightweight threads as applied to data parallel scientific programming.

Fahringer, Thomas↗