Matrix factorizations are among the most important building blocks of scientific computing. State-of-the-art libraries, however, are not communication-optimal, underutilizing current parallel architectures. We present novel algorithms for Cholesky and LU factorizations that utilize an asymptotically communication-optimal 2.5D decomposition. We first establish a theoretical framework for deriving parallel I/O lower bounds for linear algebra kernels, and then utilize its insights to derive Cholesky and LU schedules, both communicating N^3/(P*sqrt(M)) elements per processor, where M is the local memory size. The empirical results match our theoretical analysis: our implementations communicate significantly less than Intel MKL, SLATE, and the asymptotically communication-optimal CANDMC and CAPITAL libraries. Our code outperforms these state-of-the-art libraries in almost all tested scenarios, with matrix sizes ranging from 2,048 to 262,144 on up to 512 CPU nodes of the Piz Daint supercomputer, decreasing the time-to-solution by up to three times. Our code is ScaLAPACK-compatible and available as an open-source library.
翻译:矩阵分解是科学计算中最重要的构建模块之一。然而,现有最优库并未实现通信最优,未能充分利用当前并行架构。我们提出了新颖的Cholesky和LU分解算法,采用渐近通信最优的2.5D分解。首先建立线性代数核的并行I/O下界理论框架,并利用其洞见推导Cholesky和LU调度,两者每处理器通信N^3/(P*sqrt(M))个元素,其中M为本地内存大小。实证结果与理论分析一致:相较于Intel MKL、SLATE以及渐近通信最优的CANDMC和CAPITAL库,我们的实现通信量显著更少。在Piz Daint超级计算机上多达512个CPU节点、矩阵规模从2,048到262,144的几乎所有测试场景中,我们的代码均优于这些最优库,求解时间最多降低三倍。代码兼容ScaLAPACK并以开源库形式提供。