MCPcopy Create free account
hub / github.com/apache/tvm / test_dataflow_var

Function test_dataflow_var

tests/python/relax/test_analysis_well_formed.py:66–104  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

64
65
66def test_dataflow_var():
67 # Error: DataflowVar lv0 is not defined
68 lv0 = rx.DataflowVar("lv0", R.Tensor([m, n], "float32"))
69 gv0 = rx.Var("gv0", R.Tensor([m, n], "float32"))
70 call_node = rx.op.add(x, lv0)
71 bindings = [rx.VarBinding(gv0, call_node)]
72 blocks = [rx.DataflowBlock(bindings)]
73 func = build_function(blocks)
74 mod = tvm.IRModule({rx.GlobalVar("foo"): func})
75 assert not rx.analysis.check_well_formed(mod, check_struct_info=False)
76
77 # Error: DataflowVar gv0 is defined more than once
78 lv0 = rx.DataflowVar("lv0", R.Tensor([m, n], "float32"))
79 call_node = rx.op.add(x, x)
80 call_node2 = rx.op.multiply(x, x)
81 bindings = [rx.VarBinding(lv0, call_node), rx.VarBinding(lv0, call_node2)]
82 blocks = [rx.DataflowBlock(bindings)]
83 func = build_function(blocks)
84 mod = tvm.IRModule({rx.GlobalVar("foo"): func})
85 assert not rx.analysis.check_well_formed(mod, check_struct_info=False)
86
87 # Error: DataflowVar lv0 is defined outside DataflowBlock
88 lv0 = rx.DataflowVar("lv0", R.Tensor([m, n], "float32"))
89 call_node = rx.op.add(x, x)
90 bindings = [rx.VarBinding(lv0, call_node)]
91 blocks = [rx.BindingBlock(bindings)]
92 func = build_function(blocks)
93 mod = tvm.IRModule({rx.GlobalVar("foo"): func})
94 assert not rx.analysis.check_well_formed(mod, check_struct_info=False)
95
96 # Error: DataflowVar lv0 is used outside DataflowBlock
97 lv0 = rx.DataflowVar("lv0", R.Tensor([m, n], "float32"))
98 gv0 = rx.Var("gv0", R.Tensor([m, n], "float32"))
99 call_node = rx.op.add(lv0, x)
100 bindings = [rx.VarBinding(lv0, call_node)]
101 blocks = [rx.BindingBlock(bindings)]
102 func = build_function(blocks)
103 mod = tvm.IRModule({rx.GlobalVar("foo"): func})
104 assert not rx.analysis.check_well_formed(mod, check_struct_info=False)
105
106
107def test_param_var():

Callers

nothing calls this directly

Calls 4

build_functionFunction · 0.85
TensorMethod · 0.80
addMethod · 0.45
multiplyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…