共享内存系统上的左视选择反演算法及任务并行化
A Left-Looking Selected Inversion Algorithm and Task Parallelism on Shared Memory Systems
摘要:
给定稀疏矩阵$A$,所选反演算法是用于计算$A^{-1}$的某些所选元素的有效方法。这些选择的元素对应于$A$的LU因子的所有或一些非零元素。在许多方面,在所选择的求逆算法中执行的矩阵更新的类型类似于在LU因式分解中执行的矩阵更新的类型,尽管操作的顺序不同。在LU因式分解的上下文中,已知的是,左看和右看算法表现出不同的存储器访问和数据通信模式,并且因此在共享存储器和分布式存储器并行机上表现出不同的行为。对应于右视和左视LU分解,所选择的反演算法可以被组织为左视和右视算法。该算法的并行右视版本已在[1]中开发。在此版本的所选反演算法中执行的操作序列类似于在左视LU分解算法中执行的操作序列。本文描述了所选逆算法的左视变体,并基于任务并行方法,给出了该算法在共享内存机上的有效实现。我们证明,与OpenMP 4.0提供的任务调度功能,左看选择的反演算法可以很好地扩展在英特尔Haswell多核架构和英特尔骑士角(KNC)众核架构。与右视选择反演算法相比,左视公式便于沿着消除树的不同分支的工作的流水线,并且可以是异构架构上的大规模并行选择反演算法的未来发展的有希望的候选者。
英文摘要:
Given a sparse matrix $A$, the selected inversion algorithm is an efficient method for computing certain selected elements of $A^{-1}$. These selected elements correspond to all or some nonzero elements of the LU factors of $A$. In many ways, the type of matrix updates performed in the selected inversion algorithm is similar to that performed in the LU factorization, although the sequence of operation is different. In the context of LU factorization, it is known that the left-looking and right-looking algorithms exhibit different memory access and data communication patterns, and hence different behavior on shared memory and distributed memory parallel machines. Corresponding to right-looking and left-looking LU factorization, selected inversion algorithm can be organized as a left-looking and a right-looking algorithm. The parallel right-looking version of the algorithm has been developed in [1]. The sequence of operations performed in this version of the selected inversion algorithm is similar to those performed in a left-looking LU factorization algorithm. In this paper, we describe the left-looking variant of the selected inversion algorithm, and based on task parallel method, present an efficient implementation of the algorithm for shared memory machines. We demonstrate that with the task scheduling features provided by OpenMP 4.0, the left-looking selected inversion algorithm can scale well both on the Intel Haswell multicore architecture and on the Intel Knights Corner (KNC) manycore architecture. Compared to the right-looking selected inversion algorithm, the left-looking formulation facilitates pipelining of work along different branches of the elimination tree, and can be a promising candidate for future development of massively parallel selected inversion algorithms on heterogeneous architecture.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。