Efficiently Parallelizable Strassen-Based Multiplication of a Matrix by its Transpose

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Arrigoni, Viviana, Maggioli, Filippo, Massini, Annalisa, Rodolà, Emanuele
Format: Preprint
Published: 2021
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910635547164672
author Arrigoni, Viviana
Maggioli, Filippo
Massini, Annalisa
Rodolà, Emanuele
author_facet Arrigoni, Viviana
Maggioli, Filippo
Massini, Annalisa
Rodolà, Emanuele
contents The multiplication of a matrix by its transpose, $A^T A$, appears as an intermediate operation in the solution of a wide set of problems. In this paper, we propose a new cache-oblivious algorithm (ATA) for computing this product, based upon the classical Strassen algorithm as a sub-routine. In particular, we decrease the computational cost to $\frac{2}{3}$ the time required by Strassen's algorithm, amounting to $\frac{14}{3}n^{\log_2 7}$ floating point operations. ATA works for generic rectangular matrices, and exploits the peculiar symmetry of the resulting product matrix for saving memory. In addition, we provide an extensive implementation study of ATA in a shared memory system, and extend its applicability to a distributed environment. To support our findings, we compare our algorithm with state-of-the-art solutions specialized in the computation of $A^T A$. Our experiments highlight good scalability with respect to both the matrix size and the number of involved processes, as well as favorable performance for both the parallel paradigms and the sequential implementation, when compared with other methods in the literature.
format Preprint
id arxiv_https___arxiv_org_abs_2110_13042
institution arXiv
publishDate 2021
record_format arxiv
spellingShingle Efficiently Parallelizable Strassen-Based Multiplication of a Matrix by its Transpose
Arrigoni, Viviana
Maggioli, Filippo
Massini, Annalisa
Rodolà, Emanuele
Distributed, Parallel, and Cluster Computing
The multiplication of a matrix by its transpose, $A^T A$, appears as an intermediate operation in the solution of a wide set of problems. In this paper, we propose a new cache-oblivious algorithm (ATA) for computing this product, based upon the classical Strassen algorithm as a sub-routine. In particular, we decrease the computational cost to $\frac{2}{3}$ the time required by Strassen's algorithm, amounting to $\frac{14}{3}n^{\log_2 7}$ floating point operations. ATA works for generic rectangular matrices, and exploits the peculiar symmetry of the resulting product matrix for saving memory. In addition, we provide an extensive implementation study of ATA in a shared memory system, and extend its applicability to a distributed environment. To support our findings, we compare our algorithm with state-of-the-art solutions specialized in the computation of $A^T A$. Our experiments highlight good scalability with respect to both the matrix size and the number of involved processes, as well as favorable performance for both the parallel paradigms and the sequential implementation, when compared with other methods in the literature.
title Efficiently Parallelizable Strassen-Based Multiplication of a Matrix by its Transpose
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2110.13042