blob: 7768b162f2f312d0ae1de12b6a916f69b3fafc42 [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
Matthew Jackson9bff1442019-09-12 09:08:23 +010094LayerTestResult<armnn::Half, 4> SpaceToBatchNdSimpleNhwcFloat16Test(
95 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +010096 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010097 const armnn::ITensorHandleFactory& tensorHandleFactory);
Matthew Jackson9bff1442019-09-12 09:08:23 +010098
99LayerTestResult<armnn::Half, 4> SpaceToBatchNdMultiChannelsNhwcFloat16Test(
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> SpaceToBatchNdMultiBlockNhwcFloat16Test(
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> SpaceToBatchNdPaddingNhwcFloat16Test(
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
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100114LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleNhwcUint8Test(
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);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100118
119LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsNhwcUint8Test(
120 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100121 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100122 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100123
124LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockNhwcUint8Test(
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> SpaceToBatchNdPaddingNhwcUint8Test(
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<int16_t, 4> SpaceToBatchNdSimpleUint16Test(
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<int16_t, 4> SpaceToBatchNdMultiChannelsUint16Test(
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
144LayerTestResult<int16_t, 4> SpaceToBatchNdMultiBlockUint16Test(
145 armnn::IWorkloadFactory& workloadFactory,
Sadik Armagan714fe5b2020-08-27 12:46:36 +0100146 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100147 const armnn::ITensorHandleFactory& tensorHandleFactory);
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100148
149LayerTestResult<int16_t, 4> SpaceToBatchNdPaddingUint16Test(
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> SpaceToBatchNdSimpleNhwcUint16Test(
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> SpaceToBatchNdMultiChannelsNhwcUint16Test(
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> SpaceToBatchNdMultiBlockNhwcUint16Test(
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> SpaceToBatchNdPaddingNhwcUint16Test(
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);