A modern C++ parallel task programming library

20Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

In this paper we present Cpp-Taskflow, a C++ parallel programming library that enables users to quickly develop parallel applications using the task dependency graph model. Developers formulate their application as a task dependency graph and Cpp-Taskflow will manage the task execution and concurrency control. The task graph model is expressive and composable. It can express both regular and irregular parallel patterns, and developers can quickly compose large programs from small parallel modules. Cpp-Taskflow has an intuitive and unified API set. Users only need to learn the APIs to build and dispatch a task graph and no complex parallel programming concept is required. We have conducted experiments using both micro-benchmarks and real-world applications and Cpp-Taskflow outperforms state-of-the-art parallel programming libraries in both runtime and coding effort. Cpp-Taskflow is open-source and has been used in both industry and academic projects. From our users' feedback, we believe Cpp-Taskflow can benefit the industry and research community greatly through its ease-of-programming and inspire new research directions in multimedia system/software design.

Cite

CITATION STYLE

APA

Lin, C. X., Huang, T. W., Guo, G., & Wong, M. D. F. (2019). A modern C++ parallel task programming library. In MM 2019 - Proceedings of the 27th ACM International Conference on Multimedia (pp. 2284–2287). Association for Computing Machinery, Inc. https://doi.org/10.1145/3343031.3350537

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free