Skip to content

Implement analyses for implicit worker and vector clauses #6

Closed
@jdenny-ornl

Description

@jdenny-ornl

Currently, Clacc never automatically adds worker or vector clauses to OpenACC loop constructs. This behavior conforms to the OpenACC specification but does not achieve desirable performance for some applications. (In contrast, Clacc does automatically add the gang clause as required by OpenACC 3.1.)

Tasks:

  • Investigate other OpenACC implementations (e.g., NVIDIA, GCC) to understand when their implementations automatically insert worker and vector clauses. The main goal is to determine what Clacc's analyses require to be competitive.
  • Investigate OpenMP loop-related directives, especially the loop construct, for current or planned features that would support this capability, and identify anyone in the OpenMP community already pursuing them.
  • As needed based on those investigations, design and prototype OpenMP extensions for which the required analyses can be performed, potentially at the LLVM IR level.
  • Implement translation to OpenMP from OpenACC loop constructs that do not have but can accept a worker or vector clause.

Metadata

Metadata

Assignees

Labels

claccRelated to the Clacc project (OpenACC support for C/C++)clangRelated to the Clang front endenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions