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(n2 / P) words of memory per processor, at least one processor must send or receive Ω(n2 / 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(n2 / P2/3) words of memory per processor, at least one processor must send or receive Ω(n2 / P2/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 Ω(n2) words must cross any bisection cut of the machine. All our bounds apply only to conventional O(n3) algorithms. They do not apply to Strassen's algorithm or other o(n3) algorithms. © 2004 Elsevier Inc. All rights reserved.
Original languageEnglish
Pages (from-to)1017-1026
Number of pages10
JournalJournal of Parallel and Distributed Computing
Volume64
Issue number9
DOIs
StatePublished - 1 Jan 2004

    Research areas

  • Communication, Distributed memory, Lower bounds, Matrix multiplication

ID: 127712276