@@ -35,6 +35,92 @@ block = ['ec_parkind', 'parkind_wave', 'yowdrvtype']
3535 intrinsic_names = ['write(iu06']
3636 kernel_only = true
3737
38+ # Inline transformation
39+ [transformations.InlineTransformation]
40+ module = "loki.transformations"
41+ [transformations.InlineTransformation.options]
42+ allowed_aliases = "IJ"
43+ inline_elementals = false
44+
45+ # Split-read-write transformation
46+ [transformations.SplitReadWriteTransformation]
47+ module = "loki.transformations"
48+ [transformations.SplitReadWriteTransformation.options]
49+ dimensions = "%dimensions.horizontal%"
50+
51+ # GlobalVariableAnalysis
52+ [transformations.GlobalVariableAnalysis]
53+ module = "loki.transformations"
54+ [transformations.GlobalVariableAnalysis.options]
55+
56+ # GlobalVarOffloadTransformation
57+ [transformations.GlobalVarOffloadTransformation]
58+ module = "loki.transformations"
59+ [transformations.GlobalVarOffloadTransformation.options]
60+
61+ # SCC transformations
62+ [transformations.SCCVectorPipeline]
63+ module = "loki.transformations.single_column"
64+ [transformations.SCCVectorPipeline.options]
65+ horizontal = "%dimensions.horizontal%"
66+ directive = "openacc"
67+ trim_vector_sections = true
68+
69+ [transformations.SCCStackPipeline]
70+ module = "loki.transformations.single_column"
71+ [transformations.SCCStackPipeline.options]
72+ horizontal = "%dimensions.horizontal%"
73+ directive = "openacc"
74+ trim_vector_sections = true
75+ block_dim = "%dimensions.block_dim%"
76+ check_bounds = false
77+
78+ [transformations.SCCHoistPipeline]
79+ module = "loki.transformations.single_column"
80+ [transformations.SCCHoistPipeline.options]
81+ horizontal = "%dimensions.horizontal%"
82+ directive = "openacc"
83+ trim_vector_sections = true
84+ block_dim = "%dimensions.block_dim%"
85+
86+ # ModuleWrap transformation
87+ [transformations.ModuleWrapTransformation]
88+ module = "loki.transformations"
89+ [transformations.ModuleWrapTransformation.options]
90+ module_suffix = "_MOD"
91+
92+ # Dependency transformation
93+ [transformations.DependencyTransformation]
94+ module = "loki.transformations"
95+ [transformations.DependencyTransformation.options]
96+ module_suffix = "_MOD"
97+ suffix = "_LOKI"
98+
99+ # FileWrite transformation
100+ [transformations.FileWriteTransformation]
101+ module = "loki.transformations"
102+ [transformations.FileWriteTransformation.options]
103+ include_module_var_imports = true
104+
105+ # loki pipelines
106+ [pipelines.scc]
107+ transformations = [
108+ 'RemoveCodeTransformation', 'SplitReadWriteTransformation', 'InlineTransformation', 'GlobalVariableAnalysis',
109+ 'GlobalVarOffloadTransformation', 'SCCVectorPipeline', 'ModuleWrapTransformation', 'DependencyTransformation'
110+ ]
111+
112+ [pipelines.scc-stack]
113+ transformations = [
114+ 'RemoveCodeTransformation', 'SplitReadWriteTransformation', 'InlineTransformation', 'GlobalVariableAnalysis',
115+ 'GlobalVarOffloadTransformation', 'SCCStackPipeline', 'ModuleWrapTransformation', 'DependencyTransformation'
116+ ]
117+
118+ [pipelines.scc-hoist]
119+ transformations = [
120+ 'RemoveCodeTransformation', 'SplitReadWriteTransformation', 'InlineTransformation', 'GlobalVariableAnalysis',
121+ 'GlobalVarOffloadTransformation', 'SCCHoistPipeline', 'ModuleWrapTransformation', 'DependencyTransformation'
122+ ]
123+
38124# Define entry point for call-tree transformation
39125[routines.wamintgr_loki_gpu]
40126 role = "driver"
0 commit comments