Search NASA⌕ Search

SEARCH · Search NASA

Results for “Open MPI”

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 73 records · Page 4

Futility

The Futility package contains the following: 1) Definition of the size of integers and real numbers; 2) A generic Unit test harness; 3) Definitions for some basic extensions to the Fortran language: arbitrary length strings, a parameter list construct, exception handlers, command line processor, timers; 4) Geometry definitions: point, line, plane, box, cylinder, polyhedron; 5) File wrapper functions: standard Fortran input/output files, Fortran binary files, HDF5 files; 6) Parallel wrapper functions: MPI, and Open MP abstraction layers, partitioning algorithms; 7) Math utilities: BLAS, Matrix and Vector definitions, Linear Solver methods and wrappers for other TPLs (PETSC, MKL, etc), preconditioner classes; 8) Misc: random number generator, water saturation properties, sorting algorithms.

Collins, Benjamin S.↗

Distributed Macroscopic Traffic Simulation with Open Traffic Models

This paper presents OTM-MPI, an extension of the Open Traffic Models platform (OTM) for running macroscopic traffic simulations in high-performance computing environments. OTM-MPI represents the first open-source, distributed-memory, macroscopic simulation model developed for modern high performance parallel machines and large networks. Macroscopic simulations are appropriate for studying regional traffic scenarios when aggregate trends are of interest, rather than individual vehicle traces. They are also appropriate for studying the routing behavior of classes of vehicles, such as app-informed vehicles. The network partitioning was performed with METIS. Inter-process communication was done with MPI (message-passing interface). Results are provided for two networks: one realistic network which was obtained from Open Street Maps for Chattanooga, TN, and another larger synthetic grid network. The software recorded a speedups of 198x using 256 cores for Chattanooga, and 475x with 1,024 cores for the synthetic network.

macro-scopic traffic simulation↗

MPI-AMRVAC FOR SOLAR AND ASTROPHYSICS

In this paper, we present an update to the open source MPI-AMRVAC simulation toolkit where we focus on solar and non-relativistic astrophysical magnetofluid dynamics. We highlight recent developments in terms of physics modules, such as hydrodynamics with dust coupling and the conservative implementation of Hall magnetohydrodynamics. A simple conservative high-order finite difference scheme that works in combination with all available physics modules is introduced and demonstrated with the example of monotonicity-preserving fifth-order reconstruction. Strong stability-preserving high-order Runge-Kutta time steppers are used to obtain stable evolutions in multi-dimensional applications, realizing up to fourth-order accuracy in space and time. With the new distinction between active and passive grid cells, MPI-AMRVAC is ideally suited to simulate evolutions where parts of the solution are controlled analytically or have a tendency to progress into or out of a stationary state. Typical test problems and representative applications are discussed with an outlook toward follow-up research. Finally, we discuss the parallel scaling of the code and demonstrate excellent weak scaling up to 30, 000 processors, allowing us to exploit modern peta-scale infrastructure.

79 ASTRONOMY AND ASTROPHYSICS↗

Optimizing Irregular Communication with Neighborhood Collectives and Locality-Aware Parallelism

Irregular communication often limits both the performance and scalability of parallel applications. Typically, applications individually implement irregular communication as point-to-point, and any optimizations are integrated directly into the application. As a result, these optimizations lack portability. It is difficult to optimize point-to-point messages within MPI, as the interface for single messages provides no information on the collection of all communication to be performed. However, the persistent neighbor collective API, released in the MPI 4 standard, provides an interface for portable optimizations of irregular communication within MPI libraries. This paper presents methods for implementing existing optimizations for irregular communication within neighborhood collectives, analyzes the impact of replacing point-to-point communication in existing codebases such as Hypre BoomerAMG with neighborhood collectives, and finally shows up to a 1.38x speedup on sparse matrix-vector multiplication communication within a BoomerAMG solve through the use of our optimized neighbor collectives. Here, the authors analyze three implementations of persistent neighborhood collectives for Alltoallv: an unoptimized wrapper of standard point-to-point communication, and two locality-aware aggregating methods. The second locality-aware implementation exposes an non-standard interface to perform additional optimization, and the authors present the additional 0.07x speedup from the extended interface. All optimizations are available in an open-source codebase, MPI Advance, which sits on top of MPI, allowing for optimizations to be added into existing codebases regardless of the system MPI install.

AMG↗

The Particle Accelerator Simulation Code PyORBIT

