Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
f86b2c8
wip
edopao Jan 30, 2026
782f5ff
edit
edopao Feb 2, 2026
abdaa39
Merge branch 'main' into dace_mixed_ir
edopao Apr 8, 2026
2d24ba9
enable warning
edopao Apr 9, 2026
e3ac9de
edit
edopao Apr 13, 2026
d33bd83
fix sdfg lowering
edopao Apr 15, 2026
3d770bd
fix bindings test for unstructured grid
edopao Apr 15, 2026
7a70de9
remove noqa comment
edopao Apr 16, 2026
a367553
add test coverage
edopao Apr 16, 2026
33d60b7
add test marker for sliced out argument
edopao Apr 16, 2026
75e062a
remove initial from np.sum()
edopao Apr 16, 2026
a22ff35
add xfail for embedded backend
edopao May 5, 2026
0d17ef6
edit
edopao May 5, 2026
d270266
Merge branch 'main' into dace_mixed_ir
edopao May 5, 2026
34738e9
Merge branch 'compile_time_domain_enable_warning' into dace_mixed_ir
edopao May 5, 2026
a6d00a9
add backends to test matrix
edopao May 5, 2026
fd463b3
edit
edopao May 6, 2026
3b075ac
edit
edopao May 6, 2026
ae6db4e
Fix stride of local dimension in lowering of if-expressions
edopao May 6, 2026
dbbfd52
edit
edopao May 6, 2026
f3a02ba
Merge branch 'dace_fix_stride_if_region' into dace_mixed_ir
edopao May 6, 2026
2cd7728
edit
edopao May 6, 2026
ecd5780
edit
edopao May 7, 2026
a8fa800
edit
edopao May 7, 2026
80c45e6
edit
edopao May 7, 2026
ba91d43
edit
edopao May 7, 2026
f560107
apply review comments
edopao May 7, 2026
5abea62
Merge branch 'dace_fix_stride_if_region' into dace_mixed_ir
edopao May 7, 2026
eeb9e43
Revert "apply review comments"
edopao May 7, 2026
cb60549
sort connectors on nested sdfg
edopao May 7, 2026
0991307
Merge branch 'dace_fix_stride_if_region' into dace_mixed_ir
edopao May 7, 2026
c928332
fix
edopao May 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 18 additions & 9 deletions src/gt4py/next/iterator/transforms/pass_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#
# Please, refer to the LICENSE file in the root directory.
# SPDX-License-Identifier: BSD-3-Clause
import warnings
from typing import Optional, Protocol

from gt4py.next import common, utils
Expand Down Expand Up @@ -113,15 +114,15 @@ def _process_symbolic_domains_option(

if use_max_domain_range_on_unstructured_shift is None:
use_max_domain_range_on_unstructured_shift = _has_dynamic_domains(ir)
elif use_max_domain_range_on_unstructured_shift:
if not _has_dynamic_domains(ir):
warnings.warn(
"You are using static domains together with "
"'use_max_domain_range_on_unstructured_shift'. This is "
"likely not what you wanted.",
stacklevel=2,
)
if use_max_domain_range_on_unstructured_shift:
# TODO(havogt): ICON4Py uses this codepath as default for now. Once we use the minimal domain range, we should re-enable this warning.
# if not _has_dynamic_domains(ir):
# warnings.warn(
# "You are using static domains together with "
# "'use_max_domain_range_on_unstructured_shift'. This is "
# "likely not what you wanted.",
# stacklevel=2, # noqa: ERA001
# ) # noqa: ERA001, RUF100
assert not symbolic_domain_sizes, "Options are mutually exclusive."
symbolic_domain_sizes = _max_domain_range_sizes(offset_provider) # type: ignore[assignment]
return symbolic_domain_sizes
Expand All @@ -137,6 +138,7 @@ def apply_common_transforms(
unroll_reduce=False,
common_subexpression_elimination=True,
force_inline_lambda_args=False,
transform_concat_where_to_as_fieldop=True,
#: A dictionary mapping axes names to their length. See :func:`infer_domain.infer_expr` for
#: more details.
symbolic_domain_sizes: Optional[dict[str, itir.Expr]] = None,
Expand Down Expand Up @@ -185,7 +187,8 @@ def apply_common_transforms(
ir = prune_empty_concat_where.prune_empty_concat_where(ir)
ir = remove_broadcast.RemoveBroadcast.apply(ir)

ir = concat_where.transform_to_as_fieldop(ir)
if transform_concat_where_to_as_fieldop:
ir = concat_where.transform_to_as_fieldop(ir)

for _ in range(10):
inlined = ir
Expand Down Expand Up @@ -257,6 +260,12 @@ def apply_common_transforms(
ir, opcount_preserving=True, force_inline_lambda_args=force_inline_lambda_args
)

ir = infer_domain.infer_program(
ir,
offset_provider=offset_provider,
symbolic_domain_sizes=symbolic_domain_sizes,
)

assert isinstance(ir, itir.Program)
return ir

Expand Down
4 changes: 4 additions & 0 deletions src/gt4py/next/program_processors/runners/dace/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
make_dace_backend,
run_dace_cpu,
run_dace_cpu_cached,
run_dace_cpu_gt,
run_dace_cpu_gt_noopt,
run_dace_cpu_noopt,
run_dace_gpu,
run_dace_gpu_cached,
Expand All @@ -24,6 +26,8 @@
"make_dace_backend",
"run_dace_cpu",
"run_dace_cpu_cached",
"run_dace_cpu_gt",
"run_dace_cpu_gt_noopt",
"run_dace_cpu_noopt",
"run_dace_gpu",
"run_dace_gpu_cached",
Expand Down
Loading