aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl/test/ClMemCopyTests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/cl/test/ClMemCopyTests.cpp')
-rw-r--r--src/backends/cl/test/ClMemCopyTests.cpp40
1 files changed, 30 insertions, 10 deletions
diff --git a/src/backends/cl/test/ClMemCopyTests.cpp b/src/backends/cl/test/ClMemCopyTests.cpp
index 98b873fb6f..739ea7cdb3 100644
--- a/src/backends/cl/test/ClMemCopyTests.cpp
+++ b/src/backends/cl/test/ClMemCopyTests.cpp
@@ -3,22 +3,42 @@
// SPDX-License-Identifier: MIT
//
-#include "ClWorkloadFactoryHelper.hpp"
-
+#include <armnnTestUtils/LayerTestResult.hpp>
+#include <armnnTestUtils/MemCopyTestImpl.hpp>
+#include <armnnTestUtils/MockBackend.hpp>
#include <cl/ClWorkloadFactory.hpp>
-#include <aclCommon/test/MemCopyTestImpl.hpp>
+#include <cl/ClBackend.hpp>
+#include <doctest/doctest.h>
+
+namespace
+{
-#include <reference/RefWorkloadFactory.hpp>
-#include <reference/test/RefWorkloadFactoryHelper.hpp>
+template <>
+struct MemCopyTestHelper<armnn::ClWorkloadFactory>
+{
+ static armnn::IBackendInternal::IMemoryManagerSharedPtr GetMemoryManager()
+ {
+ armnn::ClBackend backend;
+ return backend.CreateMemoryManager();
+ }
-#include <doctest/doctest.h>
+ 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_SUITE("ClMemCopy")
{
TEST_CASE("CopyBetweenCpuAndGpu")
{
LayerTestResult<float, 4> result =
- MemCopyTest<armnn::RefWorkloadFactory, armnn::ClWorkloadFactory, armnn::DataType::Float32>(false);
+ MemCopyTest<armnn::MockWorkloadFactory, armnn::ClWorkloadFactory, armnn::DataType::Float32>(false);
auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
result.m_ActualShape, result.m_ExpectedShape);
CHECK_MESSAGE(predResult.m_Result, predResult.m_Message.str());
@@ -27,7 +47,7 @@ TEST_CASE("CopyBetweenCpuAndGpu")
TEST_CASE("CopyBetweenGpuAndCpu")
{
LayerTestResult<float, 4> result =
- MemCopyTest<armnn::ClWorkloadFactory, armnn::RefWorkloadFactory, armnn::DataType::Float32>(false);
+ MemCopyTest<armnn::ClWorkloadFactory, armnn::MockWorkloadFactory, armnn::DataType::Float32>(false);
auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
result.m_ActualShape, result.m_ExpectedShape);
CHECK_MESSAGE(predResult.m_Result, predResult.m_Message.str());
@@ -36,7 +56,7 @@ TEST_CASE("CopyBetweenGpuAndCpu")
TEST_CASE("CopyBetweenCpuAndGpuWithSubtensors")
{
LayerTestResult<float, 4> result =
- MemCopyTest<armnn::RefWorkloadFactory, armnn::ClWorkloadFactory, armnn::DataType::Float32>(true);
+ MemCopyTest<armnn::MockWorkloadFactory, armnn::ClWorkloadFactory, armnn::DataType::Float32>(true);
auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
result.m_ActualShape, result.m_ExpectedShape);
CHECK_MESSAGE(predResult.m_Result, predResult.m_Message.str());
@@ -45,7 +65,7 @@ TEST_CASE("CopyBetweenCpuAndGpuWithSubtensors")
TEST_CASE("CopyBetweenGpuAndCpuWithSubtensors")
{
LayerTestResult<float, 4> result =
- MemCopyTest<armnn::ClWorkloadFactory, armnn::RefWorkloadFactory, armnn::DataType::Float32>(true);
+ MemCopyTest<armnn::ClWorkloadFactory, armnn::MockWorkloadFactory, armnn::DataType::Float32>(true);
auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
result.m_ActualShape, result.m_ExpectedShape);
CHECK_MESSAGE(predResult.m_Result, predResult.m_Message.str());