The particle accelerator simulation code PyORBIT is presented. The structure, implementation, history, parallel and simulation capabilities, and future development of the code are discussed. The PyORBIT code is a new implementation and extension of algorithms of the original ORBIT code that was developed for the Spallation Neutron Source accelerator at the Oak Ridge National Laboratory. The PyORBIT code has a two level structure. The upper level uses the Python programming language to control the flow of intensive calculations performed by the lower level code implemented in the C++ language. The parallel capabilities are based on MPI communications. The PyORBIT is an open source code accessible to the public through the Google Open Source Projects Hosting service.

Accelerator Simulation↗

A parallel hub-and-spoke system for large-scale scenario-based optimization under uncertainty

Practical solution of stochastic programming problems generally requires the use of parallel computing resources. Here, we describe the open source package mpi-sppy, in which efficient and scalable parallelization is a central feature. We report computational experiments that demonstrate the ability to solve very large stochastic programming problems - including mixed-integer variants - in minutes of wall clock time, efficiently leveraging significant parallel computing resources. We report results for the largest publicly available instances of stochastic mixed-integer unit commitment problems, solving to provably tight optimality gaps. In addition, we introduce a novel software architecture that facilitates combinations of methods for accelerating convergence that can be combined in plug-and-play manner. Finally, the mpi-sppy package is written in Python, leverages the widely used Pyomo (http://www.pyomo.org) library for modeling mathematical programs, builds on existing MPI implementations to ensure efficiency and scalability, and is available via http://github.com/Pyomo/mpi-sppy.

97 MATHEMATICS AND COMPUTING↗

Qthreads Support for MPICH

SAND2024-00944O Qthread Support for MPICH is software that provides additions needed to enable the use of the Qthreads library. The high-performance message passing interface (MPICH) is an open-source implementation of MPI mainly developed and distributed by Argonne National Laboratory. Qthreads is a lightweight, user-level threading library developed and distributed by Sandia National Laboratories. MPICH currently supports Posix threads, Windows threads, and Argobots. This software enables parallel programs built with the MPICH implementation of MPI to use Qthreads user-level threads rather than Posix system-level threads. The software uses existing infrastructure in MPICH to interface to the Qthreads library. The existing interfaces in MPICH allow for creating, destroying, and managing the execution of multiple threads within a process and this software translates these calls to the equivalent Qthreads library functions. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Ciesko, Jan↗

pFUnit 3.0 Tutorial Advanced

This tutorial will introduce Fortran developers to unit-testing and test-driven development (TDD) using pFUnit. As with other unit-testing frameworks, pFUnit, simplifies the process of writing, collecting, and executing tests while providing clear diagnostic messages for failing tests. pFUnit specifically targets the development of scientific-technical software written in Fortran and includes customized features such as: assertions for multi-dimensional arrays, distributed (MPI) and thread-based (OpenMP) parallellism, and flexible parameterized tests.These sessions will include numerous examples and hands-on exercises that gradually build in complexity. Attendees are expected to have working knowledge of F90, but familiarity with object-oriented syntax in F2003 and MPI will be of benefit for the more advanced examples. By the end of the tutorial the audience should feel comfortable in applying pFUnit within their own development environment.

Test Driven using pFUnit↗

Multi-photon ionization and fragmentation of uracil: Neutral excited-state ring opening and hydration effects

Multi-photon ionization (MPI) of the RNA base uracil has been studied in the wavelength range 220–270 nm, coinciding with excitation to the S{sub 2}(ππ*) state. A fragment ion at m/z = 84 was produced by 2-photon absorption at wavelengths ≤232 nm and assigned to C{sub 3}H{sub 4}N{sub 2}O{sup +} following CO abstraction. This ion has not been observed in alternative dissociative ionization processes (notably electron impact) and its threshold is close to recent calculations of the minimum activation energy for a ring opening conical intersection to a σ(n-π)π* closed shell state. Moreover, the predicted ring opening transition leaves a CO group at one end of the isomer, apparently vulnerable to abstraction. An MPI mass spectrum of uracil-water clusters is presented for the first time and compared with an equivalent dry measurement. Hydration enhances certain fragment ion pathways (particularly C{sub 3}H{sub 3}NO{sup +}) but represses C{sub 3}H{sub 4}N{sub 2}O{sup +} production. This indicates that hydrogen bonding to water stabilizes uracil with respect to neutral excited-state ring opening.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Progressive Hedging Decomposition for Solutions of Large-Scale Process Family Design Problems

Rapid, wide-scale deployment of green process systems, such as carbon capture or water desalination systems, is essential for combatting climate change. Methods relying on traditional design or modularity fail to capture the benefits of both economies of numbers and economies of scale. We have proposed process family design, which designs a family of processes simultaneously exploiting opportunities for common elements. In previous work, we explored different optimization formulations to solve this problem. In this work, we develop a decomposition approach to tackle larger problems efficiently. We solve a water desalination case study, which is too large to solve within a reasonable timeframe with the discretization formulation. We exploit the block angular structure of the discretization problem to decompose and solve using Progressive Hedging (PH). We use the open-source Python package mpi-sppy to execute PH which allows us to leverage parallelization and a HPC cluster to further improve solution time.

Stinchfield, Georgia↗

Decomposition and Algorithmic Approaches for Solving Large-Scale Process Family Design Problems

Our most recent work expands the water desalination case study from 76 variants to 10,897 variants using the equation-oriented model built in Pyomo as part of the PARETO project. Using the discretization formulation presented in Stinchfield (2024a), rather than solving for all 10,897 variants simultaneously, we decompose the formulation into subproblems containing subsets of variants from the process family. We solve the overall problem with Progressive Hedging (PH) deployed in parallel on a distributed HPC cluster using the open-source Python package mpi-sppy (Knueven et al., 2023). This approach allowed us to solve this process family design problem to ~1.5% relative optimality gap in about 5 hours; in comparison, Gurobi reached ~50% relative optimality gap in about 6 hours (Stinchfield et al., 2024b). However, this approach still requires discretization of the common unit module design ranges; additionally, PH acts as a heuristic for MILP’s with gap-closing capabilities. Ideally, we would not have to use ML surrogates or discretization to solve this problem, instead solving the process family design problem with the equation-oriented model directly to achieve the most accurate results. However, recall that we did not consider solving the MINLP directly due to complexity and size. In this work, we aim to decompose and solve this large-scale MINLP using a Structured Nonlinear Global Optimization algorithm presented by Cao and Zavala (2019).

Stinchfield, Georgia↗

Workshop on Extraterrestrial Materials from Cold and Hot Deserts

The workshop was held July 6-8, 1999 before the Meteoritical Society meeting in Johannesburg, South Africa. The venue was Kwa Maritane Resort in the Pilanesburg Game Reserve. Conveners were Ludolf Schultz (Chair, MPI fur Chemie), Ian Franchi (Open University), Arch Reid (University of Houston), and Mike Zolensky (NASA JSC). Extended abstracts will be published as an LPI Technical Report. In the first session, Marvin discussed three African iron meteorites: Cape of Good Hope, Gibeon, and Hoba. Grady presented a statistical analysis of meteorites from hot and cold deserts. Wasson discussed types of Antarctic iron meteorites. Several presentations characterized populations of meteorites from individual desert areas: Libyan Desert (Weber et al.), Nullarbor Region (Bevan et al.), and Mojave Desert (Kring et al. and Verish et al). Pairing among EET87503-group howardites was discussed by Buchanan et al. Based on 14C terrestrial ages of Allan Hills ordinary chondrites, Bland et al. suggested that ice flow may be the principal sink for Antarctic meteorites. The effects of preterrestrial and terrestrial alteration were considered in the second session. Nakamura et al. and Lipschutz discussed asteroidal metamorphism of carbonaceous chondrites. Zolensky presented evidence for preterrestrial halide and sulfide in meteorites. Crozaz and Wadhwa described terrestrial alteration of Dar al Gani 476. Welten and Nishiizumi discussed terrestrial weathering of chondrites from Frontier Mountain, Antarctica. Most of the third session dealt with terrestrial meteorite ages. Based on 14C-10Be ages, Jull et al. discussed the exponential decay in numbers of meteorites with increased age. Nishiizumi et al. concluded that some Allan Hills meteorites have much older terrestrial ages than any meteorites from Lewis Cliffs. Welten et al. discussed terrestrial ages determined by 41Ca/36CI of metal separates from hot desert meteorites. Based on a comparison with large IDPs, Flynn et al. suggested that polar micrometeorites, lost a water-soluble sulfate phase by terrestrial alteration. Nyquist suggested that Type I cosmic spheres from deep sea sediments and polar ice were derived from carbonaceous chondrite-like asteroidal sources. The final session considered noble gases, cosmic ray effects, and thermoluminescence. Calculations presented by Reedy indicate that cosmic ray-produced nuclides are more likely to be preserved in small objects than in larger objects. Murty and Mohapatra. reported that trapped gas in Dar al Gani 476 includes a Martian atmospheric component. Wieler et al. and Scherer et al. reported noble gas abundances in different types of desert meteorites. Patzer and Schultz discussed the influence of terrestrial weathering on cosmic ray exposure ages of enstatite chondrites. Franchi et al. suggested that it is difficult to discriminate whether differences in gas release profiles of lunar meteorites from hot deserts and returned lunar samples are the result of terrestrial weathering or shock metamorphism. Benoit and Sears surveyed natural and induced thermoluminescence of Antarctic ordinary chondrites. Merchel et al. analyzed Saharan meteorites with short or complex exposure histories.

Buchanan, Paul C.↗

Phoebe: a high-performance framework for solving phonon and electron Boltzmann transport equations

Understanding the electrical and thermal transport properties of materials is critical to the design of electronics, sensors, and energy conversion devices. Computational modeling can accurately predict material properties but, in order to be reliable, requires accurate descriptions of electron and phonon states and their interactions. While first-principles methods are capable of describing the energy spectrum of each carrier, using them to compute transport properties is still a formidable task, both computationally demanding and memory intensive, requiring integration of fine microscopic scattering details for estimation of macroscopic transport properties. To address this challenge, we present Phoebe—a newly developed software package that includes the effects of electron–phonon, phonon–phonon, boundary, and isotope scattering in computations of electrical and thermal transport properties of materials with a variety of available methods and approximations. This open source C++ code combines MPI-OpenMP hybrid parallelization with GPU acceleration and distributed memory structures to manage computational cost, allowing Phoebe to effectively take advantage of contemporary computing infrastructures. We demonstrate that Phoebe accurately and efficiently predicts a wide range of transport properties, opening avenues for accelerated computational analysis of complex crystals.

36 MATERIALS SCIENCE↗

High-Performance Computing Optimization for Aladyn – Adaptive Neural Network Molecular Dynamics Mini-Application

This report provides a description and performance evaluation of the optimization techniques for high performance computing (HPC) implementation of the open source Computational Materials mini-application Aladyn (https://github.com/nasa/aladyn). Aladyn is a basic molecular dynamics code written in FORTRAN 2003, which is designed to demonstrate the use of adaptive neural networks (ANNs) in atomistic simulations. The role of ANNs is to efficiently reproduce the very complex energy landscape resulting from the atomic interactions in materials with the accuracy of the more expensive quantum mechanics-based calculations. The ANN is trained on a large set of atomic structures calculated using the density functional theory (DFT) method. While achieving orders of magnitude faster computational performance than DFT, the ANN-based approach was still very computationally demanding compared to the conventional approach of using empirically fitted energy functions. After its initial development, Aladyn was evaluated and optimized by experts at the NASA Advanced Supercomputing (NAS) division to exploit modern supercomputer architectures. The code has been optimized for execution on multicore central processing units (CPUs), including Intel® Skylake microarchitecture, and on graphic accelerators, such as Nvidia® V100 graphic processing units (GPUs), using Open Multi-Processing (OpenMP) and Open Accelerators (OpenACC) programming interfaces. The optimization achieved a speedup of 4.7 times the baseline version on CPU performance and an additional 2.4 times on CPU+GPU performance. Atomistic computer simulations are a fundamental tool in materials research to model material properties form physics-based first principles. Atomic interaction, governed by Quantum Mechanics (QM) require sophisticated and highly computationally demanding mathematical models to calculate [1]. Classical methods use approximate functional forms, empirically fitted through a set of variable parameters to emulate atomic energies as direct functions of atomic coordinates [2]. While empirical potentials are computationally much simpler, allowing simulations of large-scale systems of up to a trillion (1012) atoms [3], they are substantially less accurate compared to quantum calculations and applicable only to very specific atomic configurations or predefined crystallographic phases. A recently suggested approach is to use heuristic machine learning methods [4], such as those based on Adaptive Neural Networks (ANNs) to predict atomic energies, after being trained on a sufficiently large database of QM-calculated structures [5,6]. This approach reduces significantly the computational complexity, allowing for simulations of orders of magnitude larger systems compared to QM-based methods without compromising accuracy. Still, compared to classical methods using empirical energy functions, ANN methods remain two- to three orders of magnitude more computationally demanding. Hence, the computational cost of simulations, together with the need for extensive training of ANNs, still makes the practical implementation of ANN-based methods quite challenging. The purpose of the Aladyn mini-application software [7], available as open source at https://github.com/nasa/aladyn, is to be a testbed for exploring possible optimization strategies to develop highly scalable parallel algorithms for ANN-based atomistic simulations. Aladyn is aimed at utilizing the architecture of the high-end modern highperformance computing (HPC) hardware based on multicore central processing units (CPUs) equipped with graphic processing unit (GPU) accelerators. Specifically, the goal is to optimize the performance on a single HPC compute node, before implementing scaling to multi-node parallelization using message passing interface (MPI). At the same time, the open source code of Aladyn can serve as a training model for students and professors in academia.

Yamakov, Vesselin I.↗

Interacting tilt and kink instabilities in repelling current channels

We present a numerical study in resistive magnetohydrodynamics (MHD) where the initial equilibrium configuration contains adjacent, oppositely directed, parallel current channels. Since oppositely directed current channels repel, the equilibrium is liable to an ideal magnetohydrodynamic tilt instability. This tilt evolution, previously studied in planar settings, involves two magnetic islands or flux ropes, which on Alfvénic timescales undergo a combined rotation and separation. This in turn leads to the creation of (near) singular current layers, posing severe challenges to numerical approaches. Using our open-source grid-adaptive MPI-AMRVAC software, we revisit the planar evolution case in compressible MHD, as well as its extension to two-and-a-half-dimensional (2.5D) and full three-dimensional (3D) scenarios. As long as the third dimension can be ignored, pure tilt evolutions result that are hardly affected by out of plane magnetic field components. In all 2.5D runs, our simulations do show secondary tearing type disruptions throughout the near singular current sheets in the far nonlinear saturation regime. In full 3D runs, both current channels can be liable to additional ideal kink deformations. We discuss the effects of having both tilt and kink instabilities acting simultaneously in the violent, reconnection-dominated evolution. In 3D, both the tilt and the kink instabilities can be stabilized by tension forces. As a concrete space plasma application, we argue that interacting tilt-kink instabilities in repelling current channels provide a novel route to initiate solar coronal mass ejections, distinctly different from the currently favored pure kink or torus instability routes.

79 ASTRONOMY AND ASTROPHYSICS↗

Parallel Programming in MCNP6

Monte Carlo N-Particle (MCNP)1 is a general-purpose Monte Carlo particle transport code developed by Los Alamos National Laboratory (LANL). To efficiently handle long simulations, MCNP version 6 (MCNP6) supports parallel execution using two primary programming models: • Shared-memory task-based threading using OpenMP (Open Multi-Processing), and • Distributed-memory calculations using MPI (Message Passing Interface). The OpenMP and MPI programming models enable MCNP6 to scale from desktop systems to high-performance computing (HPC) clusters, allowing users to run MCNP in one of three parallel modes: • OpenMP-only, • MPI-only, and • Hybrid (MPI + OpenMP). The choice of parallelization mode depends on the underlying computer architecture and the characteristics of the simulation problem.

97 MATHEMATICS AND COMPUTING↗

GPU-accelerated Tersoff potentials for massively parallel Molecular Dynamics simulations

The Tersoff potential is one of the empirical many-body potentials that has been widely used in simulation studies at atomic scales. Unlike pair-wise potentials, the Tersoff potential involves three-body terms, which require much more arithmetic operations and data dependency. In this contribution, we have implemented the GPU-accelerated version of several variants of the Tersoff potential for LAMMPS, an open-source massively parallel Molecular Dynamics code. Compared to the existing MPI implementation in LAMMPS, the GPU implementation exhibits a better scalability and offers a speedup of 2.2X when run on 1000 compute nodes on the Titan supercomputer. On a single node, the speedup ranges from 2.0 to 8.0 times, depending on the number of atoms per GPU and hardware configurations. The most notable features of our GPU-accelerated version include its design for MPI/accelerator heterogeneous parallelism, its compatibility with other functionalities in LAMMPS, its ability to give deterministic results and to support both NVIDIA CUDA- and OpenCL-enabled accelerators. Our implementation is now part of the GPU package in LAMMPS and accessible for public use.

Computer Science↗