aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Conroy <james.conroy@arm.com>2019-11-07 14:37:09 +0000
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-11-08 15:56:05 +0000
commitffab16f9f23868b5b9338a1b63393f3be53211cb (patch)
tree66a2a3dcd418e08488f8ad2f6b9e96a80fac90ee
parent55e488a53c98af7dabf9f7b45572d02d850d8866 (diff)
downloadarmnn-ffab16f9f23868b5b9338a1b63393f3be53211cb.tar.gz
IVGCVSW-4077 Disable NEON memory import
* Temporarily handles cases in CalculateEdgeStrategy where dstFactory pointer is null when import is disabled. * This patch is required for ensuring debug layer works correctly when executing a model on Neon. Signed-off-by: James Conroy <james.conroy@arm.com> Change-Id: I7304723246d362d6d9073c3d0b1224e194a8532c
-rw-r--r--src/armnn/Network.cpp6
-rw-r--r--src/backends/neon/NeonTensorHandleFactory.cpp2
-rw-r--r--src/backends/neon/test/NeonEndToEndTests.cpp10
3 files changed, 12 insertions, 6 deletions
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index f4bfc7a88e..b1cb5a871a 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -699,6 +699,12 @@ EdgeStrategy CalculateEdgeStrategy(BackendsMap& backends,
for (auto&& pref : dstPrefs)
{
ITensorHandleFactory* dstFactory = registry.GetFactory(pref);
+
+ // Handles some cases where dstFactory is null when Neon memory import is disabled
+ if (!dstFactory) {
+ return EdgeStrategy::CopyToTarget;
+ }
+
if ((dstFactory->GetImportFlags() & srcFactory->GetExportFlags()) != 0)
{
return EdgeStrategy::ExportToTarget;
diff --git a/src/backends/neon/NeonTensorHandleFactory.cpp b/src/backends/neon/NeonTensorHandleFactory.cpp
index 80f46d2237..d5fef4ea95 100644
--- a/src/backends/neon/NeonTensorHandleFactory.cpp
+++ b/src/backends/neon/NeonTensorHandleFactory.cpp
@@ -104,7 +104,7 @@ MemorySourceFlags NeonTensorHandleFactory::GetExportFlags() const
MemorySourceFlags NeonTensorHandleFactory::GetImportFlags() const
{
- return static_cast<MemorySourceFlags>(MemorySource::Malloc);
+ return 0;
}
} // namespace armnn
diff --git a/src/backends/neon/test/NeonEndToEndTests.cpp b/src/backends/neon/test/NeonEndToEndTests.cpp
index 5146a598c7..26c06758a4 100644
--- a/src/backends/neon/test/NeonEndToEndTests.cpp
+++ b/src/backends/neon/test/NeonEndToEndTests.cpp
@@ -366,27 +366,27 @@ BOOST_AUTO_TEST_CASE(NeonExportNonAlignedOutputPointerTest)
ExportNonAlignedOutputPointerTest(defaultBackends);
}
-BOOST_AUTO_TEST_CASE(NeonImportAlignedPointerTest)
+BOOST_AUTO_TEST_CASE(NeonImportAlignedPointerTest, * boost::unit_test::disabled())
{
ImportAlignedPointerTest(defaultBackends);
}
-BOOST_AUTO_TEST_CASE(NeonImportOnlyWorkload)
+BOOST_AUTO_TEST_CASE(NeonImportOnlyWorkload, * boost::unit_test::disabled())
{
ImportOnlyWorkload(defaultBackends);
}
-BOOST_AUTO_TEST_CASE(NeonExportOnlyWorkload)
+BOOST_AUTO_TEST_CASE(NeonExportOnlyWorkload, * boost::unit_test::disabled())
{
ExportOnlyWorkload(defaultBackends);
}
-BOOST_AUTO_TEST_CASE(NeonImportAndExportWorkload)
+BOOST_AUTO_TEST_CASE(NeonImportAndExportWorkload, * boost::unit_test::disabled())
{
ImportAndExportWorkload(defaultBackends);
}
-BOOST_AUTO_TEST_CASE(NeonExportOutputWithSeveralOutputSlotConnectionsTest)
+BOOST_AUTO_TEST_CASE(NeonExportOutputWithSeveralOutputSlotConnectionsTest, * boost::unit_test::disabled())
{
ExportOutputWithSeveralOutputSlotConnectionsTest(defaultBackends);
}