Behrooz Zarebavani, Kazem Cheshmi, Bangtian Liu, M. Strout, M. Dehnavi
{"title":"HDagg: Hybrid Aggregation of Loop-carried Dependence Iterations in Sparse Matrix Computations","authors":"Behrooz Zarebavani, Kazem Cheshmi, Bangtian Liu, M. Strout, M. Dehnavi","doi":"10.1109/ipdps53621.2022.00121","DOIUrl":null,"url":null,"abstract":"This paper proposes a novel aggregation algorithm, called Hybrid DAG Aggregation (HDagg), that groups iterations of sparse matrix computations with loop carried dependence to improve their parallel execution on multicore processors. Prior approaches to optimize sparse matrix computations fail to provide an efficient balance between locality, load balance, and synchronization and are primarily optimized for codes with a tree-structure data dependence. HDagg is optimized for sparse matrix computations that their data dependence graphs (DAGs) do not have a tree structure, such as incomplete matrix factorization algorithms. It uses a hybrid approach to aggregate vertices and wavefronts in the DAG of a sparse computation to create well-balanced parallel workloads with good locality. Across three sparse kernels, triangular solver, incomplete Cholesky, and incomplete LU, HDagg outperforms existing sparse libraries such as MKL with an average speedup of 3.56× and is faster than state-of-the-art inspector-executor approaches that optimize sparse computations, i.e. DAGP, LBC, wavefront parallelism techniques, and SpMP by an average speedup of 3.87×, 3.41×, 1.95×, and 1.43× respectively.","PeriodicalId":321801,"journal":{"name":"2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS)","volume":"82 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ipdps53621.2022.00121","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
This paper proposes a novel aggregation algorithm, called Hybrid DAG Aggregation (HDagg), that groups iterations of sparse matrix computations with loop carried dependence to improve their parallel execution on multicore processors. Prior approaches to optimize sparse matrix computations fail to provide an efficient balance between locality, load balance, and synchronization and are primarily optimized for codes with a tree-structure data dependence. HDagg is optimized for sparse matrix computations that their data dependence graphs (DAGs) do not have a tree structure, such as incomplete matrix factorization algorithms. It uses a hybrid approach to aggregate vertices and wavefronts in the DAG of a sparse computation to create well-balanced parallel workloads with good locality. Across three sparse kernels, triangular solver, incomplete Cholesky, and incomplete LU, HDagg outperforms existing sparse libraries such as MKL with an average speedup of 3.56× and is faster than state-of-the-art inspector-executor approaches that optimize sparse computations, i.e. DAGP, LBC, wavefront parallelism techniques, and SpMP by an average speedup of 3.87×, 3.41×, 1.95×, and 1.43× respectively.
本文提出了一种新的聚合算法——混合DAG聚合算法(Hybrid DAG aggregation, HDagg),该算法将具有循环携带依赖性的稀疏矩阵计算迭代分组,以提高其在多核处理器上的并行执行能力。先前优化稀疏矩阵计算的方法无法在局部性、负载平衡和同步之间提供有效的平衡,并且主要针对具有树结构数据依赖的代码进行优化。HDagg针对稀疏矩阵计算进行了优化,其数据依赖图(dag)不具有树结构,如不完全矩阵分解算法。它使用混合方法在稀疏计算的DAG中聚合顶点和波前,以创建具有良好局域性的均衡并行工作负载。在三个稀疏核、三角形求解器、不完全Cholesky和不完全LU上,HDagg以3.56倍的平均加速优于MKL等现有稀疏库,并比优化稀疏计算的最先进的检测器-执行器方法(即DAGP、LBC、波前并行技术和SpMP)快,平均加速分别为3.87倍、3.41倍、1.95倍和1.43倍。