blob: 4e87d6ab6c5c286a5851d5021dd490eb0b4a03cf [file] [log] [blame]
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5#pragma once
6
Sadik Armagana097d2a2021-11-24 15:47:28 +00007#include <armnnTestUtils/LayerTestResult.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01008
Matthew Jackson9bff1442019-09-12 09:08:23 +01009#include <Half.hpp>
10
Matteo Martincighe5b8eb92019-11-28 15:45:42 +000011#include <armnn/backends/IBackendInternal.hpp>
Colm Donelan0c479742021-12-10 12:43:54 +000012#include <armnn/backends/WorkloadFactory.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010013
14LayerTestResult<float, 4> SpaceToBatchNdSimpleFloat32Test(
15 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010016 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010017 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010018
19LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsFloat32Test(
20 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010021 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010022 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010023
24LayerTestResult<float, 4> SpaceToBatchNdMultiBlockFloat32Test(
25 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010026 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010027 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010028
29LayerTestResult<float, 4> SpaceToBatchNdPaddingFloat32Test(
30 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010031 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010032 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010033
Matthew Jackson9bff1442019-09-12 09:08:23 +010034LayerTestResult<armnn::Half, 4> SpaceToBatchNdSimpleFloat16Test(
35 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010036 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010037 const armnn::ITensorHandleFactory& tensorHandleFactory);
Matthew Jackson9bff1442019-09-12 09:08:23 +010038
39LayerTestResult<armnn::Half, 4> SpaceToBatchNdMultiChannelsFloat16Test(
40 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010041 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010042 const armnn::ITensorHandleFactory& tensorHandleFactory);
Matthew Jackson9bff1442019-09-12 09:08:23 +010043
44LayerTestResult<armnn::Half, 4> SpaceToBatchNdMultiBlockFloat16Test(
45 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010046 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010047 const armnn::ITensorHandleFactory& tensorHandleFactory);
Matthew Jackson9bff1442019-09-12 09:08:23 +010048
49LayerTestResult<armnn::Half, 4> SpaceToBatchNdPaddingFloat16Test(
50 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010051 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010052 const armnn::ITensorHandleFactory& tensorHandleFactory);
Matthew Jackson9bff1442019-09-12 09:08:23 +010053
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010054LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleUint8Test(
55 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010056 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010057 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010058
59LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsUint8Test(
60 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010061 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010062 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010063
64LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockUint8Test(
65 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010066 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010067 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010068
69LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingUint8Test(
70 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010071 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010072 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010073
74LayerTestResult<float, 4> SpaceToBatchNdSimpleNhwcFloat32Test(
75 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010076 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010077 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010078
79LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsNhwcFloat32Test(
80 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010081 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010082 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010083
84LayerTestResult<float, 4> SpaceToBatchNdMultiBlockNhwcFloat32Test(
85 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010086 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010087 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010088
89LayerTestResult<float, 4> SpaceToBatchNdPaddingNhwcFloat32Test(
90 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010091 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010092 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010093
Teresa Charlinf77cab52023-06-01 16:15:13 +010094LayerTestResult<float, 3> SpaceToBatchNdSimpleNhwc3DFloat32Test(
95 armnn::IWorkloadFactory& workloadFactory,
96 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
97 const armnn::ITensorHandleFactory& tensorHandleFactory);
98
Matthew Jackson9bff1442019-09-12 09:08:23 +010099LayerTestResult<armnn::Half, 4> SpaceToBatchNdSimpleNhwcFloat16Test(
100 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100101 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100102 const armnn::ITensorHandleFactory& tensorHandleFactory);
Matthew Jackson9bff1442019-09-12 09:08:23 +0100103
104LayerTestResult<armnn::Half, 4> SpaceToBatchNdMultiChannelsNhwcFloat16Test(
105 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100106 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100107 const armnn::ITensorHandleFactory& tensorHandleFactory);
Matthew Jackson9bff1442019-09-12 09:08:23 +0100108
109LayerTestResult<armnn::Half, 4> SpaceToBatchNdMultiBlockNhwcFloat16Test(
110 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100111 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100112 const armnn::ITensorHandleFactory& tensorHandleFactory);
Matthew Jackson9bff1442019-09-12 09:08:23 +0100113
114LayerTestResult<armnn::Half, 4> SpaceToBatchNdPaddingNhwcFloat16Test(
115 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100116 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100117 const armnn::ITensorHandleFactory& tensorHandleFactory);
Matthew Jackson9bff1442019-09-12 09:08:23 +0100118
Teresa Charlinf77cab52023-06-01 16:15:13 +0100119LayerTestResult<armnn::Half, 3> SpaceToBatchNdSimpleNhwc3DFloat16Test(
120 armnn::IWorkloadFactory& workloadFactory,
121 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
122 const armnn::ITensorHandleFactory& tensorHandleFactory);
123
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100124LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleNhwcUint8Test(
125 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100126 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100127 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100128
129LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsNhwcUint8Test(
130 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100131 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100132 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100133
134LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockNhwcUint8Test(
135 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100136 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100137 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100138
139LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingNhwcUint8Test(
140 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100141 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100142 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100143
Teresa Charlinf77cab52023-06-01 16:15:13 +0100144LayerTestResult<uint8_t, 3> SpaceToBatchNdSimpleNhwc3DUint8Test(
145 armnn::IWorkloadFactory& workloadFactory,
146 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
147 const armnn::ITensorHandleFactory& tensorHandleFactory);
148
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100149LayerTestResult<int16_t, 4> SpaceToBatchNdSimpleUint16Test(
150 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100151 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100152 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100153
154LayerTestResult<int16_t, 4> SpaceToBatchNdMultiChannelsUint16Test(
155 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100156 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100157 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100158
159LayerTestResult<int16_t, 4> SpaceToBatchNdMultiBlockUint16Test(
160 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100161 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100162 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100163
164LayerTestResult<int16_t, 4> SpaceToBatchNdPaddingUint16Test(
165 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100166 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100167 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100168
169LayerTestResult<int16_t, 4> SpaceToBatchNdSimpleNhwcUint16Test(
170 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100171 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100172 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100173
174LayerTestResult<int16_t, 4> SpaceToBatchNdMultiChannelsNhwcUint16Test(
175 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100176 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100177 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100178
179LayerTestResult<int16_t, 4> SpaceToBatchNdMultiBlockNhwcUint16Test(
180 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100181 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100182 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100183
184LayerTestResult<int16_t, 4> SpaceToBatchNdPaddingNhwcUint16Test(
185 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100186 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100187 const armnn::ITensorHandleFactory& tensorHandleFactory);