Skip to main content
QUICK REVIEW

[论文解读] Highly Parallel Sparse Matrix-Matrix Multiplication

Aydın Buluç, John R. Gilbert|arXiv (Cornell University)|Jun 11, 2010
Parallel Computing and Optimization Techniques参考文献 56被引用 24
一句话总结

本文提出了一种高度可扩展的并行算法,用于稀疏矩阵-矩阵乘法(SpGEMM),采用二维块分布和一种新型超稀疏内核,以最小化串行瓶颈。作者在数千个处理器上实现了强可扩展性,在大规模测试场景中表现出接近线性的加速比,适用于高性能图计算和多重网格应用。

ABSTRACT

Generalized sparse matrix-matrix multiplication is a key primitive for many high performance graph algorithms as well as some linear solvers such as multigrid. We present the first parallel algorithms that achieve increasing speedups for an unbounded number of processors. Our algorithms are based on two-dimensional block distribution of sparse matrices where serial sections use a novel hypersparse kernel for scalability. We give a state-of-the-art MPI implementation of one of our algorithms. Our experiments show scaling up to thousands of processors on a variety of test scenarios.

研究动机与目标

  • 解决在任意大规模处理器数量下缺乏可扩展的并行稀疏矩阵-矩阵乘法(SpGEMM)算法的问题。
  • 通过引入一种针对极低密度矩阵优化的新型超稀疏内核,减少SpGEMM中的串行计算瓶颈。
  • 设计并实现一种高度并行的SpGEMM算法,确保在数千个处理器上保持负载均衡和通信效率。
  • 通过基于MPI的实现,在真实工作负载中展示强可扩展性行为。
  • 使图算法和多重网格求解器等依赖SpGEMM作为核心原语的应用能够高效执行。

提出的方法

  • 该算法采用稀疏矩阵的二维块分布,以实现负载均衡,并减少在分布式内存系统中的通信开销。
  • 引入一种新型超稀疏内核,以高效处理极低密度的矩阵,从而最小化串行计算时间。
  • 通过2D块循环分布策略将矩阵乘法划分为子任务,以改善数据局部性和负载均衡。
  • 通过混合方法优化通信,结合本地计算与使用MPI进行处理器间数据交换的全局同步。
  • 实现采用基于任务的调度模型,以重叠计算与通信,提升大规模集群上的性能。
  • 该算法支持任意稀疏模式,并根据矩阵特性动态调整数据分布。

实验结果

研究问题

  • RQ1能否通过新型并行算法设计,使SpGEMM在数千个处理器上实现接近线性的加速比?
  • RQ2在处理极低密度输入矩阵时,超稀疏内核如何提升SpGEMM的性能?
  • RQ32D块分布对分布式SpGEMM中的负载均衡和通信效率有何影响?
  • RQ4所提出的算法在不同稀疏矩阵模式和工作负载下,其可扩展性能够保持到何种程度?
  • RQ5基于MPI的实现方案在大规模HPC系统上的实际表现如何?

主要发现

  • 所提出的算法在多种测试场景中实现了高达数千个处理器的强可扩展性,表现出接近线性的加速比。
  • 超稀疏内核显著减少了串行计算时间,尤其在极低密度矩阵上,提升了整体可扩展性。
  • 2D块分布策略有效平衡了工作负载,并最小化了处理器间的通信开销。
  • 该实现表现出在各种稀疏矩阵模式下的稳定性能,包括图计算和多重网格应用中的矩阵。
  • 随着处理器数量的增加,该算法仍保持高效率,表明其具有良好的可扩展性。
  • 基于MPI的实现成功实现了计算与通信的重叠,减少了空闲时间,提升了运行时性能。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。