diff options
Diffstat (limited to 'src')
4 files changed, 25 insertions, 0 deletions
diff --git a/src/backends/neon/NeonTensorHandleFactory.cpp b/src/backends/neon/NeonTensorHandleFactory.cpp index ae6ab59efd..1dd83950cd 100644 --- a/src/backends/neon/NeonTensorHandleFactory.cpp +++ b/src/backends/neon/NeonTensorHandleFactory.cpp @@ -96,6 +96,11 @@ const FactoryId& NeonTensorHandleFactory::GetId() const return GetIdStatic(); } +bool NeonTensorHandleFactory::SupportsInPlaceComputation() const +{ + return true; +} + bool NeonTensorHandleFactory::SupportsSubTensors() const { return true; diff --git a/src/backends/neon/NeonTensorHandleFactory.hpp b/src/backends/neon/NeonTensorHandleFactory.hpp index 41875c988d..954a71451b 100644 --- a/src/backends/neon/NeonTensorHandleFactory.hpp +++ b/src/backends/neon/NeonTensorHandleFactory.hpp @@ -61,6 +61,8 @@ public: const FactoryId& GetId() const override; + bool SupportsInPlaceComputation() const override; + bool SupportsSubTensors() const override; MemorySourceFlags GetExportFlags() const override; diff --git a/src/backends/neon/test/NeonTensorHandleTests.cpp b/src/backends/neon/test/NeonTensorHandleTests.cpp index 97c7dd3474..3cea29323a 100644 --- a/src/backends/neon/test/NeonTensorHandleTests.cpp +++ b/src/backends/neon/test/NeonTensorHandleTests.cpp @@ -697,4 +697,13 @@ BOOST_AUTO_TEST_CASE(NeonTensorHandleFactoryImport) memoryManager->Release(); } +BOOST_AUTO_TEST_CASE(NeonTensorHandleSupportsInPlaceComputation) +{ + std::shared_ptr<NeonMemoryManager> memoryManager = std::make_shared<NeonMemoryManager>(); + NeonTensorHandleFactory handleFactory(memoryManager); + + // NeonTensorHandleFactory supports InPlaceComputation + ARMNN_ASSERT(handleFactory.SupportsInPlaceComputation()); +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/src/backends/reference/test/RefTensorHandleTests.cpp b/src/backends/reference/test/RefTensorHandleTests.cpp index 3635a32472..1ef6de9b32 100644 --- a/src/backends/reference/test/RefTensorHandleTests.cpp +++ b/src/backends/reference/test/RefTensorHandleTests.cpp @@ -158,6 +158,15 @@ BOOST_AUTO_TEST_CASE(RefTensorHandleGetCapabilities) BOOST_CHECK(capabilities.empty()); } +BOOST_AUTO_TEST_CASE(RefTensorHandleSupportsInPlaceComputation) +{ + std::shared_ptr<RefMemoryManager> memoryManager = std::make_shared<RefMemoryManager>(); + RefTensorHandleFactory handleFactory(memoryManager); + + // RefTensorHandleFactory does not support InPlaceComputation + ARMNN_ASSERT(!(handleFactory.SupportsInPlaceComputation())); +} + #if !defined(__ANDROID__) // Only run these tests on non Android platforms BOOST_AUTO_TEST_CASE(CheckSourceType) |