DISTAL: The Distributed Tensor Algebra Compiler
summary
DISTAL is a compiler that takes tensor index notation plus a tensor distribution notation and a scheduling language with distribute/communicate/rotate to emit distributed C++/CUDA across workstations and supercomputers (evaluated on Lassen up to 256 nodes). It expresses 50 years of matrix‑multiply algorithms (Cannon to COSMA), matches COSMA at ~95% on CPUs and ~85% on GPUs, yields 1.8–3.7x (and a 45x outlier) over Cyclops for higher‑order kernels, and gets 3–4x multi‑GPU bandwidth and up to 10x compute speedups in practice.
AI-written summary · about
chapters (9)
- 0:00Start
- 0:06Tensor Computations Are Ubiquitous
- 0:37Modern Machines Are Distributed and Parallel
- 1:14Distributed Tensor Algebra Libraries Must Support
- 2:01SOTA Trades Off Between Performance and Generality
- 6:05DISTAL's Language is Expressive
- 6:48DISTAL Competes With Hand-Tuned Code
- 7:35DISTAL Generalizes High Performance
- 13:19Conclusion
related talks
14mCompressed and Parallelized Structured Tensor Algebra
32mCompilation of Dynamic Sparse Tensor Algebra
28mFunctional Sparse Tensor Compilation
18m(De/Re)-Composition of Data-Parallel Computations via Multi-Dimensional(…)
20mCompiling Structured Tensor Algebra
17mDistributed Sparse Computing with Legate Sparse
11mQiMeng-Xpiler: Transcompiling Tensor Programs for Deep Learning Systems with a...
18mCompiling Strassen-like Matrix Multiplication Algorithms to Fast CUDA Kernels
