-
Notifications
You must be signed in to change notification settings - Fork 18
Task Graph
A task graph represents a parallel program's execution. It is primarily distinguished from a standard trace by including dependency information. Rather than view a program as independent streams of instructions, the task graph presents discrete tasks that have dependencies to take in to account before it can be executed.
A task graph is a set of tasks and directed edges. Each task has a type: create, join, sync, barrier, and work. Each task additionally contains a set (possibly empty) of actions - basic blocks and memory accesses.
File Format (task graph version 4315+):
Version Number (4 bytes)
Task Graph Index position (8 bytes)
ROI Start ID (8 bytes)
ROI End ID (8 bytes)
Task Graph Info structure
Tasks 1 - N
Task Graph Index
N (4 bytes)
TaskId (8 bytes), Offset (8 bytes)