Communication-Avoiding Parallel Recursive Algorithms for Matrix Multiplication

Abstract

Matrix multiplication is one of the most fundamental algorithmic problems in numerical linear algebra, distributed computing, scientific computing, and high-performance computing. Parallelization of matrix multiplication has been extensively studied (e.g., [21, 12, 24, 2, 51, 39, 36, 23, 45, 61]). It has been addressed using many theoretical approaches, algorithmic tools, and software engineering methods in order to optimize performance and obtain faster and more efficient parallel algorithms and implementations. To design efficient parallel algorithms, it is necessary not only to load balance the computation, but also to minimize the time spent communicating between processors. The interprocessor communication costs are in many cases significantly higher than the computational costs. Moreover, hardware trends predict that more problems will become communication-bound in the future [38, 35]. Even matrix multiplication, which is widely considered to be computation-bound, becomes communication-bound when a given problem is run on sufficiently many processors.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 17, 2013
Accession Number
ADA586696

Entities

People

  • Benjamin Lipshitz

Organizations

  • University of California, Berkeley

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algebra
  • Algorithms
  • Arithmetic
  • Aspect Ratio
  • Computations
  • Computer Science
  • Computers
  • Electrical Engineering
  • Engineering
  • Floating Point Operations
  • Linear Algebra
  • Precision
  • Software Development
  • Sparse Matrix
  • Three Dimensional
  • Topology
  • Two Dimensional

Fields of Study

  • Computer science

Readers

  • Distributed Systems and Data Platform Development
  • Linear Algebra
  • Systems Analysis and Design