Search NASA⌕ Search

SEARCH · Search NASA

Results for “matrix-matrix operations”

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.

The basic matrix library (BML) for quantum chemistry

The basic matrix library package (BML) provides a common application programming interface (API) for linear algebra and matrix functions in C and Fortran for quantum chemistry codes. The BML API is matrix format independent. Currently the dense, compressed sparse row, and ELLPACK-R sparse matrix data types are available, each with different implementations. We show how the second-order spectral projection (SP2) algorithm used to compute the electronic structure of a molecular system represented with a tight-binding Hamiltonian can be successfully implemented with the aid of this library.

97 MATHEMATICS AND COMPUTING↗

TTDFT: A GPU accelerated Tucker tensor DFT code for large-scale Kohn-Sham DFT calculations

We present the Tucker tensor DFT (TTDFT) code which uses a tensor-structured algorithm with graphic processing unit (GPU) acceleration for conducting ground-state DFT calculations on large-scale systems. The Tucker tensor DFT algorithm uses a localized Tucker tensor basis computed from an additive separable approximation to the Kohn-Sham Hamiltonian. The discrete Kohn-Sham problem is solved using Chebyshev filtered subspace iteration method that relies on matrix-matrix multiplications of a sparse symmetric Hamiltonian matrix and a dense wavefunction matrix, expressed in the localized Tucker tensor basis. These matrix-matrix multiplication operations, which constitute the most computationally intensive step of the solution procedure, are GPU accelerated providing ~8-fold GPU-CPU speedup for these operations on the largest systems studied. In conclusion, the computational performance of the TTDFT code is presented using benchmark studies on aluminum nano-particles and silicon quantum dots with system sizes ranging up to ~7,000 atoms.

97 MATHEMATICS AND COMPUTING↗

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↗

Introduction of the Adding and Doubling Method for Solving Bateman Equations for Nuclear Fuel Depletion

This paper introduces and evaluates the Adding and Doubling Method (ADM) for solving the Bateman equations for depletion systems with varying numbers of nuclides and compares it to the Chebyshev Rational Approximation Method (CRAM), both implemented in the reactor physics analysis application Griffin. ADM, when applied to the Crank-Nicolson Finite Difference method, can produce results comparable in accuracy and precision to CRAM with comparable run times for systems with 35 or 297 nuclides. For systems with more than 300 nuclides, the matrix-matrix operations required by ADM are significantly more costly than the matrix-vector operations required by CRAM, making CRAM the more efficient method for systems with large numbers of nuclides. ADM is an accurate method that maintains other advantages over CRAM in that it does not depend on pre-generated coefficients or require complex number operations. ADM also manages to outperform CRAM by a factor of more than 250 in terms of run time for depletion systems that require multiple Bateman solves while the depletion matrix and time step size remain constant over all depletion intervals.

11 NUCLEAR FUEL CYCLE AND FUEL MATERIALS↗

A Flexible-blocking Based Approach for Performance Tuning of Matrix Multiplication Routines for Large Matrices with Edge Cases

Efficient and scalable matrix operations are being highly demanding in the recent era of Machine Learning, Deep Learning, and Big Data Analytics. The two commonly used matrix-matrix operations in the Basic Linear Algebra Subprograms (BLAS) specification are General Matrix-Matrix multiplication (GEMM) and Symmetric Rank-k update (SYRK). The SYRK routine is a specialization of the GEMM routine, where half of the multiplications are skipped as the resultant matrix is known to be symmetric. Fortunately, several linear algebra libraries implement these BLAS routines quite efficiently. The libraries usually partition the input matrices into blocks and place them in processor caches, thus improving performance by leveraging the caches. However, the contemporary libraries are highly optimized for squarish matrices, but the performance degrades significantly for the matrices with edge case (strictly thin or strictly fat shapes) in the multicore machine. The primary reason is that the current state-of-the-art libraries make fixed block shapes based on a processor architecture, and do not consider the shape of the input matrices. In this paper, we propose a new blocking approach, we name it Flexible-blocking, to mitigate the scalability issues. In contrast to the contemporary libraries, our approach formulates the blocks of the input matrices based on the shapes of the matrices as well as the number of threads used in the implementation. Our proposed technique shows noticeable performance improvement on multicore shared-memory machines for the edge case matrices.

Hossain, Md Mosharaf↗

A New Class of AMG Interpolation Methods Based on Matrix-Matrix Multiplications

A new class of distance-two interpolation methods for algebraic multigrid (AMG) that can be formulated in terms of sparse matrix-matrix multiplications is presented and analyzed. Compared with similar distance-two prolongation operators, the proposed algorithms exhibit improved efficiency and portability to various computing platforms, since they allow one to easily exploit existing high-performance sparse matrix kernels. The new interpolation methods have been implemented in hypre, a widely used parallel multigrid solver library. With the proposed interpolations, the overall time of hypre's BoomerAMG setup can be considerably reduced, while sustaining equivalent, sometimes improved, convergence rates. Numerical results for a variety of test problems on parallel machines are presented that support the superiority of the proposed interpolation operators over the existing ones in hypre.

97 MATHEMATICS AND COMPUTING↗

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↗

SmartFuse: Reconfigurable Smart Switches to Accelerate Fused Collectives in HPC Applications

Communication switches have sometimes been augmented to process collectives (e.g., the IBM BlueGene project and the Mellanox SHArP switch). In this work, we find that there is a great acceleration opportunity through the further augmentation of switches to accelerate more complex functions that combine communication with computation. We consider three types of such functions. The first is fully-fused collectives built by fusing multiple existing collectives like Allreduce with Alltoall. The second is semi-fused collectives built by combining a collective with another computation. The third we refer to as higher-order collectives built by combining multiple computations and communications, such as to perform matrix-matrix multiply (PGEMM). In this work, we propose a framework called SmartFuse to accelerate fused collective functions. The core of SmartFuse is a reconfigurable smart switch to support these operations. The semi/fully fused collectives are implemented with a CGRAlike architecture, while higher-order collectives are implemented with a more specialized computational unit that can also schedule communication. Supporting our framework is software to evaluate and translate relevant parts of the input program, compile them into a control data flow graph, and then map this graph to the switch hardware. The proposed framework, once deployed, has the strong potential to accelerate existing HPC applications transparently by encapsulation within an MPI implementation. Experimental results show that this approach improves the performance of the PGEMM kernel, MINIFE, and AMG by, on average, 94%, 15%, and 13%, respectively.

Haghi, Pouya↗

Acoustooptic linear algebra processors - Architectures, algorithms, and applications

Architectures, algorithms, and applications for systolic processors are described with attention to the realization of parallel algorithms on various optical systolic array processors. Systolic processors for matrices with special structure and matrices of general structure, and the realization of matrix-vector, matrix-matrix, and triple-matrix products and such architectures are described. Parallel algorithms for direct and indirect solutions to systems of linear algebraic equations and their implementation on optical systolic processors are detailed with attention to the pipelining and flow of data and operations. Parallel algorithms and their optical realization for LU and QR matrix decomposition are specifically detailed. These represent the fundamental operations necessary in the implementation of least squares, eigenvalue, and SVD solutions. Specific applications (e.g., the solution of partial differential equations, adaptive noise cancellation, and optimal control) are described to typify the use of matrix processors in modern advanced signal processing.

Casasent, D.↗

Analog VLSI neural network integrated circuits

Two analog very large scale integration (VLSI) vector matrix multiplier integrated circuit chips were designed, fabricated, and partially tested. They can perform both vector-matrix and matrix-matrix multiplication operations at high speeds. The 32 by 32 vector-matrix multiplier chip and the 128 by 64 vector-matrix multiplier chip were designed to perform 300 million and 3 billion multiplications per second, respectively. An additional circuit that has been developed is a continuous-time adaptive learning circuit. The performance achieved thus far for this circuit is an adaptivity of 28 dB at 300 KHz and 11 dB at 15 MHz. This circuit has demonstrated greater than two orders of magnitude higher frequency of operation than any previous adaptive learning circuit.

Kub, F. J.↗

Big Sky Regional Carbon Sequestration Partnership (Phase III Final Scientific/Technical Report)

The Big Sky Carbon Sequestration Partnership (BSCSP) pursued a Phase III demonstration project at Kevin Dome in north central Montana. Kevin Dome covers approximately 700 square miles and is a naturally occurring CO 2 reservoir that is flanked by oil and gas fields. The carbon dioxide (CO 2 ) is in the upper Devonian Duperow (carbonate) formation and does not reach the spill point of the dome; therefore, the dome has potential as a CO 2 sequestration reservoir, a CO 2 supply, or as both if anthropogenic sources and enhanced oil recovery (EOR) operations are associated with the dome. Kevin Dome could potentially act as a buffer to continue accepting anthropogenic CO 2 when EOR flooding operations are interrupted or completed. The project objective was to produce one million tonnes of CO 2 from the gas cap of Kevin Dome, pipe it laterally, inject, and re-store it in the brine leg of the same formation to test the hub / buffer storage concept. This was to be accomplished by drilling up to five production wells, building a short pipeline and compression facilities, and drilling an injection well and several monitoring wells. BSCSP commenced outreach and site characterization activities including acquiring baseline data for near-surface insurance monitoring, acquiring 3-dimensional, 9-component surface seismic over the project area, drilling two test wells (one in the production area and one in the injection area), coring key intervals, and performing comprehensive logging. Well tests of those wells revealed two barriers to the project. The production (Danielson 33-17) well was perforated in multiple zones but failed to produce any significant CO 2 . This was despite being drilled in the near vicinity of a historic well that had produced 3700 MCF per day in a drill stem test. Modeling indicated that this was likely due to a phase change during production causing a temperature drop resulting in hydrate and/or water ice formation that clogged the formation. Tests of the injection zone (Wallewein 22-1) well indicated total dissolved solids (TDS) slightly below the EPA required 10,000 parts per million (ppm) for a Class VI underground injection control permit. While the project was initiated before Class VI rules were promulgated, and this was an experimental project (seemingly qualified for a Class V permit), the Environmental Protection Agency (EPA) indicated that injection would require a Class VI permit. The low salinity result was unexpected as contours plotted based on regional formation water quality data indicated an expected TDS above 20,000 ppm, and wells between the recharge zone and the Wallewein well tested above 10,000 ppm. Faced with the inability to obtain an injection permit, the demonstration project could not proceed. However, the project had generated valuable samples and data on a large natural analog including 32 sq. mi. of 3-D, 9-C seismic, 430 ft. of carbonate core covering seven different depositional environments taken from areas with, and without the presence of CO 2 , 30 ft. of core of two caprocks, a tight carbonate and an anhydrite, a full set of modern logs on both wells, and well tests. DOE decided to re-scope the project around completing studies utilizing this data. This report covers both the initial scope and the re-scope (Task / Section numbers preceded with an R). While the report covers a wide range of project activities, highlights of this work include: Development of a geostatic model using neural nets to match well logs to facies and using multi-waveform seismic to inform reservoir heterogeneity; Unique mechanical testing of permeability – stress relationship in two caprock materials; Development of full waveform inversion to generate a high resolution velocity model; Model development for dual permeability (fracture and matrix) systems to better account for matrix-matrix interactions; Joint seismic wave inversion (including the first quadr-joint inversion) exhibiting better imaging of a challenging reservoir zone in stiff rock; Core flow and core flood results on a reactive carbonate; and Innovative laboratory measurements of seismic response of fractured core as a function of fluid fill.

54 ENVIRONMENTAL SCIENCES↗

Matrix Multiply Performance of GPUs on Exascale-class HPE/Cray Systems

The computation of dense matrix-matrix products (GEMMs) is central to many modeling and simulation workloads as well as AI/ML deep learning campaigns. In fact, millions of dollars are spent annually on computing GEMMs, and large model training demands are increasing exponentially. Specialized processors such as GPUs are designed to perform well for these operations. However, the performance of GEMMs on GPUs can exhibit complex behaviors depending on many factors, making it challenging to optimize the performance of GEMMs on these processors. In this study we undertake an examination of GEMM performance on several leading GPU models taken from product lines of GPUs to be deployed in forthcoming exascale computing systems. We show results to illustrate the many factors that can affect performance of GEMMs on GPUs. We then present data collected from a large number of test runs for an example GEMM operation to show the dependence behaviors of GEMM rate on matrix dimensions. Finally, we show results from machine learning-based performance models using novel feature engineering methods to fit the measured performance, providing a potential basis for GEMM performance tuning and autotuning methods for GPUs. Recommendations are also given for how to achieve high GEMM performance on modern GPUs.

Melesse Vergara, Veronica↗