提交 01ae092d authored 作者: Roy Xue's avatar Roy Xue 提交者: Lijun Xue

Update algo

上级 2bbb21fd
...@@ -907,6 +907,7 @@ class VM_Linker(link.LocalLinker): ...@@ -907,6 +907,7 @@ class VM_Linker(link.LocalLinker):
idx_o = 0 idx_o = 0
for out in node.output: for out in node.output:
ins = None
if dmap and idx_o in dmap: if dmap and idx_o in dmap:
idx_v = dmap[idx_o] idx_v = dmap[idx_o]
assert len(idx_v) == 1, "Here we only support the possibility to destroy one input" assert len(idx_v) == 1, "Here we only support the possibility to destroy one input"
...@@ -932,8 +933,7 @@ class VM_Linker(link.LocalLinker): ...@@ -932,8 +933,7 @@ class VM_Linker(link.LocalLinker):
for i in range(idx + 1, len(order)): for i in range(idx + 1, len(order)):
for outs in order[i].outputs: for outs in order[i].outputs:
if outs.ndim == 0: if outs.ndim == 0:
reuse_list.append(outs) reuse_outs.append(outs)
reallocated_ins.add(ins)
elif ins in view_of: elif ins in view_of:
origin = view_of[ins] origin = view_of[ins]
viewed_by[origin].remove(ins) viewed_by[origin].remove(ins)
...@@ -944,8 +944,13 @@ class VM_Linker(link.LocalLinker): ...@@ -944,8 +944,13 @@ class VM_Linker(link.LocalLinker):
for i in range(idx + 1, len(order)): for i in range(idx + 1, len(order)):
for outs in order[i].outputs: for outs in order[i].outputs:
if outs.ndim == 0: if outs.ndim == 0:
reuse_list.append(outs) reuse_outs.append(outs)
reallocated_ins.add(ins)
if reuse_outs:
# if reusable output variable exists
reallocated_ins.add(ins)
for node in order: for node in order:
try: try:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论