1 //
2 // Copyright © 2020, 2023 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5
6 #include "TransposeTestHelper.hpp"
7
8 #include <armnn_delegate.hpp>
9
10 #include <doctest/doctest.h>
11 #include <flatbuffers/flatbuffers.h>
12
13 namespace armnnDelegate
14 {
15
TransposeFP32Test(std::vector<armnn::BackendId> & backends)16 void TransposeFP32Test(std::vector<armnn::BackendId>& backends)
17 {
18 // set test input data
19 std::vector<int32_t> input0Shape {4, 2, 3};
20 std::vector<int32_t> inputPermVecShape {3};
21 std::vector<int32_t> outputShape {3, 4, 2};
22
23 std::vector<float> input0Values = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
24 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23};
25 std::vector<int32_t> inputPermVec = {2, 0, 1};
26 std::vector<float> expectedOutputValues = {0, 3, 6, 9, 12, 15, 18, 21, 1, 4, 7, 10,
27 13, 16, 19, 22, 2, 5, 8, 11, 14, 17, 20, 23};
28
29 TransposeTest<float>(backends,
30 input0Shape,
31 inputPermVecShape,
32 outputShape,
33 input0Values,
34 inputPermVec,
35 expectedOutputValues);
36 }
37
38 TEST_SUITE ("Transpose_GpuAccTests")
39 {
40
41 TEST_CASE ("Transpose_Float32_GpuAcc_Test")
42 {
43 std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
44 TransposeFP32Test(backends);
45 }
46
47 }
48
49 TEST_SUITE ("Transpose_CpuAccTests")
50 {
51
52 TEST_CASE ("Transpose_Float32_CpuAcc_Test")
53 {
54 std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
55 TransposeFP32Test(backends);
56 }
57
58 }
59
60 TEST_SUITE ("Transpose_CpuRefTests")
61 {
62
63 TEST_CASE ("Transpose_Float32_CpuRef_Test")
64 {
65 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
66 TransposeFP32Test(backends);
67 }
68
69 }
70
71 } // namespace armnnDelegate
72