Home Knowledge Base Task Parallelism

Task Parallelism is a parallel programming model where computation is decomposed into discrete tasks with dependency relationships — a directed acyclic graph (DAG) of work units is executed by a runtime scheduler that assigns tasks to threads as dependencies are satisfied.

Task vs. Data Parallelism

Task DAG (Directed Acyclic Graph)

Work Stealing Scheduler

TBB (Threading Building Blocks) Example

tbb::task_group tg;
tg.run([&]{ task_A(); });  // Launch task A
tg.run([&]{ task_B(); });  // Launch task B in parallel
tg.wait();                  // Wait for both
task_C();                   // C runs after A and B

Frameworks

Task parallelism is the key to exploiting irregular parallelism in real-world workloads — compilers, data analytics, simulation pipelines, and AI inference all benefit from task DAG scheduling over static partitioning.

task parallelismtask graphdag executionwork stealing schedulertask queue

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.