Taskflow -- a general-purpose task-parallel programming system
TW Huang, University of Wisconsin
Abstract
The Taskflow project addresses the long-standing challenge: "How can we make it easier for C++ developers to write complex parallel algorithms?" Taskflow introduces a simple yet powerful task graph programming model that enables efficient implementations of parallel decomposition strategies. Our model supports both static and dynamic task graph construction, allowing developers to express a wide range of computational patterns with ease. Taskflow also features an efficient work-stealing scheduler that dynamically balances workloads while effectively utilizing available workers. We have applied Taskflow to accelerate performance-critical applications such as computer-aided design, machine learning, and quantum computing. Example users include AMD Xilinx, Nvidia GameWorks, Tesseract Robotics, and ModuleWorks. Taskflow is available at: https://taskflow.github.io/.
Bio
Dr. Huang is an Assistant Professor in the ECE Department at the University of Wisconsin at Madison. He earned his PhD in ECE from University of Illinois at Urbana-Champaign (2017) and BS/MS in CS from Taiwan’s NCKU (2011). His research focuses on software systems for performance-critical applications, including CAD, machine learning, and quantum computing. Dr. Huang has received several awards, including the ACM SIGDA Outstanding PhD Dissertation Award, NSF CAREER Award, Humboldt Research Fellowship, ACM SIGDA Outstanding New Faculty Award, the ICCAD 10-Year Most Influential Paper Award, and DAC Under 40 Innovator Award.