-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat[next]: Allow using compile time connectivity information only #1862
feat[next]: Allow using compile time connectivity information only #1862
Conversation
@@ -123,16 +126,19 @@ def translate( | |||
] | |||
horizontal_sizes: dict[str, itir.Expr] | |||
if symbolic_domain_sizes is not None: | |||
horizontal_sizes = {k: im.ref(v) for k, v in symbolic_domain_sizes.items()} | |||
horizontal_sizes = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strictly unrelated to the actual PR. This just allows using literals as the symbolic domain sizes. Needed for a hack in icon4py. Didn't bother creating a PR.
@@ -43,7 +43,7 @@ def __call__( | |||
def apply_common_transforms( | |||
ir: itir.Program, | |||
*, | |||
offset_provider=None, # TODO(havogt): should be replaced by offset_provider_type, but global_tmps currently relies on runtime info | |||
offset_provider: common.OffsetProvider | common.OffsetProviderType, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree with removing the TODO.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Re-added with minor changes.
The domain inference relies on either runtime connectivities or compile time information on the size of the domains (
symbolic_domain_sizes
), whereas the later is used in icon4py, in particular the blue line, where runtime information is not available. The approach taken in this PR is to allow passing either ancommon.OffsetProvider
or ancommon.OffsetProviderType
.