blob: 1048e73c1bc5f52eabec820a54b22abd266fc83e [file] [log] [blame]
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
Aron Virginas-Tar56055192018-11-12 18:10:43 +00006#include "ClWorkloadFactoryHelper.hpp"
7
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00008#include <cl/ClWorkloadFactory.hpp>
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00009#include <aclCommon/test/MemCopyTestImpl.hpp>
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010010
Aron Virginas-Tar56055192018-11-12 18:10:43 +000011#include <reference/RefWorkloadFactory.hpp>
12#include <reference/test/RefWorkloadFactoryHelper.hpp>
13
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010014#include <boost/test/unit_test.hpp>
15
16BOOST_AUTO_TEST_SUITE(ClMemCopy)
17
18BOOST_AUTO_TEST_CASE(CopyBetweenCpuAndGpu)
19{
Matteo Martincigh49124022019-01-11 13:25:59 +000020 LayerTestResult<float, 4> result =
21 MemCopyTest<armnn::RefWorkloadFactory, armnn::ClWorkloadFactory, armnn::DataType::Float32>(false);
Sadik Armagan483c8112021-06-01 09:24:52 +010022 auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
23 result.m_ActualShape, result.m_ExpectedShape);
Colm Donelan25ab3a82021-05-17 13:01:52 +010024 BOOST_TEST(predResult.m_Result, predResult.m_Message.str());
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010025}
26
27BOOST_AUTO_TEST_CASE(CopyBetweenGpuAndCpu)
28{
Matteo Martincigh49124022019-01-11 13:25:59 +000029 LayerTestResult<float, 4> result =
30 MemCopyTest<armnn::ClWorkloadFactory, armnn::RefWorkloadFactory, armnn::DataType::Float32>(false);
Sadik Armagan483c8112021-06-01 09:24:52 +010031 auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
32 result.m_ActualShape, result.m_ExpectedShape);
Colm Donelan25ab3a82021-05-17 13:01:52 +010033 BOOST_TEST(predResult.m_Result, predResult.m_Message.str());
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010034}
35
36BOOST_AUTO_TEST_CASE(CopyBetweenCpuAndGpuWithSubtensors)
37{
Matteo Martincigh49124022019-01-11 13:25:59 +000038 LayerTestResult<float, 4> result =
39 MemCopyTest<armnn::RefWorkloadFactory, armnn::ClWorkloadFactory, armnn::DataType::Float32>(true);
Sadik Armagan483c8112021-06-01 09:24:52 +010040 auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
41 result.m_ActualShape, result.m_ExpectedShape);
Colm Donelan25ab3a82021-05-17 13:01:52 +010042 BOOST_TEST(predResult.m_Result, predResult.m_Message.str());
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010043}
44
45BOOST_AUTO_TEST_CASE(CopyBetweenGpuAndCpuWithSubtensors)
46{
Matteo Martincigh49124022019-01-11 13:25:59 +000047 LayerTestResult<float, 4> result =
48 MemCopyTest<armnn::ClWorkloadFactory, armnn::RefWorkloadFactory, armnn::DataType::Float32>(true);
Sadik Armagan483c8112021-06-01 09:24:52 +010049 auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
50 result.m_ActualShape, result.m_ExpectedShape);
Colm Donelan25ab3a82021-05-17 13:01:52 +010051 BOOST_TEST(predResult.m_Result, predResult.m_Message.str());
Aron Virginas-Tar3b278e92018-10-12 13:00:55 +010052}
53
54BOOST_AUTO_TEST_SUITE_END()