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

04/23/2020
by   Tsung-Wei Huang, et al.
0

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.

READ FULL TEXT

page 2

page 13

page 15

research
04/23/2020

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

The Cpp-Taskflow project addresses the long-standing question: How can w...
research
10/17/2019

A Tool for Automatically Suggesting Source-Code Optimizations for Complex GPU Kernels

Future computing systems, from handhelds to supercomputers, will undoubt...
research
01/11/2018

A parallel workload has extreme variability in a production environment

Writing data in parallel is a common operation in some computing environ...
research
03/16/2022

Concurrent CPU-GPU Task Programming using Modern C++

In this paper, we introduce Heteroflow, a new C++ library to help develo...
research
04/18/2017

Benchmarking OpenCL, OpenACC, OpenMP, and CUDA: programming productivity, performance, and energy consumption

Many modern parallel computing systems are heterogeneous at their node l...
research
05/04/2018

Dynamic Control Flow in Large-Scale Machine Learning

Many recent machine learning models rely on fine-grained dynamic control...
research
08/12/2022

Modeling Task Mapping for Data-intensive Applications in Heterogeneous Systems

We introduce a new model for the task mapping problem to aid in the syst...

Please sign up or login with your details

Forgot password? Click here to reset