CPU-GPU异构平台上的方向优化广度优先搜索性能提升

0 下载量 154 浏览量 更新于2024-08-26 收藏 351KB PDF 举报
本文主要探讨了"Direction-Optimizing Breadth-First Search (BFS)"在CPU-GPU异构平台上的优化策略。随着图形处理单元(GPU)的强大并行计算能力在近年来的崛起,许多图遍历和分析算法都寻求利用这种并行性来提高性能。作者Dan Zou、Yong Dou和Qiang Wang来自国防科技大学的并行与分布式处理国家实验室,他们针对这一问题提出了创新的方法。 传统的BFS算法通常采用自顶向下的顺序执行或单线程处理,然而,这种方法无法充分利用多核CPU和GPU的协同优势。为了克服这一局限,他们的研究提出了一种动态优化策略。在CPU-GPU异构平台上,他们设计了一种混合执行模式,根据每个BFS层级的具体情况,动态选择最有效的实现方式: 1. CPU的顺序执行:当处理较小的顶点前沿时,顺序执行在CPU上保持高效。 2. CPU的并行执行:对于较大规模的顶点前沿,通过多核心并行处理,提升处理速度。 3. CPU和GPU的合作执行:当处理规模适中的数据时,通过将工作负载分解并合作完成,GPU能够执行大量的计算密集任务,同时CPU负责控制和协调。 这种灵活性使得算法能够适应运行时的动态变化,最大化每层BFS的探索效率,避免了在最坏情况下性能下降的问题。通过与已发表的最高性能相比,该优化后的BFS实现显示出了显著的速度提升,平均达到了1.37到1.44倍的加速效果。 这项研究的重要性在于,它不仅提升了广度优先搜索的性能,还展示了如何在异构平台上实现算法的动态优化,这对于处理大规模图数据和实时应用具有实际价值。此外,这种方法也为其他需要频繁访问内存和计算密集任务的算法提供了可借鉴的优化思路。这篇研究论文对CPU-GPU协同编程和图算法的并行化实践具有重要的理论和实践指导意义。