-
Notifications
You must be signed in to change notification settings - Fork 137
Open
Description
See the following example, running on dace main branch:
import dace
import cupy as cp
import numpy as np
from dace.transformation.passes import ArrayElimination, StateReachability
#try:
src = np.ones(40, dtype=cp.uint32)
dst = cp.zeros(20, dtype=cp.uint32)
@dace.program
def fail(dst: dace.uint32[20] @ dace.dtypes.StorageType.GPU_Global, src: dace.uint32[40]):
dst[0:20:2] = src[0:40:4]
sdfg = fail.to_sdfg(simplify=False)
sdfg.save("stided_copy_from_frontend_unsimplified.sdfgz", compress=True)
sdfg.validate()
Fails with:
Traceback (most recent call last):
File "/home/primrose/Work/DaCellerator/CopyGen/copygen.py", line 17, in <module>
sdfg.validate()
File "/home/primrose/Work/dace/dace/sdfg/sdfg.py", line 2497, in validate
validate_sdfg(self, references, **context)
File "/home/primrose/Work/dace/dace/sdfg/validation.py", line 336, in validate_sdfg
validate_control_flow_region(sdfg, sdfg, initialized_transients, symbols, references, **context)
File "/home/primrose/Work/dace/dace/sdfg/validation.py", line 143, in validate_control_flow_region
validate_state(edge.dst, region.node_id(edge.dst), sdfg, symbols, initialized_transients, references,
File "/home/primrose/Work/dace/dace/sdfg/validation.py", line 811, in validate_state
raise InvalidSDFGEdgeError("Memlet other_subset out-of-bounds", sdfg, state_id, eid)
dace.sdfg.validation.InvalidSDFGEdgeError: Memlet other_subset out-of-bounds (at state assign_13_4, edge src[0:40:4] -> [0:40:4] (src:None -> src_0:views))
Invalid SDFG saved for inspection in /home/primrose/Work/DaCellerator/CopyGen/_dacegraphs/invalid.sdfgz
Metadata
Metadata
Assignees
Labels
No labels