Communication lower bounds for distributed-memory matrix multiplication

  • Authors:
  • Dror Irony;Sivan Toledo;Alexander Tiskin

  • Affiliations:
  • School of Computer Science, Tel-Aviv University, Tel-Aviv 69978, Israel;School of Computer Science, Tel-Aviv University, Tel-Aviv 69978, Israel;Department of Computer Science, University of Warwick, Coventry CV4 7AL, United Kingdom

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2004

Quantified Score

Hi-index 0.02

Visualization

Abstract

We present lower bounds on the amount of communication that matrix multiplication algorithms must perform on a distributed-memory parallel computer. We denote the number of processors by P and the dimension of square matrices by n. We show that the most widely used class of algorithms, the so-called two-dimensional (2D) algorithms, are optimal, in the sense that in any algorithm that only uses O(n^2/P) words of memory per processor, at least one processor must send or receive @W(n^2/P^1^/^2) words. We also show that algorithms from another class, the so-called three-dimensional (3D) algorithms, are also optimal. These algorithms use replication to reduce communication. We show that in any algorithm that uses O(n^2/P^2^/^3) words of memory per processor, at least one processor must send or receive @W(n^2/P^2^/^3) words. Furthermore, we show a continuous tradeoff between the size of local memories and the amount of communication that must be performed. The 2D and 3D bounds are essentially instantiations of this tradeoff. We also show that if the input is distributed across the local memories of multiple nodes without replication, then @W(n^2) words must cross any bisection cut of the machine. All our bounds apply only to conventional @Q(n^3) algorithms. They do not apply to Strassen's algorithm or other o(n^3) algorithms.