Red-Blue Pebbling Revisited: Near Optimal Parallel Matrix-Matrix Multiplication

We propose COSMA: a parallel matrix-matrix multiplication algorithm that is near communication-optimal for all combinations of matrix dimensions, processor counts, and memory sizes. The key idea behind COSMA is to derive an optimal (up to a factor of 0.03% for 10MB of fast memory) sequential schedul...

Full description

Saved in:
Bibliographic Details
Published in:SC19: International Conference for High Performance Computing, Networking, Storage and Analysis pp. 1 - 22
Main Authors: Kwasniewski, Grzegorz, Kabic, Marko, Besta, Maciej, VandeVondele, Joost, Solca, Raffaele, Hoefler, Torsten
Format: Conference Proceeding
Language:English
Published: ACM 17.11.2019
Subjects:
ISSN:2167-4337
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:We propose COSMA: a parallel matrix-matrix multiplication algorithm that is near communication-optimal for all combinations of matrix dimensions, processor counts, and memory sizes. The key idea behind COSMA is to derive an optimal (up to a factor of 0.03% for 10MB of fast memory) sequential schedule and then parallelize it, preserving I/O optimality. To achieve this, we use the red-blue pebble game to precisely model MMM dependencies and derive a constructive and tight sequential and parallel I/O lower bound proofs. Compared to 2D or 3D algorithms, which fix processor decomposition upfront and then map it to the matrix dimensions, it reduces communication volume by up to √3 times. COSMA outper-forms the established ScaLAPACK, CARMA, and CTF algorithms in all scenarios up to 12.8x (2.2x on average), achieving up to 88% of Piz Daint's peak performance. Our work does not require any hand tuning and is maintained as an open source implementation.
ISSN:2167-4337
DOI:10.1145/3295500.3356181