The LLVM DOE Fork is a fork of upstream LLVM (https://github.com/llvm/llvm-project/) that hosts multiple DOE-funded projects. Contact information and other details for each project are described in the wiki.
Currently, Clacc converts the OpenACC auto clause always to seq and never to independent. This behavior conforms to the OpenACC specification but does not achieve desirable performance for some applications.
Tasks:
Investigate other OpenACC implementations (e.g., NVIDIA, GCC) to understand when their implementations convert auto to independent. 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 the OpenACC auto clause.
Currently, Clacc converts the OpenACC
auto
clause always toseq
and never toindependent
. This behavior conforms to the OpenACC specification but does not achieve desirable performance for some applications.Tasks:
auto
toindependent
. The main goal is to determine what Clacc's analyses require to be competitive.loop
construct, for current or planned features that would support this capability, and identify anyone in the OpenMP community already pursuing them.auto
clause.