spcl / spcl/dace

[f2dace] LiftStructViews leaving partial struct access

Open
#1,998 3 comments 0 reactions 3 assignees Claimed by @acalotoiu View on GitHub
fortran
Dominant language
Python
Stars
593
Forks
163
Avg merge
2d 23h
Merged PRs (30d)
60

Description

```bash
Traceback (most recent call last):
File "/scratch/pmazumde/dycon/icon-artifacts/velocity/compile_velocity_cpu.py", line 66, in
).apply_pass(sdfg, {})
^^^^^^^^^^^^^^^^^^^^
File "/scratch/pmazumde/gitspace/dace/dace/transformation/passes/struct_to_container_group.py", line 1080, in apply_pass
newly_removed_nodes, (oldname, newname) = self._apply(
^^^^^^^^^^^^
File "/scratch/pmazumde/gitspace/dace/dace/transformation/passes/struct_to_container_group.py", line 2116, in _apply
demangled_name = get_demangled_container_group_member_name(sdfg, name_hierarchy)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/scratch/pmazumde/gitspace/dace/dace/transformation/passes/struct_to_container_group.py", line 439, in get_demangled_container_group_member_name
raise Exception(f"Name Hierarchy {name_hierarchy} Not in ContainerGroups 2")
Exception: Name Hierarchy ['p_patch', 'verts'] Not in ContainerGroups 2
```

This happens because `verts` is an instance of a struct, and having the final view as a `struct`, to my understanding, is incorrect, as we can't use it in tasklets or interstate edges. This breaks my flattening pass.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.