Search NASA⌕ Search

SEARCH · Search NASA

Results for “parallel data structures”

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 55 records · Page 3

Camellia: A Rapid Development Framework for Finite Element Solvers

We report the discontinuous Petrov–Galerkin (DPG) methodology of Demkowicz and Gopalakrishnan guarantees the optimality of the finite element solution in a user-controllable energy norm, and provides several features supporting adaptive schemes. The approach provides stability automatically; there is no need for carefully derived numerical fluxes (as in DG schemes) or for mesh-dependent stabilization terms (as in stabilized methods). In this paper, we focus on features of Camellia that facilitate implementation of new DPG formulations; chief among these is a rich set of features in support of symbolic manipulation, which allow, e.g., bilinear formulations in the code to appear much as they would on paper. Many of these features are general in the sense that they can also be used in the implementation of other finite element formulations. In fact, because DPG’s requirements are essentially a superset of those of other finite element methods, Camellia provides built-in support for most common methods. We believe, however, that the combination of an essentially “hands-free” finite element methodology as found in DPG with the rapid development features of Camellia are particularly winsome, so we focus on use cases in this class. In addition to the symbolic manipulation features mentioned above, Camellia offers support for one-irregular adaptive meshes in 1D, 2D, 3D, and space-time. It provides a geometric multigrid preconditioner particularly suited for DPG problems, and supports distributed parallel execution using MPI. For its load balancing and distributed data structures, Camellia relies on packages from the Trilinos project, which simplifies interfacing with other computational science packages. Camellia also allows loading of standard mesh formats through an interface with the MOAB package. Camellia includes support for static condensation to eliminate element-interior degrees of freedom locally, usually resulting in substantial reduction of the cost of the global problem. Finally, we include a discussion of the variational formulations built into Camellia, with references to those formulations in the literature, as well as an MPI performance study.

97 MATHEMATICS AND COMPUTING↗

Lowering and Runtime Support for Fortran’s Multi-Image Parallel Features using LLVM Flang, PRIF, and Caffeine

This paper provides an overview of the multi-image parallel features in Fortran 2023 and their implementation in the LLVM flang compiler and the Caffeine parallel runtime library. The features of interest support a Single-Program, Multiple-Data (SPMD) programming model based on executing multiple “images”, each of which is a program instance. The features also support a Partitioned Global Address Space (PGAS) in the form of “coarray” distributed data structures. The paper discusses the lowering of multi-image features to the Parallel Runtime Interface for Fortran (PRIF) and the implementation of PRIF in the Caffeine parallel runtime library. This paper also provides an early view into the design of a new multi-image dialect of the LLVM Multi-Level Intermediate Representation (MLIR). We describe validation and testing of the resulting software stack, and demonstrate that performance compares favorably to another open-source compiler and runtime library: GNU Compiler Collection (GCC) gfortran and OpenCoarrays, respectively.

Bonachea, Dan↗

The parallelism motifs of genomic data analysis

Genomic datasets are growing dramatically as the cost of sequencing continues to decline and small sequencing devices become available. Enormous community databases store and share these data with the research community, but some of these genomic data analysis problems require large-scale computational platforms to meet both the memory and computational requirements. These applications differ from scientific simulations that dominate the workload on high-end parallel systems today and place different requirements on programming support, software libraries and parallel architectural design. For example, they involve irregular communication patterns such as asynchronous updates to shared data structures. We consider several problems in high-performance genomics analysis, including alignment, profiling, clustering and assembly for both single genomes and metagenomes. We identify some of the common computational patterns or ‘motifs’ that help inform parallelization strategies and compare our motifs to some of the established lists, arguing that at least two key patterns, sorting and hashing, are missing. This article is part of a discussion meeting issue ‘Numerical algorithms for high-performance computational science’.

59 BASIC BIOLOGICAL SCIENCES↗

Pele: An Exascale-Ready Suite of Combustion Codes

