Sparse Triangular Solve (SpTRSV) is an important computational kernel used in the solution of sparse linear algebra systems in many scientific and engineering applications. It is diffcult to parallelize SpTRSV in today's architectures. The limited parallelism due to the dependencies between calculations and the irregular nature of the computations require an effective load balancing and synchronization mechanism approach. In this work, we present a novel graph transformation method where the equation representing a row is rewritten to break the dependencies. Using this approach, we propose a dependency graph transformation and code generation framework that increases the parallelism of the parts of a sparse matrix where it is scarce, reducing the need for synchronization points. In addition, the proposed framework generates specialized code for the transformed dependency graph on CPUs using domain-specific optimizations.
翻译:Sprassy Triagorn Solve(SpTRSV)是在许多科学和工程应用中用于解决稀薄线性代数系统的重要计算核心,在当今的建筑中将 SpTRSV 平行是困难的。由于计算和计算不规律性质之间的相互依存性,因此需要一种有效的负载平衡和同步机制方法。在这项工作中,我们提出了一个新颖的图形转换方法,用于重写代表一行的方程式,以打破依赖性。使用这个方法,我们提出了一个依赖性图形转换和代码生成框架,增加稀有的稀有矩阵部分的平行性,减少对同步点的需要。此外,拟议框架还生成了专门代码,用于利用特定领域优化对聚苯乙烯的转变依赖性图形。