diff options
Diffstat (limited to 'src/backends/cl/test/ClMemCopyTests.cpp')
-rw-r--r-- | src/backends/cl/test/ClMemCopyTests.cpp | 40 |
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()); |