1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5
6 #include "NeonWorkloadFactoryHelper.hpp"
7
8 #include <aclCommon/test/MemCopyTestImpl.hpp>
9
10 #include <neon/NeonWorkloadFactory.hpp>
11
12 #include <reference/RefWorkloadFactory.hpp>
13 #include <reference/test/RefWorkloadFactoryHelper.hpp>
14
15 #include <boost/test/unit_test.hpp>
16
17 BOOST_AUTO_TEST_SUITE(NeonMemCopy)
18
BOOST_AUTO_TEST_CASE(CopyBetweenCpuAndNeon)19 BOOST_AUTO_TEST_CASE(CopyBetweenCpuAndNeon)
20 {
21 LayerTestResult<float, 4> result =
22 MemCopyTest<armnn::RefWorkloadFactory, armnn::NeonWorkloadFactory, armnn::DataType::Float32>(false);
23 BOOST_TEST(CompareTensors(result.output, result.outputExpected));
24 }
25
BOOST_AUTO_TEST_CASE(CopyBetweenNeonAndCpu)26 BOOST_AUTO_TEST_CASE(CopyBetweenNeonAndCpu)
27 {
28 LayerTestResult<float, 4> result =
29 MemCopyTest<armnn::NeonWorkloadFactory, armnn::RefWorkloadFactory, armnn::DataType::Float32>(false);
30 BOOST_TEST(CompareTensors(result.output, result.outputExpected));
31 }
32
BOOST_AUTO_TEST_CASE(CopyBetweenCpuAndNeonWithSubtensors)33 BOOST_AUTO_TEST_CASE(CopyBetweenCpuAndNeonWithSubtensors)
34 {
35 LayerTestResult<float, 4> result =
36 MemCopyTest<armnn::RefWorkloadFactory, armnn::NeonWorkloadFactory, armnn::DataType::Float32>(true);
37 BOOST_TEST(CompareTensors(result.output, result.outputExpected));
38 }
39
BOOST_AUTO_TEST_CASE(CopyBetweenNeonAndCpuWithSubtensors)40 BOOST_AUTO_TEST_CASE(CopyBetweenNeonAndCpuWithSubtensors)
41 {
42 LayerTestResult<float, 4> result =
43 MemCopyTest<armnn::NeonWorkloadFactory, armnn::RefWorkloadFactory, armnn::DataType::Float32>(true);
44 BOOST_TEST(CompareTensors(result.output, result.outputExpected));
45 }
46
47 BOOST_AUTO_TEST_SUITE_END()
48