Open
1 of 1 issue completedOpen
1 of 1 issue completed
Description
OpenMP 6.0 introduces the taskgraph construct, allowing tasks to be recorded and replayed within a specified region. Currently, OpenMP already supports a record/replay mechanism through runtime methods.
For example:
#pragma omp taskgraph graph_id(1) graph_reset(false)
{
for (int i = 0; i < NUM_TASKS; i++) {
#pragma omp task
fn();
}
}
To fully support the taskgraph construct in Clang, the OpenMP runtime library must be extended to handle the new clauses defined in the 6.0 specification—namely graph_id
, graph_reset
, if
, and nogroup
—and to adopt the saved
modifier for the firstprivate
clause. Additionally, replayable
clause should be added to enable complete Taskgraph functionality in accordance with OpenMP 6.0.