Dense linear algebra kernels, such as linear solvers or tensor contractions, are fundamental components of many scientific computing applications. In this work, we present a novel method of deriving parallel I/O lower bounds for this broad family of programs. Based on the X-partitioning abstraction, our method explicitly captures inter-statement dependencies. Applying our analysis to LU factorization, we derive COnfLUX, an LU algorithm with the parallel I/O cost of N3/(PM) communicated elements per processor -- only 1/3× over our established lower bound. We evaluate COnfLUX on various problem sizes, demonstrating empirical results that match our theoretical analysis, communicating asymptotically less than Cray ScaLAPACK or SLATE, and outperforming the asymptotically-optimal CANDMC library. Running on 1,024 nodes of Piz Daint, COnfLUX communicates 1.6× less than the second-best implementation and is expected to communicate 2.1× less on a full-scale run on Summit.
@article{arxiv.2010.05975,
title = {On the Parallel I/O Optimality of Linear Algebra Kernels: Near-Optimal LU Factorization},
author = {Grzegorz Kwasniewski and Tal Ben-Nun and Alexandros Nikolaos Ziogas and Timo Schneider and Maciej Besta and Torsten Hoefler},
journal= {arXiv preprint arXiv:2010.05975},
year = {2020}
}
Comments
13 pages without references, 12 figures, submitted to PPoPP 2021: 26th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming