20721

Cpp-Taskflow: A General-purpose Parallel and Heterogeneous Task Programming System at Scale

Tsung-Wei Huang, Dian-Lun Lin, Yibo Lin, Chun-Xun Lin
Department of Electrical and Computer Engineering, University of Utah
arXiv:2004.10908 [cs.DC], (23 Apr 2020)

@misc{huang2020cpptaskflow,

   title={Cpp-Taskflow: A General-purpose Parallel and Heterogeneous Task Programming System at Scale},

   author={Tsung-Wei Huang and Dian-Lun Lin and Yibo Lin and Chun-Xun Lin},

   year={2020},

   eprint={2004.10908},

   archivePrefix={arXiv},

   primaryClass={cs.DC}

}

The Cpp-Taskflow project addresses the long-standing question: How can we make it easier for developers to write parallel and heterogeneous programs with high performance and simultaneous high productivity? Cpp-Taskflow develops a simple and powerful task programming model to enable efficient implementations of heterogeneous decomposition strategies. Our programming model empowers users with both static and dynamic task graph constructions to incorporate a broad range of computational patterns including hybrid CPU-GPU computing, dynamic control flow, and irregularity. We develop an efficient heterogeneous work-stealing strategy that adapts worker threads to available task parallelism at any time during the graph execution. We have demonstrated promising performance of Cpp-Taskflow on both micro-benchmark and real-world applications. As an example, we solved a large machine learning workload by up to 1.5x faster, 1.6x less memory, and 1.7x fewer lines of code than two industrial-strength systems, oneTBB and StarPU, on a machine of 40 CPUs and 4 GPUs.
Rating: 5.0/5. From 1 vote.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: