Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Taskflow - A Heterogeneous Task Graph Programming System with Control Flow

CppNow via YouTube

Overview

Explore a comprehensive conference talk on Taskflow, a heterogeneous task graph programming system with control flow. Learn about modern C++ techniques for efficient parallel and heterogeneous computing, including CPU-GPU dependent tasks and conditional tasking interfaces. Discover how Taskflow addresses the challenge of balancing programmer productivity with performance scalability in complex computing applications. Examine real-world use cases, implementation strategies, and the work-stealing algorithm for dynamic resource balancing. Gain insights into the future of C++ programming for heterogeneous systems and how Taskflow can simplify parallel computing for developers.

Syllabus

Intro
Your Computer is Already Parallel
Drop-in Integration
Motivation: Parallelizing VLSI CAD Tools
Two Big Problems of Existing Tools
Example: An Iterative Optimizer
Need a New C++ Parallel Programming System
"Hello World" in Taskflow (Revisited)
"Hello World" in OpenMPO
Dynamic Tasking (Subflow)
Subflow can be Nested and Recurive
#3: Heterogeneous Tasking (cudaFlow)
Heterogeneous Tasking (cont'd)
Three Key Motivations
Conditional Tasking (Simple if-else)
Conditional Tasking (While/For Loop)
Conditional Tasking (Non-deterministic Loops)
Conditional Tasking (Switch)
Existing Frameworks on Control Flow?
Composable Tasking
Everything is Unified in Taskflow
Example: k-means Clustering
Submit Taskflow to Executor
Executor Scheduling Algorithm
Worker-level Scheduling
Application 1: VLSI Placement (cont'd)
Application 2: Machine Learning

Taught by

CppNow

Reviews

Start your review of Taskflow - A Heterogeneous Task Graph Programming System with Control Flow

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.