diff options
author | Finn Williams <Finn.Williams@arm.com> | 2021-03-22 17:51:06 +0000 |
---|---|---|
committer | finn.williams <finn.williams@arm.com> | 2021-04-07 16:42:38 +0000 |
commit | 4422ceca976a88aac49b21808a43e465bc87a35e (patch) | |
tree | d4f7f3d86394f74b679c907ad3f7fc7f4537933f /tests | |
parent | b70ec417989490a2a72c66ecd6c737df1c094f4c (diff) | |
download | armnn-4422ceca976a88aac49b21808a43e465bc87a35e.tar.gz |
Fix graph copy memory spike
* Change layer storage of ConstTensors to std::shared_ptr<ConstCpuTensorHandle>
* Change clone to share ConstTensor rather than copy
* Remove uses of non-const GetTensor() call
* Reduce scope of non-optimized network in ExeNet, so memory can be released after use
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: Ibb2c7309d12411d21405bd6024c76bcdf5404545
Diffstat (limited to 'tests')
-rw-r--r-- | tests/InferenceModel.hpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/tests/InferenceModel.hpp b/tests/InferenceModel.hpp index 6bfad067ca..dca3ab2788 100644 --- a/tests/InferenceModel.hpp +++ b/tests/InferenceModel.hpp @@ -419,14 +419,14 @@ public: throw armnn::Exception("Some backend IDs are invalid: " + invalidBackends); } - const auto parsing_start_time = armnn::GetTimeNow(); - armnn::INetworkPtr network = CreateNetworkImpl<IParser>::Create(params, m_InputBindings, m_OutputBindings); - - ARMNN_LOG(info) << "Network parsing time: " << std::setprecision(2) - << std::fixed << armnn::GetTimeDuration(parsing_start_time).count() << " ms\n"; - armnn::IOptimizedNetworkPtr optNet{nullptr, [](armnn::IOptimizedNetwork*){}}; { + const auto parsing_start_time = armnn::GetTimeNow(); + armnn::INetworkPtr network = CreateNetworkImpl<IParser>::Create(params, m_InputBindings, m_OutputBindings); + + ARMNN_LOG(info) << "Network parsing time: " << std::setprecision(2) + << std::fixed << armnn::GetTimeDuration(parsing_start_time).count() << " ms\n"; + ARMNN_SCOPED_HEAP_PROFILING("Optimizing"); armnn::OptimizerOptions options; @@ -460,6 +460,8 @@ public: { throw armnn::Exception("Optimize returned nullptr"); } + + } if (params.m_VisualizePostOptimizationModel) @@ -470,6 +472,8 @@ public: optNet->SerializeToDot(file); } + + armnn::Status ret; { ARMNN_SCOPED_HEAP_PROFILING("LoadNetwork"); |