optimization_config
OptimizationConfig
dataclass
Configuration for running the full-program optimization
gpu = field(default_factory=GPU)
class-attribute
instance-attribute
GPU-only optimization options
hint = OptimizationHint.PARALLEL
class-attribute
instance-attribute
Hint for all optimizations passes
stree = field(default_factory=Tree)
class-attribute
instance-attribute
Schedule Tree optimization options
GPU
dataclass
Optimization dedicated for GPU
common_gpu_xforms = False
class-attribute
instance-attribute
DaCe common xforms bundled in apply_gpu_transformations
Tree
dataclass
Optimization using the Schedule Tree IR
enabled = os.getenv('NDSL_STREE_OPT', 'False').lower() == 'true'
class-attribute
instance-attribute
Enable Schedule Tree transformations.
inline_K_loops_size_one = False
class-attribute
instance-attribute
"Remove serial for loops of size one in the K-axis.
kernelize = OptimizationOption.AUTO
class-attribute
instance-attribute
Enable maximizing 3-axis kernelization by duplicating maps (GPU only).
merger = field(default_factory=Merger)
class-attribute
instance-attribute
Configuration object for cartesian axis merging.
refine_transients = True
class-attribute
instance-attribute
Reduce dimensionality of transient arrays based on their usage.
Merger
dataclass
enabled = True
class-attribute
instance-attribute
Enable cartesian axis merging.
order = 'default'
class-attribute
instance-attribute
Allows to manually override the merging order (e.g. KJI will merge K, then J, then I).
The default follows loop order of the backend given to CartesianMerge.
overcompute = os.getenv('NDSL_STREE_OVERCOMPUTE_MERGE', 'True').lower() == 'true'
class-attribute
instance-attribute
When merging allow maps of different sizes to merge by inserting an if guard.
OptimizationHint
Bases: Enum
Hint for the configuration system that will drive the OptimizationOption.AUTO value
PARALLEL = enum.auto()
class-attribute
instance-attribute
Suitable for GPU or many-thread (parallelization) CPU strategy.
SERIAL = enum.auto()
class-attribute
instance-attribute
Suitable for many-cores (serial) CPU strategy.
OptimizationOption
Bases: Enum
Options for configuration element. AUTO will rely on the best guess default
APPLY = enum.auto()
class-attribute
instance-attribute
Pass will always be applied
AUTO = enum.auto()
class-attribute
instance-attribute
Best guess relying on the OptimizationHint
DO_NOT_APPLY = enum.auto()
class-attribute
instance-attribute
Pass will never be applied