High fidelity simulations of realistic combustion devices are extremely demanding computationally because of the requirements to capture complex fuel chemical decomposition, its intricate interactions with turbulent, often multiphase, flows, and the wide separation of space and time scales between the thin flame and the device boundaries. Software required to carry out such computations tends to be extremely complex, particularly when designed to exploit hardware accelerators, and can be difficult to port and maintain. We present Pele, a performance portable suite of tools for the simulation of combustion systems, including codes to evolve reactive multiphase configurations in the low Mach number and compressible flow regimes, along with a set of inter-compatible post processing and in situ analysis tools. The Pele suite of tools is built on top of the AMReX framework for block-structured adaptive mesh refinement, which provides efficient data structures and algorithms that enable the development of a wide variety of efficient mesh and particle based PDE integration schemes. A hierarchical MPI+X parallelism scheme supports CPU-only and accelerated architectures, where X can be OpenMP, CUDA, and HIP based approaches for intra-node computational work distribution. The algorithms and data structures underlying the Pele simulation and analysis tools are highly scalable and performant across a wide variety of high-performance computing platforms, including DOEs newest exascale-class machines, Frontier and Aurora. The simulation and analysis tools are fully documented and freely distributed as open source via GitHub. We present key algorithmic and software challenges, solution strategies, performance and resulting set of capabilities.

AMReX↗

Crystal structure of perfluorononanoic acid, C 9 HF 17 O 2

