Programming models
Loki directives
Loki uses an internal set of directives as an intermediate annotation for data movement
and parallelisation concepts. Transformations, such as the SCCAnnotateTransformation
,
insert these directives, or they can be written into the original Fortran source code.
The PragmaModelTransformation
should be used, as one of the final steps in a processing
pipeline, to translate these directives to the corresponding instructions for the chosen
programming model.
Currently, Loki supports OpenACC and some OpenMP. The following table gives a summary of how Loki directives are translated to the corresponding pragmas in either programming model:
Loki |
OpenACC |
OMP-GPU |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|