English
Related papers

Related papers: Implementing Strassen's Algorithm with BLIS

200 papers

Matrix-matrix multiplication is a basic operation in linear algebra and an essential building block for a wide range of algorithms in various scientific fields. Theory and implementation for the dense, square matrix case are well-developed.…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-06-01 Alfio Lazzaro , Joost VandeVondele , Juerg Hutter , Ole Schuett

The well known algorithm of Volker Strassen for matrix multiplication can only be used for $(m2^k \times m2^k)$ matrices. For arbitrary $(n \times n)$ matrices one has to add zero rows and columns to the given matrices to use Strassen's…

Numerical Analysis · Mathematics 2011-05-25 Ivo Hedtke

We introduce Stream-K, a work-centric parallelization of matrix multiplication (GEMM) and related computations in dense linear algebra. Whereas contemporary decompositions are primarily tile-based, our method operates by partitioning an…

Data Structures and Algorithms · Computer Science 2023-01-11 Muhammad Osama , Duane Merrill , Cris Cecka , Michael Garland , John D. Owens

Matrix multiplication computation acceleration has been a research hotspot across various domains. Due to the characteristics of some applications, approximate matrix multiplication can achieve significant performance improvements without…

Numerical Analysis · Mathematics 2024-05-28 Hongyaoxing Gu

The inference and training stages of Graph Neural Networks (GNNs) are often dominated by the time required to compute a long sequence of matrix multiplications between the sparse graph adjacency matrix and its embedding. To accelerate these…

Data Structures and Algorithms · Computer Science 2024-09-05 João N. F. Alves , Samir Moustafa , Siegfried Benkner , Alexandre P. Francisco , Wilfried N. Gansterer , Luís M. S. Russo

In Scientific Computing and modern Machine Learning (ML) workloads, sequences of dependent General Matrix Multiplications (GEMMs) often dominate execution time. While state-of-the-art BLAS libraries aggressively optimize individual GEMM…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-04-07 César Guedes Carneiro , Lucas Alvarenga , Guido Araujo , Sandro Rigo

Matrix multiplication $A^t A$ appears as intermediate operation during the solution of a wide set of problems. In this paper, we propose a new cache-oblivious algorithm for the $A^t A$ multiplication. Our algorithm, A$\scriptstyle…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-02-07 Viviana Arrigoni , Annalisa Massini

Sparse General Matrix Multiply (SpGEMM) is key for various High-Performance Computing (HPC) applications such as genomics and graph analytics. Using the semiring abstraction, many algorithms can be formulated as SpGEMM, allowing…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-12-23 Thomas McFarland , Julian Bellavita , Giulia Guidi

This paper advocates for an intertwined design of the dense linear algebra software stack that breaks down the strict barriers between the high-level, blocked algorithms in LAPACK (Linear Algebra PACKage) and the low-level,…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-01 Héctor Martínez , Sandra Catalán , Francisco D. Igual , José R. Herrero , Rafael Rodríguez-Sánchez , Enrique S. Quintana-Ortí

General Sparse Matrix-Matrix Multiplication (SpGEMM) has attracted much attention from researchers in graph analyzing, scientific computing, and deep learning. Many optimization techniques have been developed for different applications and…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-07-12 Jianhua Gao , Weixing Ji , Fangli Chang , Shiyu Han , Bingxin Wei , Zeming Liu , Yizhuo Wang

To address the challenge of performance portability, and facilitate the implementation of electronic structure solvers, we developed the Basic Matrix Library (BML) and Parallel, Rapid O(N) and Graph-based Recursive Electronic Structure…

The remarkable positive impact of Deep Neural Networks on many Artificial Intelligence (AI) tasks has led to the development of various high performance algorithms as well as specialized processors and accelerators. In this paper we address…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-02-16 Jie Lei , José Flich , Enrique S. Quintana-Ortí

Sparse general matrix multiplication (SpGEMM) is a fundamental building block for many real-world applications. Since SpGEMM is a well-known memory-bounded application with vast and irregular memory accesses, considering the memory access…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-08-22 Zhaoyang Du , Yijin Guan , Tianchan Guan , Dimin Niu , Hongzhong Zheng , Yuan Xie

Matrix-matrix multiplication is a key computational kernel for numerous applications in science and engineering, with ample parallelism and data locality that lends itself well to high-performance implementations. Many matrix…

Hardware Architecture · Computer Science 2018-06-26 Yaman Umuroglu , Lahiru Rasnayake , Magnus Sjalander

Sparse matrix-matrix multiplication (SpGEMM) is a widely used kernel in various graph, scientific computing and machine learning algorithms. In this paper, we consider SpGEMMs performed on hundreds of thousands of processors generating…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-10-19 Md Taufique Hussain , Oguz Selvitopi , Aydin Buluç , Ariful Azad

It is known that the multiplication of an $N \times M$ matrix with an $M \times P$ matrix can be performed using fewer multiplications than what the naive $NMP$ approach suggests. The most famous instance of this is Strassen's algorithm for…

Artificial Intelligence · Computer Science 2023-07-18 Arnaud Deza , Chang Liu , Pashootan Vaezipoor , Elias B. Khalil

The generic matrix multiply (GEMM) function is the core element of high-performance linear algebra libraries used in many computationally-demanding digital signal processing (DSP) systems. We propose an acceleration technique for GEMM based…

Mathematical Software · Computer Science 2015-05-30 Davide Anastasia , Yiannis Andreopoulos

Sparse general matrix-matrix multiplication (SpGEMM) is a critical operation in many applications. Current multithreaded implementations are based on Gustavson's algorithm and often perform poorly on large matrices due to limited cache…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-11 Jordi Wolfson-Pou , Jan Laukemann , Fabrizio Petrini

The Sch\"onhage-Strassen algorithm (SSA) is the de-facto standard for multiplication of large integers. For $N$-bit numbers it has a time bound of $O(N \cdot \log N \cdot \log \log N)$. De, Kurur, Saha and Saptharishi (DKSS) presented an…

Mathematical Software · Computer Science 2015-03-18 Christoph Lüders

Matrix-matrix multiplication is a key computational kernel for numerous applications in science and engineering, with ample parallelism and data locality that lends itself well to high-performance implementations. Many matrix…

Hardware Architecture · Computer Science 2019-06-12 Yaman Umuroglu , Davide Conficconi , Lahiru Rasnayake , Thomas B. Preusser , Magnus Sjalander