The crystal structure of perfluorononanoic acid (PFNA) was solved via parallel tempering using synchrotron powder diffraction data obtained from the Brockhouse X-ray Diffraction and Scattering (BXDS) Wiggler Lower Energy (WLE) beamline at the Canadian Light Source. PFNA crystallizes in monoclinic space group P2 1 /c (#14) with lattice parameters a = 26.172(1) Å, b = 5.6345(2) Å, c = 10.9501(4) Å, and β = 98.752(2)°. The crystal structure is composed of dimers, with pairs of PFNA molecules connected by hydrogen bonds via the carboxylic acid functional groups. The Rietveld-refined structure was compared to a density functional theory-optimized structure, and the root-mean-square Cartesian difference was larger than normally observed for correct powder structures. The powder data likely exhibited evidence of disorder which was not successfully modeled.

38 RADIATION CHEMISTRY, RADIOCHEMISTRY, AND NUCLEA↗

A programmable shared-memory system for an array of processing-in-memory devices

Processing in memory (PIM), the concept of integrating processing directly with memory has been attracting a lot of attention, since PIM can assist in overcoming the throughput limitation caused by data movement between CPU and memory. The challenge, however, is that it requires the programmers to have a deep understanding of the PIM architecture to maximize the benefits such as data locality and parallel thread execution on multiple PIM devices. In this study, we present AnalyzeThat, a programmable shared-memory system for parallel data processing with PIM devices. Thematic to AnalyzeThat is a rich PIM-aware data structure (PADS), which is an encapsulation that integrally ties together the data, the analysis tasks and the runtime needed to interface with the PIM device array. The PADS abstraction provides (i) a sophisticated key-value data container that allows programmers to easily store data on multiple PIMs, (ii) a suite of parallel operations with which users can easily implement data analysis applications, and (iii) a runtime, hidden to programmers, which provides the mechanisms needed to overlay both the data and the tasks on the PIM device array in an intelligent fashion, based on PIM-specific information collected from the hardware. We have developed a PIM emulation framework called AnalyzeThat. In conclusion, our experimental evaluation with representative data analytics applications suggests that the proposed system can significantly reduce the PIM programming effort without losing its technology benefits.

97 MATHEMATICS AND COMPUTING↗

Uranium (VI) Adsorbate Structures on Portlandite [Ca(OH)2] Type Surfaces Determined by Computational Modelling and X-ray Absorption Spectroscopy

Portlandite [Ca(OH) 2 ] is a potentially dominant solid phase in the high pH fluids expected within the cementitious engineered barriers of Geological Disposal Facilities (GDF). This study combined X-ray Absorption Spectroscopy with computational modelling in order to provide atomic-scale data which improves our understanding of how a critically important radionuclide (U) will be adsorbed onto this phase under conditions relevant to a GDF environment. Such data are fundamental for predicting radionuclide mass transfer. Surface coordination chemistry and speciation of uranium with portlandite [Ca(OH) 2 ] under alkaline groundwater conditions (ca. pH 12) were determined by both in situ and ex situ grazing incidence extended X-ray absorption fine structure analysis (EXAFS) and by computational modelling at the atomic level. Free energies of sorption of aqueous uranyl hydroxides, [UO 2 (OH) n ] 2–n (n = 0–5) with the (001), (100) and (203) or (101) surfaces of portlandite are predicted from the potential of mean force using classical molecular umbrella sampling simulation methods and the structural interactions are further explored using fully periodic density functional theory computations. Although uranyl is predicted to only weakly adsorb to the (001) and (100) clean surfaces, there should be significantly stronger interactions with the (203/101) surface or at hydroxyl vacancies, both prevalent under groundwater conditions. The uranyl surface complex is typically found to include four equatorially coordinated hydroxyl ligands, forming an inner-sphere sorbate by direct interaction of a uranyl oxygen with surface calcium ions in both the (001) and (203/101) cases. In contrast, on the (100) surface, uranyl is sorbed with its axis more parallel to the surface plane. The EXAFS data are largely consistent with a surface structural layer or film similar to calcium uranate, but also show distinct uranyl characteristics, with the uranyl ion exhibiting the classic dioxygenyl oxygens at 1.8 Å and between four and five equatorial oxygen atoms at distances between 2.28 and 2.35 Å from the central U absorber. These experimental data are wholly consistent with the adsorbate configuration predicted by the computational models. These findings suggest that, under the strongly alkaline conditions of a cementitious backfill engineered barrier, there would be significant uptake of uranyl by portlandite to inhibit the mobility of U(VI) from the near field of a geological disposal facility.

36 MATERIALS SCIENCE↗

The status of the Japanese material properties handbook and the challenge to facilitate structural design criteria for DEMO in-vessel components

This work summarizes the current status of the material properties handbook for a structural design using Japanese reduced-activation ferritic/martensitic steel F82H. Specifically, the key structural parameters, e.g. time-independent/dependent design stresses and fatigue design curves, were determined by following the French structural design code RCC-MRx. Moreover, under the Japan–U.S. collaboration, tensile data were newly added to the benchmark heavy irradiation data up to 80 dpa, as critical input information in the intermediate check and review in Japan. Furthermore, the status of structural material data and the near-term and long-term issues were clarified by the evaluation using the attribute guides. In parallel, the structural design approaches, which were newly introduced and extended to cope with the structural design issues under the complex environmental conditions peculiar to the DEMO reactor, were noted with the initial R&D results. Of the many design issues, the multi-axial loading conditions due to the complexity of the DEMO reactor as well as the coolant compatibility and the irradiation effect are mentioned. For example, in the paper, multi-axial fatigue–creep testing and evaluation using the modified universal slope method and brittle/ductile fracture testing and evaluation using the local approach are explained toward DEMO.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

Axom

The Axom library consists of n collection of software components that provide core computer science infrastructure capabilities that can be shared by diverse high performance computing (HPC) applications. The current set of capabilities that Axom provides includes: Customizable support for error/warning and diagnostic message reporting and coordination among components of integrated applications (e.g., physics packages, libraries, etc.); Scalable parallel aggregation and filtering of message logging; In memory datastore for hierarchical, mesh-aware simulation data. The datastore supports data description, allocation, deallocation. parallel l/0, etc; Mesh data model abstractions that enable the development of mesh-based computational algorithms that work with many diverse, application· specific mesh types; and Computational geometry primitives for developing high performance parallel algorithms based on spatial geometry and meshes, e.g., spatial acceleration data structures, sets, maps, relations, etc.

Hornung, RichardD.↗

MARBLES (Multi-scale Adaptively Refined Boltzmann LatticE Solver) [SWR-23-37]

MARBLES (Multi-scale Adaptively Refined Boltzmann LatticE Solver) is an open-source computational fluid dynamics package powered by the lattice Boltzmann equations and built on AMReX. In the lattice Boltzmann method, local collisions between meso-scale fictitious particles drive the governing equations which enables MARBLES to easily simulate flow around complex and/or moving geometry without the generation of a body-conforming mesh. Using AMReX data structures and operations ensures a high level of computational performance and parallel scaling on heterogenous architectures while also naturally supporting locally enhanced grid resolution and fidelity through automatic mesh refinement. New domains and problem definitions are easily specified through an input file with examples and guidance on all options and variables provided in the MARBLES documentation.

Henry de Frahan, Marc↗

PeleLMeX: an AMR Low Mach Number Reactive Flow Simulation Code without level sub-cycling

PeleLMeX simulates chemically reacting low Mach number flows with block-structured adaptive mesh refinement (AMR). The code is built upon the AMReX library, which provides the underlying data structures and tools to manage and operate on them across massively parallel computing architectures. PeleLMeX algorithmic features are inherited from its predecessor PeleLM but key improvements allow representation of more complex physical processes. Together with its compressible flow counterpart PeleC, the thermo-chemistry library PelePhysics and the multi-physics library PeleMP, it forms the Pele suite of open-source reactive flow simulation codes.

97 MATHEMATICS AND COMPUTING↗

MAUS: the MICE analysis user software

The Muon Ionization Cooling Experiment (MICE) collaboration has developed the MICE Analysis User Software (MAUS) to simulate and analyze experimental data. It serves as the primary codebase for the experiment, providing for offline batch simulation and reconstruction as well as online data quality checks. The software provides both traditional particle-physics functionalities such as track reconstruction and particle identification, and accelerator physics functions, such as calculating transfer matrices and emittances. The code design is object orientated, but has a top-level structure based on the Map-Reduce model. This allows for parallelization to support live data reconstruction during data-taking operations. MAUS allows users to develop in either Python or C++ and provides APIs for both. Various software engineering practices from industry are also used to ensure correct and maintainable code, including style, unit and integration tests, continuous integration and load testing, code reviews, and distributed version control. The software framework and the simulation and reconstruction capabilities are described.

47 OTHER INSTRUMENTATION↗

A New Capability of E4D For 3D Parallel Joint Inversion of DC Resistivity And Traveltime Data on Unstructured Mesh

A major challenge in interpreting geophysical data is how to derive consistent three-dimensional (3D) earth models of different physical properties from spatially and temporally limited measurements. Joint inversion with cross-gradient constraints is an approach to find such models by imposing structural similarities between different physical parameters. We have developed a parallel distributed-memory joint inversion code for direct-current (DC) resistivity and traveltime data using the cross-gradient constraint on unstructured mesh. The code utilizes existing E4D framework for parallel forward simulation, distributed storage and computation of the Jacobian matrix of forward operator, and parallel execution of matrix-vector multiplication during inversion. Besides, the joint inversion is solved by nonlinear conjugate gradient algorithm parallelized for DC resistivity and traveltime data. The joint inversion capability of E4D was tested using synthetic data from cross-borehole DC resistivity and traveltime data. The results indicate that the shape and size of the anomalies from the joint inversion are more reliable than those from separate inversions.

58 GEOSCIENCES↗

Virtual Log-Structured Storage for High-Performance Streaming

Over the past decade, given the higher number of data sources (e.g., Cloud applications, Internet of things) and critical business demands, Big Data transitioned from batch-oriented to real-time analytics. Stream storage systems, such as Apache Kafka, are well known for their increasing role in real-time Big Data analytics. For scalable stream data ingestion and processing, they logically split a data stream topic into multiple partitions. Stream storage systems keep multiple data stream copies to protect against data loss while implementing a stream partition as a replicated log. This architectural choice enables simplified development while trading cluster size with performance and the number of streams optimally managed. This paper introduces a shared virtual log-structured storage approach for improving the cluster throughput when multiple producers and consumers write and consume in parallel data streams. Stream partitions are associated with shared replicated virtual logs transparently to the user, effectively separating the implementation of stream partitioning (and data ordering) from data replication (and durability). We implement the virtual log technique in the KerA stream storage system. When comparing with Apache Kafka, KerA improves the cluster ingestion throughput by up to 4x when multiple producers write over hundreds of data streams.

consistent stream ordering↗

Tail queues: A multi-threaded matching architecture

As we approach exascale, computational parallelism will have to drastically increase in order to meet throughput targets. Many–core architectures have exacerbated this problem by trading reduced clock speeds, core complexity, and computation throughput for increasing parallelism. This presents two major challenges for communication libraries such as MPI: the library must leverage the performance advantages of thread level parallelism and avoid the scalability problems associated with increasing the number of processes to that scale. Hybrid programming models, such as MPI+X, have been proposed to address these challenges. MPI THREAD MULTIPLE is MPI's thread safe mode. While there has been work to optimize it, it largely remains non–performant in most implementations. While current applications avoid MPI multithreading due to performance concerns, it is expected to be utilized in future applications. One of the major synchronous data structures required by MPI is the matching engine. In this paper, we present a parallel matching algorithm that can improve MPI matching for multithreaded applications. We then perform a feasibility study to demonstrate the performance benefit of the technique.

97 MATHEMATICS AND COMPUTING↗

DARMA-MPI Interoperability WBS 2.3.1.04 Milestone 15 (ECP Milestone Report)

DARMA (Distributed Asynchronous Resilient Models for Applications) is a runtime library developed as part of the the Sandia ATDM (Advanced Technology Development and Mitigation) program. DARMA supports applications within 2.2.5.03 ADNN03-ASC ATDM SNL Application, which includes a number of applications featuring dynamic physics which requires load balancing and asynchronous communication for high performance. We have implemented a modern C++ programming model that can enable dynamic, asynchronous communication on top of existing data structures from a serial or MPI code. DARMA development has occurred in parallel with a verification milestone for ATDM in FY18. For FY19, DARMA will impact ATDM by enabling the performance benefits of a dynamic runtime through only incremental changes to existing verified MPI codes. The results presented here demonstrate the DARMA development process for an MPI mini-app, showing a 3-4x improvement in performance for a challenging problem relative to the parent MPI code and coming within 25 percent of the theoretically optimal performance achievable from a perfect, fine-grained load balancer for most cases.

97 MATHEMATICS AND COMPUTING↗

Measurements at the Facility for Experiments of Nuclear Reactions in Stars (FENRIS) (Final Technical Report)

Nuclear reactions in stars have transformed the universe since the Big Bang, turning hydrogen and helium into all of the elements we see around us today. These reactions fuel a star throughout its lifetime. When the star burns out, its ashes are ejected into space to enrich the next generation of stars so to understand the origin of the elements in the cosmos, we must learn how stars burn their fuel. In this stellar burning, the rates of nuclear reactions are key. The rates can be determined by recreating the reactions in the laboratory, but often they occur too rarely to measure at the low energies characteristic of stellar burning. Novel, indirect measurements must be used. With support from the Department of Energy Office of Science, a research program has been developed to perform such measurements, primarily using the Enge split-pole spectrograph at the Triangle Universities Nuclear Laboratory (TUNL). High-energy nuclear reactions coupled with theoretical models were used to ascertain the rate of the low-energy nuclear reactions occurring in stars. Detailed analysis of the data reveals the structure of nuclei and how they affect stellar burning. In parallel to these experimental efforts, theoretical tools were developed to identify which nuclear reactions are most critical for understanding stars, thus discovering priorities for future measurements. This complementary suite of experiments and theoretical calculations can be used to help answer one of the key questions facing the physics community: How did visible matter come into being and how did it evolve?

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