[Paper] BLEST:极其高效的 BFS 使用 Tensor Cores

发布: (2025年12月26日 GMT+8 18:30)
7 min read
原文: arXiv

Source: arXiv - 2512.21967v1

概述

本文介绍了 BLEST,一个新颖的框架,利用 NVIDIA 的 Tensor Cores——最初为密集矩阵乘加(MMA)操作设计的硬件——来加速经典的广度优先搜索(BFS)图核。通过重新思考 BFS 流程并仔细将边级工作映射到 Tensor Cores 的位操作能力,作者在大量真实图上实现了相较于最先进的 GPU BFS 库最高 5× 加速

关键贡献

  • 基于位图的拉取式 BFS:使用紧凑的位图前沿重新表述 BFS,实现高效的 warp 级并行。
  • 二值化虚拟切片集合 (BVSS):一种在 warp 级分配工作的负载均衡方案,消除前沿无关(即不必要的)工作。
  • 图重排启发式
    • 压缩导向排序,用于社交网络类图(高局部性,许多小度顶点)。
    • 带宽降低排序,用于异构、非社交图。
  • 在 Tensor Cores 上批量 SpMSpV:实现一种稀疏矩阵‑稀疏向量乘法模式,利用位级 TC 瓷砖,显著减少 MMA 调用次数。
  • 内核融合 + 懒惰顶点更新:将多个 BFS 阶段合并为单个内核,并在必要时才进行顶点更新,降低主机‑GPU 同步和原子竞争。

方法论

  1. 基于位图前沿的拉取式 BFS – 与传统的推送模型(从当前前沿扩展)不同,BLEST 通过扫描所有顶点并检查标记活动前沿节点的位图来“拉取”。这种表示方式天然适合位运算。

  2. Warp 级工作切片(BVSS) – 每个顶点的邻接表被划分为虚拟切片;每个 warp 处理一个包含大致相同数量活动边的切片,从而保证执行平衡,避免线程间分歧。

  3. 图重排

    • 面向压缩:对顶点进行重排,使高阶节点聚集在一起,提升位图的密度,并在 Tensor Cores 上实现更好的压缩。
    • 降低带宽:采用经典的逆 Cuthill‑McKee 风格排序,最小化边切带宽,帮助不规则图的内存合并访问。
  4. 在 Tensor Cores 上批量 SpMSpV – 核心计算被表示为稀疏邻接矩阵切片与前沿位图之间的一系列位运算点积。每个点积映射到一个 TC 瓦片(例如 8×8 位),通过单条 MMA 指令执行,避免生成零填充的输出条目,从而节省周期。

  5. 内核融合与惰性更新 – BFS 的“访问”“更新距离”和“生成前沿”步骤被融合为一次内核调用。顶点距离的更新被推迟到内核结束时才执行,减少原子写操作并提升 L2 缓存的复用率。

结果与发现

基准加速(平均)
BerryBees(GPU BFS 库)3.58×
Gunrock(GPU 图框架)4.64×
GSWITCH(TC‑启用的 BFS)4.9×
  • 在 30 多个真实世界图上(社交网络、网页爬取、道路地图、合成 RMAT),BLEST 始终优于基准,在重排后具有高度度数方差的图上获得最大提升(>6×)。
  • 内存占用 由于位图前沿和面向压缩的排序,下降约 30 %。
  • 内核启动开销 通过融合策略降低约 45 %,同时也减少了每个 BFS 层的主机‑设备同步次数。

实际意义

  • 更快的图分析流水线 – 对于反复运行 BFS 的应用(例如最短路径、社区检测、可达性查询),在配备 Tensor Core 的现代 NVIDIA GPU(如 A100、H100)上可以实现接近线性的运行时间缩减。
  • 性价比高的扩展 – 通过提升每块 GPU 的性能,数据中心运营商能够在更少的节点上处理更大的图,从而降低电力和硬件成本。
  • 可复用的原语 – 批处理 SpMSpV 模式和 BVSS 负载均衡逻辑足够通用,可迁移到其他稀疏线性代数内核(如 PageRank、标签传播),这些内核同样受到不规则内存访问模式的影响。
  • 集成路径 – 由于 BLEST 基于现有的 CUDA API(warp 级原语、基于 __nv_bfloat16 的 MMA),它可以作为可选的 “TC 加速” 后端加入已有的图库(Gunrock、cuGraph),无需进行完整的重写。

限制与未来工作

  • 硬件依赖 – BLEST 的收益依赖于高吞吐量的 Tensor Core;较旧的 GPU 或非 NVIDIA 加速器无法受益。
  • 重新排序开销 – 图的重新排序步骤会增加预处理成本,对于流式或动态变化的图可能并非微不足道。
  • 稀疏矩阵密度要求 – 对于平均度非常低的极度稀疏图,由于位运算 TC 瓦片未被充分利用,仍只能获得适度的加速。
  • 作者提出的未来方向 包括:将该方法扩展到多 GPU 集群,探索能够在演化图上实时更新的自适应重新排序,以及将 SpMSpV‑TC 流水线推广至支持加权边和其他半环。

作者

  • Deniz Elbek
  • Kamer Kaya

论文信息

  • arXiv ID: 2512.21967v1
  • 分类: cs.DC, cs.DS
  • 发表时间: 2025年12月26日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »