Search NASA⌕ Search

SEARCH · Search NASA

Results for “code sharing”

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 271 records · Page 15

Performance optimization, modeling and analysis of sparse matrix-matrix products on multi-core and many-core processors

Sparse matrix-matrix multiplication (SpGEMM) is a computational primitive that is widely used in areas ranging from traditional numerical applications to recent big data analysis and machine learning. Although many SpGEMM algorithms have been proposed, hardware specific optimizations for multi- and many-core processors are lacking and a detailed analysis of their performance under various use cases and matrices is not available. In this work, we firstly identify and mitigate multiple bottlenecks with memory management and thread scheduling on Intel Xeon Phi (Knights Landing or KNL). Specifically targeting many-core processors, we develop a hash-table-based algorithm and optimize a heap-based shared-memory SpGEMM algorithm. We examine their performance together with other publicly available codes. Different from the literature, our evaluation also includes use cases that are representative of real graph algorithms, such as multi-source breadth-first search or triangle counting. Our hash-table and heap-based algorithms are showing significant speedups from libraries in the majority of the cases while different algorithms dominate the other scenarios with different matrix size, sparsity, compression factor and operation type. We wrap up in-depth evaluation results and make a recipe to give the best SpGEMM algorithm for target scenario. We build the performance model for hash-table and heap-based algorithms, which supports the recipe. A critical finding is that hash-table-based SpGEMM gets a significant performance boost if the nonzeros are not required to be sorted within each row of the output matrix. Finally, we integrate our implementations into a large-scale protein clustering code named HipMCL, accelerating its SpGEMM kernel by up to 10X and achieving an overall performance boost for the whole HipMCL application by 2.6X.

97 MATHEMATICS AND COMPUTING↗

Soluble limit and criticality of fermions in $\mathbb Z_2$ gauge theories

Quantum information theory and strongly correlated electron systems share a common theme of macroscopic quantum entanglement. In both topological error correction codes and theories of quantum materials (spin liquid, heavy fermion and high-$T_c$ systems), entanglement is implemented by means of an emergent gauge symmetry. Inspired by these connections, in this paper we introduce a simple model for fermions moving in the deconfined phase of a $\mathbb Z_2$ gauge theory by coupling Kitaev's toric code to mobile fermions. This permits us to exactly solve the ground state of this system and map out its phase diagram. Reversing the sign of the plaquette term in the toric code permits us to tune the ground state between an orthogonal metal and an orthogonal semimetal in which gapless quasiparticles survive despite a gap in the spectrum of original fermions. The small-to-large Fermi surface transition between these two states occurs in a stepwise fashion with multiple intermediate phases. By using a diagrammatic technique, we are able to explore physics beyond the integrable point to examine various instabilities of the deconfined phase and to derive the critical theory at the transition between deconfined and confined phases. We outline how the fermionic toric code can be implemented as a quantum circuit, thus providing an important link between quantum materials and quantum information theory.

75 CONDENSED MATTER PHYSICS, SUPERCONDUCTIVITY AND↗

The genome of jojoba ( Simmondsia chinensis ): A taxonomically isolated species that directs wax ester accumulation in its seeds

Seeds of the desert shrub, jojoba ( Simmondsia chinensis ), are an abundant, renewable source of liquid wax esters, which are valued additives in cosmetic products and industrial lubricants. Jojoba is relegated to its own taxonomic family, and there is little genetic information available to elucidate its phylogeny. Here, we report the high-quality, 887-Mb genome of jojoba assembled into 26 chromosomes with 23,490 protein-coding genes. The jojoba genome has only the whole-genome triplication (γ) shared among eudicots and no recent duplications. These genomic resources coupled with extensive transcriptome, proteome, and lipidome data helped to define heterogeneous pathways and machinery for lipid synthesis and storage, provided missing evolutionary history information for this taxonomically segregated dioecious plant species, and will support efforts to improve the agronomic properties of jojoba.

Sturtevant, Drew↗

High-Performance Sparse Matrix-Matrix Products on Intel KNL and Multicore Architectures

