Search NASA⌕ Search

SEARCH · Search NASA

Results for “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 1,099 records · Page 61

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 ArborX Library: Version 2.0

This article provides an overview of the 2.0 release of the ArborX library, a performance portable geometric search library based on Kokkos. We describe the major changes in ArborX 2.0 including a new interface for the library to support a wider range of user problems, new search data structures (brute force and distributed), support for user functions to be executed on the results (callbacks), and an expanded set of the supported algorithms (ray tracing and clustering).

GPU↗

Kokkos Version 2.0

The Kokkos library implements thread-parallel execution policies and shared-memory multidimensional array data structures that enable applications and domain libraries to develop computational kernels that are performance portable across multicore-CPU and manycore-accelerator (e.g. GPU) computing architectures.

SciDAC↗

Draco,Version 6.x.x

Draco is an object-oriented component library geared towards numerically intensive, radiation (particle) transport applications built for parallel computing hardware. It consists of semi-independent packages and a robust build system. The packages in Draco provide a set of components that can be used by multiple clients to build transport codes. The build system can also be extracted for use in clients. Software includes smart pointers, Design-by-Contract assertions, unit test framework, wrapped MPI functions, a file parser, unstructured mesh data structures, a random number generator, root finders and an angular quadrature component.

Thompson, Kelly↗

pyCroscopy

Suite of Python Libraries that implement structure data format processing, multivariate analysis, and interactive visualization of microscopy data and other spectral imaging modalities, including scanning probe microscopy, electron microscopy, Bragg diffraction microscopy, and chemical imaging.

Jesse, Stephen↗

Code Analysis and Refactoring with Clang Tools, Version 0.1

Code Analysis and Refactoring with Clang Tools is a small set of example code that demonstrates techniques for applying tools distributed with the open source Clang compiler. Examples include analyzing where variables are used and replacing old data structures with standard structures.

Kelley, TimothyM.↗

QCI Common

There are many common software patterns and utilities for the ORNL Quantum Computing Institute that can and should be shared across projects. Otherwise we find duplication of code which adds unwanted complexity. This is a software product seeks to alleviate this by providing common utilities such as object factories, graph data structures, parameter input mechanisms, etc., for other software products within the ORNL Quantum Computing Institute. This work enables pure basic research, has no export controlled utilities, and has no real commercial value.

McCaskey, AlexanderJ.↗

FleCSPH - a parallel and distributed SPH implementation based on the FleCSI framework

FleCSPH is a multi-physics compact application that exercises FleCSI parallel data structures for tree-based particle methods. In particular, FleCSPH implements a smoothed-particle hydrodynamics (SPH) solver for the solution of Lagrangian problems in astrophysics and cosmology. FleCSPH includes support for gravitational forces using the fast multipole method (FMM).

Junghans, Christoph↗

IREP

A tool for filling C/C++ or Fortran data structures from Lua input tables. IREP reads external program input using the Lua C Library, organizes the input into native language structures, and shares those structures among compiled program objects written in either (or both) C/C++ or Fortran.

Busby, Lee↗

UnitTesterSG

UnitTesterSG is a unit testing framework that is designed for nested and/or scientific/engineering data structures. It is designed primarily for testing the outputs if a single function or simulation run by storing the expected results file such that comparisons to the stored output can be made with unit tests after the function or software has been edited. This module is designed to be able to unit test arrays, strings, as well as nested and deeply nested objects (including arrays with tuples inside, arrays with strings inside, etc.). The module is compatable with nested objects, and thus has a dependency on the nestedObjectsFunctions module within. The module takes *calculated* results and then compares them to *expected* results. If no expected results are available (or they do not match the calculated results) the module then offers to store the calculated results as expected results for next time.

Savara, Aditya [Oak Ridge National Lab. (ORNL), Oa↗

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.↗

picassodev/picasso

Picasso is a C++ template library for the development of exascale-class particle-in-cell methods. It contains data structures for particle and grid management using the ECP Kokkos and Cabana libraries, abstractions for particle and grid discretizations, and tools for interface tracking and reconstruction with particles.

Slattery, Stuart↗

Yet Another Hauser-Feshbach Code

Code framework to perform simulations of nuclear reactions with incident particles including gammas, protons, neutrons, deuterons, tritons, helium-3, and alphas to develop nuclear data libraries and study nuclear reaction phenomona. The code can model nuclear reactions or initial populations specified by the user. The decays principally follow the compound-nucleus hypothesis and the statistical decay of Hauser and Feshbach. The code models nuclear decays with a Monte Carlo process that tracks the decay of each state. Data libraries are produced that can be translated into GNDS (generalized Nuclear Data Structure). YAHFC can also be used as an event generator, with individual decays written to disk for offline analysis. Both serial and MPI versions are provided. YAHFC does NOT perform transport of nuclear reactions through materials, only the primary reaction with a target material.

Ormand, WilliamE.↗

Gravitation and Mesh Adaption

The Gravitation and Mesh Adaptation (GaMA) toolbox consists of a set of Matlab classes for modeling the environment around asteroids and comets. A variety of gravitational models and supporting algorithms from are consolidated alongside a custom meshing utility tailored for the application. This allows the user to work within a single streamlined environment to import and manipulate surface definitions, probe the dynamical environment, integrate trajectories, and post-process results. For other applications, modified surface meshes can be exported. Gravity Models: 1) Werner's analytic polyhedron model 2) Mascon model 3) Gottlieb's spherical harmonic model 4) Approximate polyhedron models 5) Curvilinear surface models 6) Custom composite models Meshing Features: 1) Array-based half-edge data structure 2) Supports curvilinear surface definitions up to degree 4 3) Ray-tracing 4) Coarsening 5) Feature-based refinement 6) Projection 7) Smoothing 8) Mesh quality validity tests 9) Mesh repair Additional Features: 1) Solar radiation pressure model 2) Distant 3rd body model 3) Collision detection 4) Trajectory integration and post-processing 5) Visualization of surface fields

Pearl, Jason↗

Lume-model

Lume-model defines data structures used in the LUME modeling tool set.

Garrahan, Jacqueline↗

GraphSAGE-Sparse v.0.2.0

SAND2022-12899 O GraphSAGE-Sparse is an implementation of the GraphSAGE Graph Neural Network that adds support for sparse data structures, as well as improved functionality through the Tensorflow 2 functional API. 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.

SciDAC↗

EAP Patterns

EAP Patterns: Memory access and iteration patterns from the EAP code base with the physics removed. This is intended to be a serial app representing memory access patterns. We will populate the data structures from EAP output files to provide representative patterns of face and cell loops within the EAP code base The arguments to the program are the EAP output file and the number of MPI processors to emulate. Currently there is no MPI in the application and the number of processors represents a means of emulating the halo (clone) cells around the domain of the given processor. An optional argument `processor_ID` can be provided to specify the processor to emulate. In the future we plan to include the ability to run multiple MPI ranks to more accurately represent the on-node demands on memory bandwidth.

Swaminarayan, Sriram↗

MetallData

MetallData is an HPC platform for interactive data science applications at HPC-scales. It provides an ecosystem for persistent distributed data structures, including algorithms, interactivity and storage.

Pearce, RogerA↗