diff options
author | Derek Lamberti <derek.lamberti@arm.com> | 2019-08-01 15:56:25 +0100 |
---|---|---|
committer | Áron Virginás-Tar <aron.virginas-tar@arm.com> | 2019-08-05 13:51:42 +0000 |
commit | f674aa0fd2809126debdaaeb8067067790d86907 (patch) | |
tree | d86d0261c7a25149217918986043c76d0823ee44 /src/armnn/Layer.cpp | |
parent | 737d9ff58b348b11234b6c2363390607d576177d (diff) | |
download | armnn-f674aa0fd2809126debdaaeb8067067790d86907.tar.gz |
IVGCVSW-3277 Mem export/import suppor for Tensors
* Rename MemoryStrategy to EdgeStrategy
* Add MemImportLayer
* Import memory rather than copy when possible
Change-Id: I1d3a9414f2cbe517dc2aae9bbd4fdd92712b38ef
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
Diffstat (limited to 'src/armnn/Layer.cpp')
-rw-r--r-- | src/armnn/Layer.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/armnn/Layer.cpp b/src/armnn/Layer.cpp index a287220702..528020bab5 100644 --- a/src/armnn/Layer.cpp +++ b/src/armnn/Layer.cpp @@ -31,7 +31,7 @@ void InputSlot::Insert(Layer& layer) // Connects inserted layer to parent. BOOST_ASSERT(layer.GetNumInputSlots() == 1); int idx = prevSlot->Connect(layer.GetInputSlot(0)); - prevSlot->SetMemoryStrategy(boost::numeric_cast<unsigned int>(idx), MemoryStrategy::Undefined); + prevSlot->SetEdgeStrategy(boost::numeric_cast<unsigned int>(idx), EdgeStrategy::Undefined); // Sets tensor info for inserted layer. const TensorInfo& tensorInfo = prevSlot->GetTensorInfo(); @@ -40,7 +40,7 @@ void InputSlot::Insert(Layer& layer) // Connects inserted layer to this. layer.GetOutputSlot(0).Connect(*this); - layer.GetOutputSlot(0).SetMemoryStrategy(0, MemoryStrategy::Undefined); + layer.GetOutputSlot(0).SetEdgeStrategy(0, EdgeStrategy::Undefined); } const InputSlot* OutputSlot::GetConnection(unsigned int index) const @@ -80,7 +80,7 @@ int OutputSlot::Connect(InputSlot& destination) { destination.SetConnection(this); m_Connections.push_back(&destination); - m_MemoryStrategies.push_back(MemoryStrategy::Undefined); + m_EdgeStrategies.push_back(EdgeStrategy::Undefined); return boost::numeric_cast<int>(m_Connections.size() - 1); } @@ -97,7 +97,7 @@ void OutputSlot::Disconnect(InputSlot& slot) auto idx = std::distance(m_Connections.begin(), it); m_Connections.erase(std::remove(m_Connections.begin(), m_Connections.end(), &slot), m_Connections.end()); - m_MemoryStrategies.erase(m_MemoryStrategies.begin() + idx); + m_EdgeStrategies.erase(m_EdgeStrategies.begin() + idx); } void OutputSlot::DisconnectAll() @@ -113,7 +113,7 @@ void OutputSlot::MoveAllConnections(OutputSlot& destination) { while (GetNumConnections() > 0) { - BOOST_ASSERT_MSG(m_MemoryStrategies[0] == MemoryStrategy::Undefined, + BOOST_ASSERT_MSG(m_EdgeStrategies[0] == EdgeStrategy::Undefined, "Cannot move connections once memory strategies have be established."); InputSlot& connection = *GetConnection(0); @@ -174,14 +174,14 @@ ITensorHandleFactory::FactoryId OutputSlot::GetTensorHandleFactoryId() const return m_TensorHandleFactoryId; } -void OutputSlot::SetMemoryStrategy(unsigned int connectionIndex, MemoryStrategy strategy) +void OutputSlot::SetEdgeStrategy(unsigned int connectionIndex, EdgeStrategy strategy) { - m_MemoryStrategies[connectionIndex] = strategy; + m_EdgeStrategies[connectionIndex] = strategy; } -MemoryStrategy OutputSlot::GetMemoryStrategyForConnection(unsigned int connectionIdx) const +EdgeStrategy OutputSlot::GetEdgeStrategyForConnection(unsigned int connectionIdx) const { - return m_MemoryStrategies[connectionIdx]; + return m_EdgeStrategies[connectionIdx]; } namespace { |