Taskflow: A General-Purpose Parallel and Heterogeneous Task Programming System - Huang, Tsung-Wei; Lin, Dian-Lun; Lin, Yibo; Lin, Chun-Xun (IEEE transactions on computer-aided design of integrated circuits and systems, 2022)
Taskflow tackles the long-standing question: How can we make it easier for developers to program parallel and heterogeneous computer-aided design (CAD) applications with high performance and simultaneous high productivity? Taskflow introduces a new powerful task graph programming model to assist developers in the implementation of parallel and heterogeneous algorithms with complex control flow. We develop an efficient system runtime to solve many of the new scheduling challenges arising out of our models and optimize the performance across latency, energy efficiency, and throughput. Taskflow has demonstrated promising performance on both micro-benchmarks and real-world applications. As an example, Taskflow solved a large-scale circuit placement problem up to 17% faster, with 1.3× fewer memory, 2.1× less power consumption, and 2.9× higher throughput than two industrial-strength systems, oneTBB and StarPU, on a machine of 40 CPUs and 4 GPUs.