diff options
author | Jerry Ge <jerry.ge@arm.com> | 2023-07-17 21:33:17 +0000 |
---|---|---|
committer | Jerry Ge <jerry.ge@arm.com> | 2023-07-27 17:24:26 +0000 |
commit | e5cabbf7528849aac35b498ce0711a144c1a08d5 (patch) | |
tree | c4d4756a5961cd095a4f0faa677dbe6b47522f82 /reference_model/src/subgraph_traverser.h | |
parent | 97b0027ca018ad9b5f91f41b413e843afb15c6d7 (diff) | |
download | reference_model-e5cabbf7528849aac35b498ce0711a144c1a08d5.tar.gz |
Enable lazy tensor allocation
- The previous ref_model was allocating the memory for all tensors in
the graph upfront which is unnecessary and wasteful.
- This patch changes to only allocate initial input tensors on the entry
point using the allocateInputTensor() function.
- The output tensors are ensured to have been allocated before executing
a node. The output tenosrs are the inputs for the next node.
- When a node's evaluation is finished, its input tensors will be freed
if they will no longer be used by anyone else.
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: Ibb3e8c9e6344f6cd9eb20532a03b2097b93247f9
Diffstat (limited to 'reference_model/src/subgraph_traverser.h')
-rw-r--r-- | reference_model/src/subgraph_traverser.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/reference_model/src/subgraph_traverser.h b/reference_model/src/subgraph_traverser.h index 00989ee..ef6ea42 100644 --- a/reference_model/src/subgraph_traverser.h +++ b/reference_model/src/subgraph_traverser.h @@ -49,7 +49,8 @@ public: int linkTensorsAndNodes(); int validateGraph(); - int allocateTensor(); + int allocateInputTensors(); + int allocateTensor(std::string name); int dumpGraph(FILE* out) const; int dumpNextNodeList(FILE* out) const; |