You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the analysis is mainly based on the original OpenMP AST construction in ROSE. There are 7 passes in the following order:
Convert metadirective to if statement with OpenMP variants.
Patch implicit private variables.
Patch implicit firstprivate variables.
Patch implicit map variables.
Patch task variables.
Create UPIR data fields based on map clauses.
Normalize UPIR loops.
Pass 1, 5 and 6 are OpenMP-only. The rest passes could also apply to OpenACC. Currently, the OpenACC AST constructor directly creates UPIR data fields instead of map clause. Therefore, to let OpenACC reuse passes 2-4, we should move passes 5 and 6 right after pass 1. Then all the rest passes are applied to UPIR nodes with according changes.
When the OpenACC AST constructor is fully implemented, we can copy the code handling data mapping to the OpenMP AST constructor and generate UPIR data fields directly. After that, pass 6 could be removed.
The text was updated successfully, but these errors were encountered:
Currently, the analysis is mainly based on the original OpenMP AST construction in ROSE. There are 7 passes in the following order:
metadirective
toif
statement with OpenMP variants.private
variables.firstprivate
variables.map
variables.task
variables.data
fields based onmap
clauses.Pass 1, 5 and 6 are OpenMP-only. The rest passes could also apply to OpenACC. Currently, the OpenACC AST constructor directly creates UPIR
data
fields instead ofmap
clause. Therefore, to let OpenACC reuse passes 2-4, we should move passes 5 and 6 right after pass 1. Then all the rest passes are applied to UPIR nodes with according changes.When the OpenACC AST constructor is fully implemented, we can copy the code handling data mapping to the OpenMP AST constructor and generate UPIR
data
fields directly. After that, pass 6 could be removed.The text was updated successfully, but these errors were encountered: