Skip to content

Commit

Permalink
Loki: Add custom transformation configs for SCC-CUF components
Browse files Browse the repository at this point in the history
As we can now directly configure the setup of individual
transformation objest, we no longer need to back-door "dic2p"
and "derived_types". This requires some more refactoring once
we have better pipelining, but it allows early testing.
  • Loading branch information
mlange05 committed Nov 20, 2023
1 parent 3eeb926 commit cbef64e
Showing 1 changed file with 46 additions and 5 deletions.
51 changes: 46 additions & 5 deletions src/cloudsc_loki/cloudsc_cuf_loki.config
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
derived_types = ['TECLDP']

[dic2p]
NLEV = 137

[default]
# Specifies the behaviour of auto-expanded routines
role = 'kernel'
Expand Down Expand Up @@ -42,3 +37,49 @@ expand = true
size = 'NGPBLKS'
index = 'IBL'
aliases = ['JKGLO']


# Define specific transformation settings
[transformations]

# Loki-SCC-CUF family
# -----------------------------------------
# For these, we need to explicitly define the "transformation_type"
# and provide the names of derived types for extracting device code.
#
# Please note that these are intended for eventual refactoring!
[transformations.cuf-hoist]
classname = 'SccCufTransformation'
module = 'transformations.scc_cuf'
[transformations.cuf-hoist.options]
transformation_type = 'hoist'
horizontal = '%dimensions.horizontal%'
vertical = '%dimensions.vertical%'
block_dim = '%dimensions.block_dim%'
derived_types = ['TECLDP']

[transformations.cuf-dynamic]
classname = 'SccCufTransformation'
module = 'transformations.scc_cuf'
[transformations.cuf-dynamic.options]
transformation_type = 'dynamic'
horizontal = '%dimensions.horizontal%'
vertical = '%dimensions.vertical%'
block_dim = '%dimensions.block_dim%'
derived_types = ['TECLDP']

[transformations.cuf-parametrise]
classname = 'SccCufTransformation'
module = 'transformations.scc_cuf'
[transformations.cuf-parametrise.options]
transformation_type = 'parametrise'
horizontal = '%dimensions.horizontal%'
vertical = '%dimensions.vertical%'
block_dim = '%dimensions.block_dim%'
derived_types = ['TECLDP']

# For SCC-CUF-parametrise we need to define the
# in-source replacement via "dic2p".
[transformations.ParametriseTransformation]
module = 'loki.transform'
options = { dic2p = {NLEV = 137} }

0 comments on commit cbef64e

Please sign in to comment.