MCPcopy Create free account
hub / github.com/XiaoMi/mace / fake_new

Method fake_new

tools/python/micro/mem_computer.py:84–109  ·  view source on GitHub ↗
(self, op)

Source from the content-addressed store, hash-verified

82 return return_mem_block
83
84 def fake_new(self, op):
85 output_size = len(op.output)
86 for i in range(output_size):
87 mem_size = self.get_mem_size(op, op.output_shape[i].dims)
88 final_mem_block = None
89 reused = False
90 for mem_block in self.free_mem_list:
91 if mem_block.size >= mem_size:
92 mem_block.tensor_name = op.output[i]
93 final_mem_block = mem_block
94 self.free_mem_list.remove(mem_block)
95 mace_check(final_mem_block is not None,
96 "Error: final_mem_block should not be None")
97 reused = True
98 # print("reuse a tensor mem: %s -> %s" %
99 # (mem_size, mem_block.size))
100 break
101 if not reused:
102 final_mem_block = MemBlock(op.output[i], self.buffer_size,
103 mem_size)
104 self.buffer_size += mem_size
105 # print("new a tensor mem: %s" % final_mem_block.size)
106
107 # for micro, mem_id is mem_offset
108 op.mem_id.append(final_mem_block.offset)
109 self.used_mem_list.append(final_mem_block)
110
111 def fake_delete(self, op):
112 for tensor_name in op.input:

Callers 1

fake_execute_opMethod · 0.95

Calls 3

get_mem_sizeMethod · 0.95
mace_checkFunction · 0.90
MemBlockClass · 0.70

Tested by

no test coverage detected