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 的分解提供了新型算法。 我们首先建立了一个理论框架, 用于计算线性代数内核的平行 I/ O 下限, 然后利用它的洞察力得出Cholesky 和 LU 的进度表, 两者在M 是本地记忆大小的每个处理器中传递 NQ3/ (P*sqrt(M)) 元素。 实验结果符合我们的理论分析 : 我们的执行远远低于 Intel MKL、 SLATE 和 Astytop- 通信最佳 CANDMC 和 CAPITAL 图书馆。 我们的代码在几乎所有测试的假想中都超越了这些状态的图书馆, 其矩阵大小从 2, 048 到 262, 144 到 Piz Daint 高级图书馆的512 节节点, 和 我们的高级图书馆的代码将逐渐缩小为开放时间。