Minimizing Communication in Linear Algebra
arXiv:0905.2485 · doi:10.1137/090769156
Abstract
In 1981 Hong and Kung proved a lower bound on the amount of communication needed to perform dense, matrix-multiplication using the conventional algorithm, where the input matrices were too large to fit in the small, fast memory. In 2004 Irony, Toledo and Tiskin gave a new proof of this result and extended it to the parallel case. In both cases the lower bound may be expressed as (#arithmetic operations / ), where M is the size of the fast memory (or local memory in the parallel case). Here we generalize these results to a much wider variety of algorithms, including LU factorization, Cholesky factorization, factorization, QR factorization, algorithms for eigenvalues and singular values, i.e., essentially all direct methods of linear algebra. The proof works for dense or sparse matrices, and for sequential or parallel algorithms. In addition to lower bounds on the amount of data moved (bandwidth) we get lower bounds on the number of messages required to move it (latency). We illustrate how to extend our lower bound technique to compositions of linear algebra operations (like computing powers of a matrix), to decide whether it is enough to call a sequence of simpler optimal algorithms (like matrix multiplication) to minimize communication, or if we can do better. We give examples of both. We also show how to extend our lower bounds to certain graph theoretic problems. We point out recently designed algorithms for dense LU, Cholesky, QR, eigenvalue and the SVD problems that attain these lower bounds; implementations of LU and QR show large speedups over conventional linear algebra algorithms in standard libraries like LAPACK and ScaLAPACK. Many open problems remain.
27 pages, 2 tables
References in corpus (1)
Cited by in corpus (43)
- Parallel Sparse Matrix-Matrix Multiplication and Indexing: Implementation and Experiments
- Randomized QR with Column Pivoting
- numpywren: serverless linear algebra
- Mesh-TensorFlow: Deep Learning for Supercomputers
- Asynchronous stochastic convex optimization
- Graph Expansion and Communication Costs of Fast Matrix Multiplication
- L-Sweeps: A scalable, parallel preconditioner for the high-frequency Helmholtz equation
- Automated Derivation of Parametric Data Movement Lower Bounds for Affine Programs
- Scalability in Computing and Robotics
- On Characterizing the Data Access Complexity of Programs
- Graph Expansion Analysis for Communication Costs of Fast Rectangular Matrix Multiplication
- Enabling Factor Analysis on Thousand-Subject Neuroimaging Datasets
- Parallelizing Gaussian Process Calculations in R
- Minimizing Communication for Eigenproblems and the Singular Value Decomposition
- Communication-Optimal Convolutional Neural Nets
- A Parallel Algorithm for Calculation of Large Determinants with High Accuracy for GPUs and MPI clusters
- Strong Scaling of Matrix Multiplication Algorithms and Memory-Independent Communication Lower Bounds
- The swept rule for breaking the latency barrier in time advancing PDEs
- A parallel directional Fast Multipole Method
- A parallel structured divide-and-conquer algorithm for symmetric tridiagonal eigenvalue problems
- Memcomputing Numerical Inversion with Self-Organizing Logic Gates
- Implementing Randomized Matrix Algorithms in Parallel and Distributed Environments
- Distributed-memory Hierarchical Interpolative Factorization
- Communication Lower Bounds for Distributed-Memory Computations
- The swept rule for breaking the latency barrier in time advancing two-dimensional PDEs
- Improved Parallel Cache-Oblivious Algorithms for Dynamic Programming and Linear Algebra
- A parallel butterfly algorithm
- Fast & Accurate Randomized Algorithms for Linear Systems and Eigenvalue Problems
- DistStat.jl: Towards Unified Programming for High-Performance Statistical Computing Environments in Julia
- Generalized Pseudospectral Shattering and Inverse-Free Matrix Pencil Diagonalization
- Tight Bounds for Low Dimensional Star Stencils in the Parallel External Memory Model
- Multilevel communication optimal LU and QR factorizations for hierarchical platforms
- Communication-Optimal Parallel Standard and Karatsuba Integer Multiplication in the Distributed Memory Model
- I/O Lower Bounds for Auto-tuning of Convolutions in CNNs
- High-Performance Algorithms for Computing the Sign Function of Triangular Matrices
- Improving the Space-Time Efficiency of Processor-Oblivious Matrix Multiplication Algorithms
- Balanced Partitioning of Several Cache-Oblivious Algorithms
- Fast and Inverse-Free Algorithms for Deflating Subspaces
- Communication lower bounds for nested bilinear algorithms via rank expansion of Kronecker products
- The Two-Dimensional Swept Rule Applied on Heterogeneous Architectures
- A New High Performance and Scalable SVD algorithm on Distributed Memory Systems
- Integrated Model, Batch and Domain Parallelism in Training Neural Networks
- Extending the Nested Parallel Model to the Nested Dataflow Model with Provably Efficient Schedulers