COSTA:带进程重标记的通信最优洗牌与转置算法
分布式、并行与集群计算
2021-06-15 v1 数据结构与算法
摘要
面向线性代数的通信避免算法日益流行,尤其针对分布式内存架构。实践中,这些算法假定数据已按特定方式分布,因而数据重洗牌成为使用它们的关键。出于性能原因,必须避免直白的全对全交换。此处我们表明,进程重标记(即在最终布局中置换进程)可用于获得数据重洗牌的通信最优性,且可通过求解线性分配问题(最大权二部完美匹配)高效求得。基于此,我们开发了通信最优洗牌与转置算法(COSTA):该高度优化的算法在分布式系统上实现 ,其中 为可能具有不同(分布式)布局的矩阵, 为标量。COSTA 即使在异构网络拓扑(节点间延迟与带宽不同)下也能利用通信最优进程重标记。该实现不仅多次优于最佳的可用 ScaLAPACK 重分布与转置例程,还能处理更一般的矩阵布局,特别地,其不限于块循环布局。最后,我们利用 COSTA 将通信最优矩阵乘法算法集成到 CP2K 量子化学模拟软件包中。由此表明,除带来显著重分布加速外,COSTA 还可通过促进具有广泛数据布局的算法间互操作性,在应用中释放近期线性代数算法的全部潜力。
引用
@article{arxiv.2106.06601,
title = {COSTA: Communication-Optimal Shuffle and Transpose Algorithm with Process Relabeling},
author = {Marko Kabić and Simon Pintarelli and Anton Kozhevnikov and Joost VandeVondele},
journal= {arXiv preprint arXiv:2106.06601},
year = {2021}
}
备注
To be published in the proceedings of the 36th International Conference on High Performance Computing, ISC High Performance 2021. The implementation of the algorithm is available at: https://github.com/eth-cscs/COSTA