一个左侧选取倒置算法和共享内存系统上的任务并行性
摘要:在给定一个稀疏矩阵A的情况下,选择逆算法是一种有效计算A的某些选定元素的方法。这些选定元素对应于A的LU因子的所有非零元素或部分非零元素。在许多方面,选择逆算法中进行的矩阵更新类型与LU分解中所进行的类似,尽管操作的顺序不同。在LU分解的背景下,已知左向和右向算法在共享内存和分布式内存并行机上展示出不同的内存访问和数据通信模式,因此表现不同。对应于右向和左向 LU 分解,选择逆算法可以组织为一个左向算法和一个右向算法。该算法的并行右向版本已在[1]中开发。该版本的选择逆算法中进行的操作序列与左向 LU 分解算法中进行的操作类似。在本文中,我们描述了选择逆算法的左向变体,并基于任务并行方法,为共享内存机器提供了一种高效实现该算法的方法。我们证明,在OpenMP 4.0提供的任务调度功能的支持下,左向选择逆算法在Intel Haswell多核架构和Intel Knights Corner (KNC)众核架构上都能很好地扩展。与右向选择逆算法相比,左向选择逆算法的表达方式有助于在消除树的不同分支上进行工作的流水线处理,并且可能是未来在异构架构上开发大规模并行选择逆算法的有希望的候选方法。
作者:Mathias Jacquelin, Lin Lin, Weile Jia, Yonghua Zhao, Chao Yang
论文ID:1604.02528
分类:Mathematical Software
分类简称:cs.MS
提交时间:2016-04-12