English
Related papers

Related papers: Implementing Strassen's Algorithm with BLIS

200 papers

The growth of big data in domains such as Earth Sciences, Social Networks, Physical Sciences, etc. has lead to an immense need for efficient and scalable linear algebra operations, e.g. Matrix inversion. Existing methods for efficient and…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-01-16 Chandan Misra , Sourangshu Bhattacharya , Soumya K. Ghosh

It is well known that Strassen and Winograd algorithms can reduce the computational costs associated with dense matrix multiplication. We have already shown that they are also very effective for software-based multiple precision…

Numerical Analysis · Mathematics 2016-05-16 Tomonori Kouya

Fast matrix multiplication can be described as searching for low-rank decompositions of the matrix--multiplication tensor. We design a neural architecture, \textsc{StrassenNet}, which reproduces the Strassen algorithm for $2\times 2$…

Sparse matrix-matrix multiplication (SpGEMM) is a widely used kernel in various graph, scientific computing and machine learning algorithms. It is well known that SpGEMM is a memory-bound operation, and its peak performance is expected to…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-02-27 Zhixiang Gu , Jose Moreira , David Edelsohn , Ariful Azad

We construct a Neural Network that approximates the matrix multiplication operator for any activation function such that there exists a Neural Network which can approximate the scalar multiplication function. In particular, we use the…

Numerical Analysis · Mathematics 2026-02-06 Gonzalo Romera , Jon Asier Bárcena-Petisco

Karppa & Kaski (2019) proposed a novel ``broken" or ``opportunistic" matrix multiplication algorithm, based on a variant of Strassen's algorithm, and used this to develop new algorithms for Boolean matrix multiplication, among other tasks.…

Data Structures and Algorithms · Computer Science 2024-09-05 David G. Harris

Large matrix multiplication is a cornerstone of modern machine learning workloads, yet traditional approaches suffer from cubic computational complexity (e.g., $\mathcal{O}(n^3)$ for a matrix of size $n\times n$). We present Low-Rank GEMM,…

Performance · Computer Science 2025-11-25 Alfredo Metere

Sparse matrix-matrix multiplication (or SpGEMM) is a key primitive for many high-performance graph algorithms as well as for some linear solvers, such as algebraic multigrid. The scaling of existing parallel implementations of SpGEMM is…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-11-18 Ariful Azad , Grey Ballard , Aydin Buluc , James Demmel , Laura Grigori , Oded Schwartz , Sivan Toledo , Samuel Williams

General Matrix Multiplication (GEMM) has a wide range of applications in scientific simulation and artificial intelligence. Although traditional libraries can achieve high performance on large regular-shaped GEMMs, they often behave not…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-08-12 Shangfei Yin , Qinglin Wang , Ruochen Hao , Tianyang Zhou , Songzhu Mei , Jie Liu

We implement two novel algorithms for sparse-matrix dense-matrix multiplication (SpMM) on the GPU. Our algorithms expect the sparse input in the popular compressed-sparse-row (CSR) format and thus do not require expensive format conversion.…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-13 Carl Yang , Aydin Buluc , John D. Owens

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…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-27 Yusuke Nagasaka , Satoshi Matsuoka , Ariful Azad , Aydın Buluç

Obeying constraints imposed by classical physics, we give optimal fine-grained algorithms for matrix multiplication and problems involving graphs and mazes, where all calculations are done in 3-dimensional space. We assume that whatever the…

Data Structures and Algorithms · Computer Science 2024-12-20 Quentin F. Stout

The resurgence of machine learning has increased the demand for high-performance basic linear algebra subroutines (BLAS), which have long depended on libraries to achieve peak performance on commodity hardware. High-performance BLAS…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-30 Braedy Kuzma , Ivan Korostelev , João P. L. de Carvalho , José E. Moreira , Christopher Barton , Guido Araujo , José Nelson Amaral

The DGEMM function is a widely used implementation of the matrix product. While the asymptotic complexity of the algorithm only depends on the sizes of the matrices, we show that the performance is significantly impacted by the matrices…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-12-12 Tom Cornebize , Arnaud Legrand

Advanced algorithms for large-scale electronic structure calculations are mostly based on processing multi-dimensional sparse data. Examples are sparse matrix-matrix multiplications in linear-scaling Kohn-Sham calculations or the efficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-10-31 Ilia Sivkov , Patrick Seewald , Alfio Lazzaro , Juerg Hutter

Matrix factorization is a common machine learning technique for recommender systems. Despite its high prediction accuracy, the Bayesian Probabilistic Matrix Factorization algorithm (BPMF) has not been widely used on large scale data because…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-12 Tom Vander Aa , Imen Chakroun , Tom Haber

We study the problem of multiplying two bit matrices with entries either over the Boolean algebra $(0,1,\vee,\wedge)$ or over the binary field $(0,1,+,\cdot)$. We engineer high-performance open-source algorithm implementations for…

Data Structures and Algorithms · Computer Science 2019-09-05 Matti Karppa , Petteri Kaski

There is a growing interest in custom spatial accelerators for machine learning applications. These accelerators employ a spatial array of processing elements (PEs) interacting via custom buffer hierarchies and networks-on-chip. The…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-06-22 Gordon E. Moon , Hyoukjun Kwon , Geonhwa Jeong , Prasanth Chatarasi , Sivasankaran Rajamanickam , Tushar Krishna

The optimization of the matrix multiplication (or GEMM) has been a need during the last decades. This operation is considered the flagship of current linear algebra libraries such as BLIS, OpenBLAS, or Intel OneAPI because of its widespread…

Mathematical Software · Computer Science 2023-10-30 Adrián Castelló , Julian Bellavita , Grace Dinh , Yuka Ikarashi , Héctor Martínez

A tight $\Omega((n/\sqrt{M})^{\log_2 7}M)$ lower bound is derived on the \io complexity of Strassen's algorithm to multiply two $n \times n$ matrices, in a two-level storage hierarchy with $M$ words of fast memory. A proof technique is…

Data Structures and Algorithms · Computer Science 2016-05-10 Gianfranco Bilardi , Lorenzo De Stefani