Sparse matrix-matrix multiplication (SpGEMM) is a computational primitive that is vastly used in areas ranging from traditional numerical applications to recent big data analysis and machine learning. While many SpGEMM algorithms have been proposed, hardware specific optimizations for multi- and many-core processors are lacking and a detailed analysis of their performance under various use cases and matrices is not available. We firstly identify and mitigate multiple bottlenecks with memory management and thread scheduling on Intel Xeon Phi (Knights Landing or KNL). Specifically targeting multi- and many-core processors, we develop a hash-table-based algorithm and optimize a heap-based shared-memory SpGEMM algorithm. We investigate their performance together with other publicly available codes. Different from the literature, our evaluation also includes use cases that are representative of real graph algorithms, such as multi-source breadth-first search or triangle counting. Our hash-table and heap-based algorithms are showing significant speedups from libraries in the majority of the cases while different algorithms dominate the other scenarios with different matrix size, sparsity, compression factor and operation type. We wrap up in-depth evaluation results and make a recipe to give the best SpGEMM algorithm for target scenario. In conclusion, a critical finding is that hash-table-based SpGEMM gets a significant performance boost if the nonzeros are not required to be sorted within each row of the output matrix.

97 MATHEMATICS AND COMPUTING↗

Support for Debugging Automatically Parallelized Programs

This viewgraph presentation provides information on the technical aspects of debugging computer code that has been automatically converted for use in a parallel computing system. Shared memory parallelization and distributed memory parallelization entail separate and distinct challenges for a debugging program. A prototype system has been developed which integrates various tools for the debugging of automatically parallelized programs including the CAPTools Database which provides variable definition information across subroutines as well as array distribution information.

Hood, Robert↗

Exploiting the cannibalistic traits of Reed-Solomon codes

In Reed-Solomon codes and all other maximum distance separable codes, there is an intrinsic relationship between the size of the symbols in a codeword and the length of the codeword. Increasing the number of symbols in a codeword to improve the efficiency of the coding system thus requires using a larger set of symbols. However, long Reed-Solomon codes are difficult to implement and many communications or storage systems cannot easily accommodate an increased symbol size, e.g., M-ary frequency shift keying (FSK) and photon-counting pulse-position modulation demand a fixed symbol size. A technique for sharing redundancy among many different Reed-Solomon codewords to achieve the efficiency attainable in long Reed-Solomon codes without increasing the symbol size is described. Techniques both for calculating the performance of these new codes and for determining their encoder and decoder complexities is presented. These complexities are usually found to be substantially lower than conventional Reed-Solomon codes of similar performance.

Collins, O.↗

MLP: A Parallel Programming Alternative to MPI for New Shared Memory Parallel Systems

Recent developments at the NASA AMES Research Center's NAS Division have demonstrated that the new generation of NUMA based Symmetric Multi-Processing systems (SMPs), such as the Silicon Graphics Origin 2000, can successfully execute legacy vector oriented CFD production codes at sustained rates far exceeding processing rates possible on dedicated 16 CPU Cray C90 systems. This high level of performance is achieved via shared memory based Multi-Level Parallelism (MLP). This programming approach, developed at NAS and outlined below, is distinct from the message passing paradigm of MPI. It offers parallelism at both the fine and coarse grained level, with communication latencies that are approximately 50-100 times lower than typical MPI implementations on the same platform. Such latency reductions offer the promise of performance scaling to very large CPU counts. The method draws on, but is also distinct from, the newly defined OpenMP specification, which uses compiler directives to support a limited subset of multi-level parallel operations. The NAS MLP method is general, and applicable to a large class of NASA CFD codes.

Taft, James R.↗

Laura Users Manual: 5.1-41601

This users manual provides in-depth information concerning installation and execution of LAURA, version 5. LAURA is a structured, multi-block, computational aerothermodynamic simulation code. Version 5 represents a major refactoring of the original Fortran 77 LAURA code toward a modular structure afforded by Fortran 95. The refactoring improved usability and maintainability by eliminating the requirement for problem-dependent re-compilations, providing more intuitive distribution of functionality, and simplifying interfaces required for multiphysics coupling. As a result, LAURA now shares gas-physics modules, MPI modules, and other low-level modules with the FUN3D unstructured-grid code. In addition to internal refactoring, several new features and capabilities have been added, e.g., a GNU-standard installation process, parallel load balancing, automatic trajectory point sequencing, free-energy minimization, and coupled ablation and flowfield radiation.

Mazaheri, Alireza↗

LAURA Users Manual: 5.2-43231

This users manual provides in-depth information concerning installation and execution of LAURA, version 5. LAURA is a structured, multi-block, computational aerothermodynamic simulation code. Version 5 represents a major refactoring of the original Fortran 77 LAURA code toward a modular structure afforded by Fortran 95. The refactoring improved usability and maintainability by eliminating the requirement for problem-dependent re-compilations, providing more intuitive distribution of functionality, and simplifying interfaces required for multiphysics coupling. As a result, LAURA now shares gas-physics modules, MPI modules, and other low-level modules with the FUN3D unstructured-grid code. In addition to internal refactoring, several new features and capabilities have been added, e.g., a GNU-standard installation process, parallel load balancing, automatic trajectory point sequencing, free-energy minimization, and coupled ablation and flowfield radiation.

Mazaheri, Alireza↗

LAURA Users Manual: 5.5-64987

This users manual provides in-depth information concerning installation and execution of LAURA, version 5. LAURA is a structured, multi-block, computational aerothermodynamic simulation code. Version 5 represents a major refactoring of the original Fortran 77 LAURA code toward a modular structure afforded by Fortran 95. The refactoring improved usability and maintain ability by eliminating the requirement for problem dependent recompilations, providing more intuitive distribution of functionality, and simplifying interfaces required for multi-physics coupling. As a result, LAURA now shares gas-physics modules, MPI modules, and other low-level modules with the Fun3D unstructured-grid code. In addition to internal refactoring, several new features and capabilities have been added, e.g., a GNU standard installation process, parallel load balancing, automatic trajectory point sequencing, free-energy minimization, and coupled ablation and flowfield radiation.

Mazaheri, Alireza↗

LAURA Users Manual: 5.4-54166

This users manual provides in-depth information concerning installation and execution of Laura, version 5. Laura is a structured, multi-block, computational aerothermodynamic simulation code. Version 5 represents a major refactoring of the original Fortran 77 Laura code toward a modular structure afforded by Fortran 95. The refactoring improved usability and maintainability by eliminating the requirement for problem dependent re-compilations, providing more intuitive distribution of functionality, and simplifying interfaces required for multi-physics coupling. As a result, Laura now shares gas-physics modules, MPI modules, and other low-level modules with the Fun3D unstructured-grid code. In addition to internal refactoring, several new features and capabilities have been added, e.g., a GNU-standard installation process, parallel load balancing, automatic trajectory point sequencing, free-energy minimization, and coupled ablation and flowfield radiation.

Mazaheri, Alireza↗

LAURA Users Manual: 5.6

This users manual provides in-depth information concerning installation and execution of Laura, version 5. Laura is a structured, multiblock, computational aerothermodynamic simulation code. Version 5 represents a major refactoring of the original Fortran 77 Laura code toward a modular structure afforded by Fortran 95. The refactoring improved usability and maintainability by eliminating the requirement for problem-dependent recompilations, providing more intuitive distribution of functionality, and simplifying inter- faces required for multi-physics coupling. As a result, Laura now shares gas-physics modules, MPI modules, and other low-level modules with the Fun3D unstructured-grid code. In addition to internal refactoring, several new features and capabilities have been added, e.g., a GNU-standard installation process, parallel load balancing, automatic trajectory point sequencing, free-energy minimization, and coupled ablation and flow field radiation.

Aerodynamics↗

LAURA Users Manual: 5.3-48528

This users manual provides in-depth information concerning installation and execution of LAURA, version 5. LAURA is a structured, multi-block, computational aerothermodynamic simulation code. Version 5 represents a major refactoring of the original Fortran 77 LAURA code toward a modular structure afforded by Fortran 95. The refactoring improved usability and maintainability by eliminating the requirement for problem-dependent re-compilations, providing more intuitive distribution of functionality, and simplifying interfaces required for multi-physics coupling. As a result, LAURA now shares gas-physics modules, MPI modules, and other low-level modules with the FUN3D unstructured-grid code. In addition to internal refactoring, several new features and capabilities have been added, e.g., a GNU-standard installation process, parallel load balancing, automatic trajectory point sequencing, free-energy minimization, and coupled ablation and flowfield radiation.

Mazaheri, Alireza↗

LAURA Users Manual: 5.7

This users manual provides in-depth information concerning installation and execution of Laura, version 5. Laura is a structured, multi-block, compu- tational aerothermodynamic simulation code. Version 5 represents a major refactoring of the original Fortran 77 Laura code toward a modular structure afforded by Fortran 2003. The refactoring improved usability and maintain- ability by eliminating the requirement for problem-dependent re-compilations, providing more intuitive distribution of functionality, and simplifying inter- faces required for multi-physics coupling. As a result, Laura now shares gas-physics modules, MPI modules, and other low-level modules with the Fun3D unstructured-grid code. In addition to internal refactoring, several new features and capabilities have been added, e.g., a GNU-standard instal- lation process, parallel load balancing, automatic trajectory point sequencing, free-energy minimization, and coupled ablation and flowfield radiation.

CFD hypersonics reentry↗

Timesharing without synchronization

The capacity region of a multiple-access channel has recently been identified as the convex hull (barred K) of a certain set (K) of points in the first quadrant of the (R1,R2) plane. For a pair of rates in K, a more or less standard random-coding argument can be used to show the existence of a good pair of codes. But for points in barred K-K, it is apparently necessary for the two senders to use some form of time sharing to achieve the desired rates. However, in order to share time, at least one of the senders must have knowledge of the other's phase; and in many practical situations this knowledge does not exist. This paper investigates the problems which arise in coding for multiple-access channels when the senders cannot synchronize with each other.

Mceliece, R. J.↗

OpenMP and MPI implementations of an elasto-viscoplastic fast Fourier transform-based micromechanical solver for fast crystal plasticity modeling

Here, we explore several parallel implementations of an elasto-viscoplastic fast Fourier transform (EVPFFT) model using Message Passing Interface (MPI), OpenMP, and a hybrid of MPI and OpenMP to efficiently predict micromechanical response of polycrystals. Performance studies using EVPFFT are performed based on domain decomposition over voxels of a periodic cell, which is a representative volume element (RVE) of polycrystalline copper. We begin by parallelizing the computationally intensive Newton–Raphson (NR) single crystal solver within EVPFFT. Next, we compare the performance of the serial and parallel FFTW (Fastest Fourier Transform in the West) using OpenMP (OpenMP-FFTW) and MPI (MPI-FFTW) with the original Numerical Recipes-based FOURN routine within EVPFFT. In the parallel environment, we find that the FFT calculations are best performed using the MPI version of FFTW. Finally, the remainder of the code, except read/write subroutines, is parallelized. Significant speedups of the original EVPFFT model are achieved using MPI on shared memory multicore workstations. Furthermore, results achieved on a distributed memory Cray supercomputer show promising strong and weak scalability and in some cases even super scalability for the single crystal NR solver in EVPFFT. MPI-FFTW also scales perfectly for microstructure RVEs larger than 64 3 FFT voxels. For example, the MPI-EVPFFT parallel version of the code accelerates the simulations for approximately two orders of magnitude using 64 cores over the old serial code for an RVE size of 128 3 . Finally, the parallel EVPFFT code developed in this work can run massive voxel-based microstructural RVEs taking the advantages of thousands of logical cores provided by more advanced clusters.

42 ENGINEERING↗

Machine Learning for Materials Scientists: An Introductory Guide toward Best Practices

This Methods/Protocols article is intended for materials scientists interested in performing machine learning-centered research. Herein, we cover broad guidelines and best practices regarding the obtaining and treatment of data, feature engineering, model training, validation, evaluation and comparison, popular repositories for materials data and benchmarking data sets, model and architecture sharing, and finally publication. In addition, we include interactive Jupyter notebooks with example Python code to demonstrate some of the concepts, workflows, and best practices discussed. Overall, the data-driven methods and machine learning workflows and considerations are presented in a simple way, allowing interested readers to more intelligently guide their machine learning research using the suggested references, best practices, and their own materials domain expertise.

36 MATERIALS SCIENCE↗

Rb 4 Ag 2 BiBr 9 : A Lead-Free Visible Light Absorbing Halide Semiconductor with Improved Stability

Replacement of the toxic heavy element lead in metal halide perovskites has been attracting a great interest because the high toxicity and poor air stability are two of the major barriers for their widespread utilization. Recently, mixed-cation double perovskite halides, also known as elpasolites, were proposed as an alternative lead-free candidate for the design of nontoxic perovskite solar cells. Herein, we report a new nontoxic and air stable lead-free all-inorganic semiconductor Rb 4 Ag 2 BiBr 9 prepared using the mixed-cation approach; however, Rb 4 Ag 2 BiBr 9 adopts a new structure type (Pearson’s code o P 32) featuring BiBr 6 octahedra and AgBr 5 square pyramids that share common edges and corners to form a unique 2D layered non-perovskite structure. Rb 4 Ag 2 BiBr 9 is also demonstrated to be thermally stable with the measured onset decomposition temperature of T o = 520 °C. Optical absorption measurements and density functional theory calculations suggest a nearly direct band gap for Rb 4 Ag 2 BiBr 9 . Room temperature photoluminescence (PL) measurements show a broadband weak emission. Furthermore, temperature-dependent and power-dependent PL measurements show a strong competition between multiple emission centers and suggest the coexistence of defect-bound excitons and self-trapped excitons in Rb 4 Ag 2 BiBr 9 .

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