ArmNN
 21.11
NeonMemCopyTests.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
7 
9 
11 
14 
15 #include <doctest/doctest.h>
16 
17 TEST_SUITE("NeonMemCopy")
18 {
19 TEST_CASE("CopyBetweenCpuAndNeon")
20 {
22  MemCopyTest<armnn::RefWorkloadFactory, armnn::NeonWorkloadFactory, armnn::DataType::Float32>(false);
23  auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
24  result.m_ActualShape, result.m_ExpectedShape);
25  CHECK_MESSAGE(predResult.m_Result, predResult.m_Message.str());
26 }
27 
28 TEST_CASE("CopyBetweenNeonAndCpu")
29 {
31  MemCopyTest<armnn::NeonWorkloadFactory, armnn::RefWorkloadFactory, armnn::DataType::Float32>(false);
32  auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
33  result.m_ActualShape, result.m_ExpectedShape);
34  CHECK_MESSAGE(predResult.m_Result, predResult.m_Message.str());
35 }
36 
37 TEST_CASE("CopyBetweenCpuAndNeonWithSubtensors")
38 {
40  MemCopyTest<armnn::RefWorkloadFactory, armnn::NeonWorkloadFactory, armnn::DataType::Float32>(true);
41  auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
42  result.m_ActualShape, result.m_ExpectedShape);
43  CHECK_MESSAGE(predResult.m_Result, predResult.m_Message.str());
44 }
45 
46 TEST_CASE("CopyBetweenNeonAndCpuWithSubtensors")
47 {
49  MemCopyTest<armnn::NeonWorkloadFactory, armnn::RefWorkloadFactory, armnn::DataType::Float32>(true);
50  auto predResult = CompareTensors(result.m_ActualData, result.m_ExpectedData,
51  result.m_ActualShape, result.m_ExpectedShape);
52  CHECK_MESSAGE(predResult.m_Result, predResult.m_Message.str());
53 }
54 
55 }
armnn::TensorShape m_ExpectedShape
armnn::PredicateResult CompareTensors(const std::vector< T > &actualData, const std::vector< T > &expectedData, const armnn::TensorShape &actualShape, const armnn::TensorShape &expectedShape, bool compareBoolean=false, bool isDynamic=false)
TEST_SUITE("NeonMemCopy")
std::vector< T > m_ExpectedData
std::vector< T > m_ActualData
armnn::TensorShape m_ActualShape