中文

使用三维张量与硬件加速重新实现 Floyd-Warshall 算法

分布式、并行与集群计算 2023-10-09 v1

摘要

Floyd-Warshall(FW)算法是一种古老但极为重要的算法,用于求解全点对简单路径(APSP)问题。尽管该算法可用于 NetworkX 等开源图优化库,但它们未利用图形处理单元(GPU)等现代并行处理硬件,而此类硬件可将计算时间缩减至其迭代或递归实现的几分之一。本文给出了一种使用 PyTorch 等开源 GPU 库重新实现 Floyd-Warshall 算法的方法。同时描述了 R-Kleene 的进一步实现,这是一种较新的算法,用于在以分治、递归但高度并行化架构求解 APSP 问题。此外,还贡献了一个随机图生成器,可生成多种不同规模的图,其密度与连通性由一些启发式方法控制。我们在这些启发式生成的图上评估了 GPU 加速的 FW 算法与 R-Kleene 的运行时间,并与广泛使用的 NetworkX 实现进行比较。算法的 GPU 实现代码、随机图生成器及 Blender 动画文件见 https://github.com/tanjary21/APSP_GPU/。

关键词

引用

@article{arxiv.2310.03983,
  title  = {The Floyd-Warshall Algorithm Re-implemented Using 3D-Tensors and Hardware Acceleration},
  author = {Taher Anjary},
  journal= {arXiv preprint arXiv:2310.03983},
  year   = {2023}
}