Overview
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