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.

154 records · Page 9

Efficient On-demand Connection Management Mechanisms with PGAS Models on InfiniBand

In the last decade or so, clusters have observed a tremendous rise in popularity due to the excellent price to performance ratio. A variety of Interconnects have been proposed during this period, with InfiniBand leading the way due to its high performance and open standard. At the same time, multiple programming models have emerged in order to meet the requirements of various applications and their programming models. To support requirements of multiple programming models, InfiniBand provides multiple transport semantics, ranging from unreliable connectionless to reliable connected characteristics. Among them, the reliable connection (RC) semantics is being widely due to its high performance and support for novel features like Remote Direct Memory Acesss (RDMA), hardware atomics and Network Fault Tolerance. However, the pairwise connection oriented nature of the RC transport semantics limits its scalability and usage at the increasing processor counts. In this paper, we design and implement on-demand connection management approaches in the context of Partitioned Global Address Space (PGAS) programming models, which provided shared memory abstraction and one-sided communication semantics, leading to the development of multiple languages (UPC, X10, Chapel) and libraries (Global Arrays, MPI-RMA). Using Global Arrays as the research vehicle, we implement this approach with Aggregate Remote Memory Copy Interface (ARMCI), the runtime system of Global Arrays. We evaluate our approach, ARMCI-On Demand Connection Management (ARMCI-ODCM) using various microbenchmarks and benchmarks (LU Factorization, RandomAccess and Lennard Jones simulation) and application (Subsurface transport over multiple phases (STOMP)). With the performance evaluation for up to 4096 processors, we are able to have a multi-fold reduction in connection memory with a negligible degradation in performance. Using STOMP at 4096 processors, reduces the overall connection memory by 66 times with no performance degradation. To the best of our knowledge, this is the first design, implementation and evaluation of on-demand connection management with InfiniBand using PGAS models.

54 ENVIRONMENTAL SCIENCES↗

Using Big Data Technologies with Earth Science Data in HDF5: HDF5 Scalable Solutions

HDF5 (Hierarchical Data Format 5) is open-source, high-performance software that consists of an abstract data model, library, and fileformat used for storing and managing extremely large and/or complex data collections. NASA Earth Observing System (EOS) Data and Information Systems use HDF5 as an archival format to store remote sensing data from EOS satellites. HDF5 is also used to store other types of Geoscience and Strophysical data, e.g., seismic data and data from Low-Frequency Array (LOFAR) radio telescopes. Data stored in HDF5 has reached tens of petabytes and is growing at an accelerated rate.With the growing amout of HDF5 Earth Science data to analyze and process, scientists need to adopt big data technologies including new storage paradigms such as cloud and object storage. To run models and perform data analysis they also need to utilizied efficient and diverse ways to access data, from high-performance computing's (HPC) Message Passing Interface (MPI) I/O and deep memory hierarchies (DMH) to non-HPC frameworks such as Apache Hadoop, Spark, and Drill. The HDF Group continually works to enable usage of big data technologies in HDF software.

Knox, Larry↗

Tight-binding model for materials at mesoscale

TBM3 is an open source package for computational simulations of quantum materials at multiple scales in length and time. The project originated to investigate the multiferroic behavior in transition-metal oxide heterostructures. The framework has also been designed to study emergent phemona in other quantum materials like 2-dimensional transition-metal dichalcogenides, graphene, topological insulators, and skyrmion in materials, etc. In the long term, we will enable the package for transport and time-resolved phenomena. TBM3 is currently a C++ based numerical tool package and framework for the design and construction of any kind of lattice structures with multi-orbital and spin degrees of freedom. The fortran based portion of the package will be added in the near future. The design of TBM3 is in a highly flexible and reusable framework and the tight-binding parameters can be modeled or informed by DFT calculations. It is currently GPU enabled and feature of CPU enabled MPI will be added in the future.

Tai, Yuan-Yen↗

Tight-binding model for materials at mesoscale

TBM3 is an open source package for computational simulations of quantum materials at multiple scales in length and time. The project originated to investigate the multiferroic behavior in transition-metal oxide heterostructures. The framework has also been designed to study emergent phemona in other quantum materials like 2-dimensional transition-metal dichalcogenides, graphene, topological insulators, and skyrmion in materials, etc. In the long term, we will enable the package for transport and time-resolved phenomena. TBM3 is currently a C++ based numerical tool package and framework for the design and construction of any kind of lattice structures with multi-orbital and spin degrees of freedom. The fortran based portion of the package will be added in the near future. The design of TBM3 is in a highly flexible and reusable framework and the tight-binding parameters can be modeled or informed by DFT calculations. It is currently GPU enabled and feature of CPU enabled MPI will be added in the future.

Tai, Yuan-Yen↗

Computing the Properties of Matter with Leadership Computing Resources (Closeout Report for DE-SC0018121)

In order to add more capabilities to Halide, we have designed a new framework called Tiramisu and integrated this framework into Halide. Since Tiramisu enables Halide to target heterogeneous architectures, our development efforts have been refocused on Tiramisu. Most high-performance computer systems today are complex and increasingly heterogeneous; they may have CPUs, GPUs and FPGAs. Achieving best performance requires taking full advantage of all these different architectures. To address this issue, we have designed Tiramisu, an optimization framework that enables Halide (and other DSLs) to target heterogeneous architectures. Tiramisu is an optimization framework that takes as input a high level, architecture-independent representation of code and a set of scheduling and data mapping commands that guide code transformation. The input can either be generated by a domain-specific language (DSL) compiler such as Halide or directly written by a programmer. Tiramisu then applies the user-specified code and data-layout transformations and generates an architecture-specific, low-level intermediate representation (IR) that takes advantage of modern architectural features such as multicore parallelism, non-uniform memory (NUMA) hierarchies, clusters, and accelerators like GPUs and FPGAs. We integrated Tiramisu within Halide and implemented a representative set of benchmarks to evaluate this integration. Tiramisu is now open source and is available for public use (http://tiramisu-compiler.org/). A paper about Tiramisu was published, it shows that Tiramisu extends Halide with many new capabilities and that Tiramisu can generate efficient code for multicores, GPUs, FPGAs and distributed heterogeneous systems. The performance of code generated by the Tiramisu backends matches or exceeds hand optimized reference implementations. For example, the multicore backend matches the highly optimized Intel MKL library on many kernels and shows speedups reaching 4x over the original Halide. In addition to making Tiramisu more robust, we have used Tiramisu to implement a set of representative tensor operation for constructing baryon building blocks required for multi baryon contractions in LQCD. In order to implement this code, we needed to generalize Tiramisu in two ways: first we needed to support indirect array accesses, and second, we needed to add support for complex numbers to Tiramisu. The code generated by Tiramisu is 6x faster than the reference code. Our efforts towards an MPI based multi-node version of tiramisu have matured and the resulting code scales well on multiple nodes (tests up to 512 KNL nodes have been undertaken).

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Modeling of wave processes in blocky media with porous and fluid-saturated interlayers

The wave processes in blocky media are analyzed by applying different mathematical models, wherein the elastic blocks interact with each other via pliant interlayers with the complex mechanical properties. Four versions of constitutive equations are considered. In the first version, an elastic interaction between the blocks is simulated within the framework of linear elasticity theory, and the model of elastic–plastic interlayers is constructed to take into account the appearance of irreversible deformation of interlayers at short time intervals. In the second one, the effects of viscoelastic shear in the interblock interlayers are taken into the consideration using the Poynting–Thomson rheological scheme. In the third option, the model of an elastic porous material is used in the interlayers, where the pores collapse if an abrupt compressive stress is applied. In the fourth case, the model of a fluid-saturated material with open pores is examined based on Biot's equations. The collapse of pores is modeled by the generalized rheological approach, wherein the mechanical properties of a material are simulated using four rheological elements. Three of them are the traditional elastic, viscous and plastic elements, the fourth element is the so-called rigid contact, which is used to describe the behavior of materials with the different resistance to tension and compression. It was shown that the thermodynamically consistent model is provided, which means that the energy balance equation is fulfilled for an entire blocky structure, where the kinetic and potential energy of the system is the sum of the kinetic and potential energies of the blocks and interlayers. Under numerical implementation of the interlayers models, the dissipationless finite difference Ivanov's method was used. The splitting method by spatial variables in the combination with the Godunov gap decay scheme was applied in the blocks. As a result, robust and stable computational algorithms are built and tested. Using MPI technology, the parallel software was designed for the modeling of wave processes in 2D setting. The numerical results are presented, discussed and future studies are outlined. - Highlights: • We model the propagation of waves in a blocky medium with compliant interlayers. • Models of porous and fluid saturated interlayers are proposed using Biot's approach. • A parallel computational algorithm is developed for supercomputers of cluster type. • Problems of instant rotation of central and boundary blocks are solved numerically. • Wave motions are compared in the cases of elastic and fluid-saturated interlayers.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Multi-GPU porting of a phase-change cascaded lattice Boltzmann method for three-dimensional pool boiling simulations

The Lattice Boltzmann method (LBM) has proven effective in simulating phase-change phenomena, such as melting, solidification, evaporation, and boiling. In this work, we develop a highly parallelized multi-GPU implementation of LBM for three-dimensional pool boiling simulations. The code is based on the OpenACC programming model, which enables the code to be deployed efficiently on multi-core CPUs, GPUs, and potentially other accelerators, without the need for architecture-specific rewrites. To support large-scale simulations, the domain is decomposed and distributed across multiple compute nodes using MPI. We demonstrate that the code exhibits excellent scaling properties, with ideal strong-scaling running with up to 256 GPUs on the MareNostrum5 cluster.

97 MATHEMATICS AND COMPUTING↗

Award ER25844: Minimizing System Noise Effects for Extreme-Scale Scientific Simulation Through Function Delegation

In software running on distributed computing clusters, time spent on communication between nodes in the cluster can be a significant portion of the overall computation time; background operating system tasks and other computational noise on the nodes of the system can have a significant impact on the amount of time this communication takes, especially on large systems. The research completed in this period has improved understanding of when such noise will have a significant impact. Specifically, it was demonstrated that not just noise on the nodes, but also noise on the network between nodes can have a significant impact on computation time. It was also demonstrated that noise patterns matter more than noise intensity: very regular noise can cause less disruption than lighter (on average) but less regular noise. It was also demonstrated that the effect of noise is more prominent as the speed of the network between nodes is increased. Furthermore, a tracing tool, Netgauge, was improved via our work, and a system simulator, LogGOPSim, was developed; they can be used by application developers to improve performance of their program and by system designers to mitigate the effects of noise by adjusting the noise characteristics of the operating system. Both have been made freely available as open source programs. In the course of developing these tools, we demonstrated weaknesses in existing methodologies for modeling communication, and we introduced a more detailed model, LogGOPS, for simulating systems. Not only were the deleterious effects of noise explored but we have also offered solutions. Our studies of simulations of system noise have led to specific recommendations on tuning systems to mitigate noise. We have also improved existing approaches to mitigating noise. Non-blocking collective communication avoids the effects of noise by letting communication continue simultaneously with computation (thus being non-blocking), so that the delays in communication introduced by noise have a smaller impact on overall computation time. Potentially, noise can be reduced much further by offloading communication tasks to a separate processing element than the operating system is using. We have improved our library LibNBC, which provides an implementation of non-blocking collectives, via this work. During this research, our proposal to include non-blocking collectives (which used LibNBC as a reference implementation) in the upcoming MPI-3 standard was accepted. As MPI is a ubiquitous and important standard for communication in parallel computing, this demonstrates a certain acceptance of the practicality and desirability of non-blocking collectives. Now that non-blocking collectives are a part of the standard we can expect to see optimized platform-specific implementations of non-blocking collectives. Also as part of this work we have also developed a language GOAL (Global Operation Assembly Language) that can be used as a starting point for defining languages to express optimized communication algorithms.

97 MATHEMATICS AND COMPUTING↗

ALTERNATIVE AND ENHANCED CHEMICAL CLEANING: CORROSION STUDIES RESULTS: FY2010

Due to the need to close High Level Waste storage tanks, chemical cleaning methods are needed for the removal of sludge heel materials remaining at the completion of mechanical tank cleaning efforts. Oxalic acid is considered the preferred cleaning reagent for heel dissolution of iron-based sludge. However, the large quantity of chemical reagents added to the tank farm from oxalic acid based cleaning has significant downstream impacts. Optimization of the oxalic acid cleaning process can potentially reduce the downstream impacts from chemical cleaning. To optimize oxalic acid usage, a detailed understanding of the chemistry of oxalic acid based sludge dissolution is required. Additionally, other acidic systems may be required for specific waste components that have low solubility in oxalic acid, and as a means to reduce oxalic acid usage in general. Electrochemical corrosion studies were conducted with 1 wt. % oxalic acid at mineral acid concentrations above and below the optimal conditions for this oxalic acid concentration. Testing environments included pure reagents, pure iron and aluminum phases, and sludge simulants. Mineral acid concentrations greater than 0.2 M and temperatures greater than 50 C result in unacceptably high corrosion rates. Results showed that manageable corrosion rates of carbon steel can be achieved at dilute mineral acid concentrations (i.e. less than 0.2 M) and low temperatures based on the contact times involved. Therefore, it is recommended that future dissolution and corrosion testing be performed with a dilute mineral acid and a less concentrated oxalic acid (e.g., 0.5 wt.%) that still promotes optimal dissolution. This recommendation requires the processing of greater water volumes than those for the baseline process during heel dissolution, but allows for minimization of oxalic acid additions. The following conclusions can be drawn from the test results: (1) In both nitric and sulfuric acid based reagents, the low temperature and dilute concentration environment resulted in carbon steel corrosion rates that were less than 150 mpy. These rates are manageable in that chemical cleaning processes could proceed for limited time without significant wall loss. Further optimization of the Alternative Enhance Chemical Cleaning (AECC) process should focus on testing in solutions of this dilute concentration and low temperature regime. (2) In general, for the nitric acid based reagent, the aluminum oxide phase environments resulted in higher corrosion rates than the iron oxide phase environments. (3) In general, for the sulfuric acid based reagent, the iron oxide phase environments resulted in higher corrosion rates than the aluminum oxide phase environments. (4) In general, for the nitric acid based reagent, the HM sludge simulant environments resulted in higher corrosion rates than the PUREX sludge simulant environments. This result agrees with the previous observation that the aluminum oxide phases are more aggressive than the iron oxide phase environments in the nitric acid reagent. (5) Pitting was more likely to occur in the sulfuric acid based reagents than in the nitric acid based reagents. (6) Pitting occurred only in the iron based pure oxide phases and the sludge simulants. No pitting was observed in the aluminum based pure oxide phases. (7) Pitting tended to occur more frequently in tests that involved the dilute mineral acid reagent. (8) Pitting was more severe at the higher temperature for a given mineral acid concentration. (9) Pitting was more severe at a higher mineral acid concentration for a given temperature. (10) Based on the combined results of the open circuit potential and cathodic polarization testing, there was a low propensity for hydrogen evolution in solutions where sludge has been dissolved.

08 HYDROGEN↗

Cabana: A Performance Portable Library for Particle-Based Simulations

Particle-based simulations are ubiquitous throughout many fields of computational science and engineering, spanning the atomistic level with molecular dynamics (MD), to mesoscale particle-in-cell (PIC) simulations for solid mechanics, device-scale modeling with PIC methods for plasma physics, and massive N-body cosmology simulations of galaxy structures, with many other methods in between (Hockney & Eastwood, 1989). While these methods use particles to represent significantly different entities with completely different physical models, many low-level details are shared including performant algorithms for short- and/or long-range particle interactions, multi-node particle communication patterns, and other data management tasks such as particle sorting and neighbor list construction. Cabana is a performance portable library for particle-based simulations, developed as part of the Co-Design Center for Particle Applications (CoPA) within the Exascale Computing Project (ECP) (Alexander et al., 2020). The CoPA project and its full development scope, including ECP partner applications, algorithm development, and similar software libraries for quantum MD, is described in (Mniszewski et al., 2021). Cabana uses the Kokkos library for on-node parallelism (Edwards et al., 2014; Trott et al., 2022), enabling simulation on multi-core CPU and GPU architectures, and MPI for GPU-aware, multi-node communication. Cabana provides particle simulation capabilities on almost all current Kokkos backends, including serial execution, OpenMP (including OpenMP-Target for GPUs), CUDA (NVIDIA GPUs), HIP (AMD GPUs), and SYCL (Intel GPUs), providing a clear path for the coming generation of accelerator-based exascale hardware. Cabana builds on Kokkos by providing new particle data structures and particle algorithms resulting in a similar execution policy-based, node-level programming model that is intended to be used in addition to the core Kokkos library within an application. Cabana is designed as an application and physics agnostic, but particle-specific toolkit which can either be used to generate a new application, or to be used as needed in existing applications at various levels of invasiveness including through interfaces that wrap user memory in existing data structures.

97 MATHEMATICS AND COMPUTING↗