forked from marian-nmt/marian-dev
-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Assuming TensorAllocator is an attempt at implementing an equivalent of std::allocator.
Both tensors_ and cache_ in ExpressionGraph are TensorAllocators.
The cache_ allocates some tensors that are incapable of being deallocated from outside. cache_ is private to this class, and the missing free is a flaw(?).
marian-dev/src/graph/expression_graph.h
Lines 57 to 64 in 844800e
| if(!node->val()) { | |
| if(node->memoize()) | |
| cache_->allocate(node->val(), node->shape(), node->value_type()); | |
| else | |
| tensors_->allocate(node->val(), node->shape(), node->value_type()); | |
| } | |
| } | |
I could not find a cache_->free(), tensors_ on the other hand are capable of being freed manually through external calls.
marian-dev/src/graph/expression_graph.h
Line 70 in 844800e
| void free(const Tensor& tensor) { tensors_->free(tensor); } |
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working