Skip to content

[Clang][OpenMP] Implement Taskgraph support from the OpenMP 6.0 specification #130926

Open
1 of 1 issue completed
@jpinot

Description

@jpinot

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.

Sub-issues

Metadata

Metadata

Assignees

Labels

clang:openmpOpenMP related changes to Clangopenmp:libompOpenMP host runtime

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions