Skip to content
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

_DistributedLazilyCompilingFunctionCaller._dag_to_compiled_func loses metadata. #235

Open
kaushikcfd opened this issue Mar 15, 2022 · 1 comment

Comments

@kaushikcfd
Copy link
Collaborator

We preprocess each partitioned DAG and doing so loses some information on the way.

Consider this DAG:
image

Notice how the knowledge of "x1" being a DOFArray is unavailable during the preprocessing of "Partition 2" and this leads to some inference failures.

/cc @matthiasdiener @inducer

@matthiasdiener
Copy link
Collaborator

This issue manifests itself like this:

image

(ie, partitioning placeholders with empty axes tags)

The runtime error is:

  File "/Users/mdiener/Work/efuse/mirgecom/mirgecom/integrators/explicit_rk.py", line 33, in rk4_step
    k1 = rhs(t, state)
  File "/Users/mdiener/Work/efuse/arraycontext/arraycontext/impl/pytato/compile.py", line 298, in __call__
    compiled_func = self._dag_to_compiled_func(
  File "/Users/mdiener/Work/efuse/grudge/grudge/array_context.py", line 173, in _dag_to_compiled_func
    part_id_to_prg[part.pid], _, _ = self._dag_to_transformed_loopy_prg(d)
  File "/Users/mdiener/Work/efuse/arraycontext/arraycontext/impl/pytato/compile.py", line 373, in _dag_to_transformed_loopy_prg
    return super()._dag_to_transformed_pytato_prg(dict_of_named_arrays)
  File "/Users/mdiener/Work/efuse/arraycontext/arraycontext/impl/pytato/compile.py", line 324, in _dag_to_transformed_pytato_prg
    pt_dict_of_named_arrays = self.actx.transform_dag(dict_of_named_arrays)
  File "/Users/mdiener/Work/efuse/meshmode/meshmode/array_context.py", line 1291, in transform_dag
    dag = unify_discretization_entity_tags(dag)
  File "/Users/mdiener/Work/efuse/meshmode/meshmode/pytato_utils.py", line 466, in unify_discretization_entity_tags
    raise RuntimeError("Unification failed.")
RuntimeError: Unification failed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants