blob: cb3b327b13fc32d066605c6e4403decca9911495 [file] [log] [blame]
James Wardf89964e2020-11-09 11:57:47 +00001//
Teresa Charlinad1b3d72023-03-14 12:10:28 +00002// Copyright © 2020, 2023 Arm Ltd and Contributors. All rights reserved.
James Wardf89964e2020-11-09 11:57:47 +00003// 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
13namespace armnnDelegate
14{
15
Matthew Sloyanebe392d2023-03-30 10:12:08 +010016void 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
James Wardf89964e2020-11-09 11:57:47 +000038TEST_SUITE ("Transpose_GpuAccTests")
39{
40
41TEST_CASE ("Transpose_Float32_GpuAcc_Test")
42{
43 std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
44 TransposeFP32Test(backends);
45}
46
47}
48
49TEST_SUITE ("Transpose_CpuAccTests")
50{
51
52TEST_CASE ("Transpose_Float32_CpuAcc_Test")
53{
54 std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
55 TransposeFP32Test(backends);
56}
57
58}
59
60TEST_SUITE ("Transpose_CpuRefTests")
61{
Matthew Sloyanebe392d2023-03-30 10:12:08 +010062
James Wardf89964e2020-11-09 11:57:47 +000063TEST_CASE ("Transpose_Float32_CpuRef_Test")
64{
Matthew Sloyanebe392d2023-03-30 10:12:08 +010065 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
66 TransposeFP32Test(backends);
James Wardf89964e2020-11-09 11:57:47 +000067}
Matthew Sloyanebe392d2023-03-30 10:12:08 +010068
James Wardf89964e2020-11-09 11:57:47 +000069}
Matthew Sloyanebe392d2023-03-30 10:12:08 +010070
James Wardf89964e2020-11-09 11:57:47 +000071} // namespace armnnDelegate