arXiv · 2202.00717
Pipeflow: An Efficient Task-Parallel Pipeline Programming Framework using Modern C++
Abstract
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.
Explore related subjects
Keep this discovery
Cheng-Hsiang Chiu, Tsung-Wei Huang, Zizheng Guo, Yibo Lin. 2022-02-01. Pipeflow: An Efficient Task-Parallel Pipeline Programming Framework using Modern C++. https://arxiv.org/abs/2202.00717
Cite the original work for its findings. Save a collection to share your selection of sources.