Tasking Compiler //free\\ Now

TAPIR (The Task Parallel Intermediate Representation) is a landmark academic project integrated into LLVM. It adds new terminator instructions ( tapir_spawn , tapir_sync ) and a "detach-reattach" CFG. The compiler then performs task-parallel optimizations like:

The single biggest cost in parallel computing is —between caches, between cores, between CPU and GPU, across a network. A tasking compiler performs data affinity analysis : it tracks which tasks access which data and attempts to schedule tasks on the core/GPU where the data already resides. tasking compiler