aboutsummaryrefslogtreecommitdiff
path: root/src/backends/aclCommon/test/MemCopyTests.cpp
diff options
context:
space:
mode:
authorColm Donelan <colm.donelan@arm.com>2022-02-02 16:35:09 +0000
committerFrancis Murtagh <francis.murtagh@arm.com>2022-02-07 20:07:44 +0000
commitc42a987aa53d0fd842c34dee90abef5a9ff15fa4 (patch)
treed049993d38a8db54dc18e4c76c998e0598015f18 /src/backends/aclCommon/test/MemCopyTests.cpp
parent16829713a5d2096c8f0dc989fbb0964a9280777a (diff)
downloadarmnn-c42a987aa53d0fd842c34dee90abef5a9ff15fa4.tar.gz
IVGCVSW-6635 Move MemCopyTestImpl from acl to armnnTestUtils.
* Move MemCopyTestImpl.hpp from src/backends/aclCommon/test/ to include/armnnTestutils. * Refactor MemCopyTests in aclCommon, cl and Neon. * Introduce RefMemCopyTests to exercise this utility in x86 builds. Signed-off-by: Colm Donelan <colm.donelan@arm.com> Change-Id: I8824f013d3656658ed0a2904bb79384e3af68641
Diffstat (limited to 'src/backends/aclCommon/test/MemCopyTests.cpp')
-rw-r--r--src/backends/aclCommon/test/MemCopyTests.cpp48
1 files changed, 46 insertions, 2 deletions
diff --git a/src/backends/aclCommon/test/MemCopyTests.cpp b/src/backends/aclCommon/test/MemCopyTests.cpp
index 132550342c..7b7d4ffb9e 100644
--- a/src/backends/aclCommon/test/MemCopyTests.cpp
+++ b/src/backends/aclCommon/test/MemCopyTests.cpp
@@ -4,13 +4,13 @@
//
#include <aclCommon/ArmComputeTensorUtils.hpp>
-#include <aclCommon/test/MemCopyTestImpl.hpp>
#if defined(ARMCOMPUTECL_ENABLED) && defined(ARMCOMPUTENEON_ENABLED)
+#include <armnnTestUtils/LayerTestResult.hpp>
+#include <armnnTestUtils/MemCopyTestImpl.hpp>
#include <cl/ClWorkloadFactory.hpp>
#include <cl/test/ClContextControlFixture.hpp>
#include <cl/test/ClWorkloadFactoryHelper.hpp>
-
#include <neon/NeonWorkloadFactory.hpp>
#include <neon/test/NeonWorkloadFactoryHelper.hpp>
#endif
@@ -42,6 +42,50 @@ TEST_CASE("AclTypeConversions")
#if defined(ARMCOMPUTECL_ENABLED) && defined(ARMCOMPUTENEON_ENABLED)
+namespace
+{
+
+template <>
+struct MemCopyTestHelper<armnn::NeonWorkloadFactory>
+{
+ static armnn::IBackendInternal::IMemoryManagerSharedPtr GetMemoryManager()
+ {
+ armnn::NeonBackend backend;
+ return backend.CreateMemoryManager();
+ }
+
+ static armnn::NeonWorkloadFactory GetFactory(
+ const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
+ const armnn::ModelOptions& modelOptions = {})
+ {
+ armnn::NeonBackend backend;
+ return armnn::NeonWorkloadFactory(armnn::PolymorphicPointerDowncast<armnn::NeonMemoryManager>(memoryManager),
+ backend.CreateBackendSpecificModelContext(modelOptions));
+ }
+};
+
+template <>
+struct MemCopyTestHelper<armnn::ClWorkloadFactory>
+{
+ static armnn::IBackendInternal::IMemoryManagerSharedPtr GetMemoryManager()
+ {
+ armnn::ClBackend backend;
+ return backend.CreateMemoryManager();
+ }
+
+ static armnn::ClWorkloadFactory GetFactory(
+ const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
+ const armnn::ModelOptions& modelOptions = {})
+ {
+ armnn::ClBackend backend;
+ return armnn::ClWorkloadFactory(armnn::PolymorphicPointerDowncast<armnn::ClMemoryManager>(memoryManager),
+ backend.CreateBackendSpecificModelContext(modelOptions));
+ }
+};
+} // namespace
+
+
+
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
{
LayerTestResult<float, 4> result =