Phloem: Automatic Acceleration of Irregular Applications with Fine-Grain Pipeline Parallelism.

HPCA(2023)

引用 0|浏览9
暂无评分
摘要
Irregular applications are increasingly common in diverse domains, like graph analytics and sparse linear algebra. Accelerating these applications is challenging because of their unpredictable data reuse and control flow. Recent work has proposed hardware support for fine-grain pipeline parallelism, hiding long latencies by decoupling irregular applications into pipeline stages. However, this prior work requires programmers to manually decouple applications. This tedious and error-prone process limits the usefulness of such architectural support. We address this problem with Phloem, a compiler that automatically discovers and exploits pipeline parallelism in irregular applications. Prior compilers for pipeline parallelism target regular applications, which contain simple pipeline stages with known latencies and fixed buffering needs. Designing Phloem to target irregular applications, where these properties do not hold, requires treating their unique challenges as first-class considerations throughout its design. Phloem breaks down this complex transformation into a series of simple passes that together encode the insights that have been previously applied by hand, producing code that targets architectures with support for queue-based communication. We evaluate Phloem by generating efficient pipelines on a variety of irregular applications. Phloem's contributions improve performance by 1.7x on average, approaching (and sometimes exceeding) the performance of manually optimized pipelineparallel code. These results show that, for the first time, automatic parallelization for irregular applications is not only feasible, but also profitable.
更多
查看译文
关键词
automatically discovers,exploits pipeline parallelism,fine-grain pipeline parallelism,irregular applications,manually decouple applications,manually optimized pipeline-parallel code,Phloem,pipeline parallelism target regular applications
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要