arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2202.00717cs.DC
收藏

Pipeflow:一个基于现代C++的高效任务并行流水线编程框架

Pipeflow: An Efficient Task-Parallel Pipeline Programming Framework using Modern C++

Cheng-Hsiang Chiu, Tsung-Wei Huang, Zizheng Guo, Yibo Lin

摘要:

流水线是一种基本的并行编程模式。主流流水线编程框架依靠数据抽象来执行流水线调度。这种设计对于以数据为中心的流水线应用是方便的,但对于只利用流水线中任务并行性的算法是低效的。因此,我们引入了一个新的任务并行流水线编程框架称为Pipeflow。Pipeflow并没有设计另一个数据抽象,而是专注于流水线调度本身,使任务并行流水线算法的实现比现有的框架更有效。我们已经在微基准测试和实际应用中评估了Pipeflow。例如,Pipeflow在采用流水线并行来加快运行时间的VLSI布局和时序分析工作负载中,分别比oneTBB快24%和10%。

英文摘要:

Pipeline is a fundamental parallel programming pattern. Mainstream pipeline programming frameworks count on data abstractions to perform pipeline scheduling. This design is convenient for data-centric pipeline applications but inefficient for algorithms that only exploit task parallelism in pipeline. As a result, we introduce a new task-parallel pipeline programming framework called Pipeflow. Pipeflow does not design yet another data abstraction but focuses on the pipeline scheduling itself, enabling more efficient implementation of task-parallel pipeline algorithms than existing frameworks. We have evaluated Pipeflow on both micro-benchmarks and real-world applications. As an example, Pipeflow outperforms oneTBB 24% and 10% faster in a VLSI placement and a timing analysis workloads that adopt pipeline parallelism to speed up runtimes, respectively.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