Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 1 | // |
| 2 | // Copyright © 2017 Arm Ltd. All rights reserved. |
| 3 | // SPDX-License-Identifier: MIT |
| 4 | // |
| 5 | #pragma once |
| 6 | |
Sadik Armagan | a097d2a | 2021-11-24 15:47:28 +0000 | [diff] [blame] | 7 | #include <armnnTestUtils/LayerTestResult.hpp> |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 8 | |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 9 | #include <Half.hpp> |
| 10 | |
Matteo Martincigh | e5b8eb9 | 2019-11-28 15:45:42 +0000 | [diff] [blame] | 11 | #include <armnn/backends/IBackendInternal.hpp> |
Colm Donelan | 0c47974 | 2021-12-10 12:43:54 +0000 | [diff] [blame] | 12 | #include <armnn/backends/WorkloadFactory.hpp> |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 13 | |
| 14 | LayerTestResult<float, 4> SpaceToBatchNdSimpleFloat32Test( |
| 15 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 16 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 17 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 18 | |
| 19 | LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsFloat32Test( |
| 20 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 21 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 22 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 23 | |
| 24 | LayerTestResult<float, 4> SpaceToBatchNdMultiBlockFloat32Test( |
| 25 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 26 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 27 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 28 | |
| 29 | LayerTestResult<float, 4> SpaceToBatchNdPaddingFloat32Test( |
| 30 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 31 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 32 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 33 | |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 34 | LayerTestResult<armnn::Half, 4> SpaceToBatchNdSimpleFloat16Test( |
| 35 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 36 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 37 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 38 | |
| 39 | LayerTestResult<armnn::Half, 4> SpaceToBatchNdMultiChannelsFloat16Test( |
| 40 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 41 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 42 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 43 | |
| 44 | LayerTestResult<armnn::Half, 4> SpaceToBatchNdMultiBlockFloat16Test( |
| 45 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 46 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 47 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 48 | |
| 49 | LayerTestResult<armnn::Half, 4> SpaceToBatchNdPaddingFloat16Test( |
| 50 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 51 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 52 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 53 | |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 54 | LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleUint8Test( |
| 55 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 56 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 57 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 58 | |
| 59 | LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsUint8Test( |
| 60 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 61 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 62 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 63 | |
| 64 | LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockUint8Test( |
| 65 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 66 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 67 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 68 | |
| 69 | LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingUint8Test( |
| 70 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 71 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 72 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 73 | |
| 74 | LayerTestResult<float, 4> SpaceToBatchNdSimpleNhwcFloat32Test( |
| 75 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 76 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 77 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 78 | |
| 79 | LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsNhwcFloat32Test( |
| 80 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 81 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 82 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 83 | |
| 84 | LayerTestResult<float, 4> SpaceToBatchNdMultiBlockNhwcFloat32Test( |
| 85 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 86 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 87 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 88 | |
| 89 | LayerTestResult<float, 4> SpaceToBatchNdPaddingNhwcFloat32Test( |
| 90 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 91 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 92 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 93 | |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 94 | LayerTestResult<armnn::Half, 4> SpaceToBatchNdSimpleNhwcFloat16Test( |
| 95 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 96 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 97 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 98 | |
| 99 | LayerTestResult<armnn::Half, 4> SpaceToBatchNdMultiChannelsNhwcFloat16Test( |
| 100 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 101 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 102 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 103 | |
| 104 | LayerTestResult<armnn::Half, 4> SpaceToBatchNdMultiBlockNhwcFloat16Test( |
| 105 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 106 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 107 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 108 | |
| 109 | LayerTestResult<armnn::Half, 4> SpaceToBatchNdPaddingNhwcFloat16Test( |
| 110 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 111 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 112 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Matthew Jackson | 9bff144 | 2019-09-12 09:08:23 +0100 | [diff] [blame] | 113 | |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 114 | LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleNhwcUint8Test( |
| 115 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 116 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 117 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 118 | |
| 119 | LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsNhwcUint8Test( |
| 120 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 121 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 122 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 123 | |
| 124 | LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockNhwcUint8Test( |
| 125 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 126 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 127 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 128 | |
| 129 | LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingNhwcUint8Test( |
| 130 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 131 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 132 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 133 | |
| 134 | LayerTestResult<int16_t, 4> SpaceToBatchNdSimpleUint16Test( |
| 135 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 136 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 137 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 138 | |
| 139 | LayerTestResult<int16_t, 4> SpaceToBatchNdMultiChannelsUint16Test( |
| 140 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 141 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 142 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 143 | |
| 144 | LayerTestResult<int16_t, 4> SpaceToBatchNdMultiBlockUint16Test( |
| 145 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 146 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 147 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 148 | |
| 149 | LayerTestResult<int16_t, 4> SpaceToBatchNdPaddingUint16Test( |
| 150 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 151 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 152 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 153 | |
| 154 | LayerTestResult<int16_t, 4> SpaceToBatchNdSimpleNhwcUint16Test( |
| 155 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 156 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 157 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 158 | |
| 159 | LayerTestResult<int16_t, 4> SpaceToBatchNdMultiChannelsNhwcUint16Test( |
| 160 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 161 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 162 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 163 | |
| 164 | LayerTestResult<int16_t, 4> SpaceToBatchNdMultiBlockNhwcUint16Test( |
| 165 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 166 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 167 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 168 | |
| 169 | LayerTestResult<int16_t, 4> SpaceToBatchNdPaddingNhwcUint16Test( |
| 170 | armnn::IWorkloadFactory& workloadFactory, |
Sadik Armagan | 714fe5b | 2020-08-27 12:46:36 +0100 | [diff] [blame] | 171 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Sadik Armagan | 89de3b4 | 2020-08-28 10:38:53 +0100 | [diff] [blame] | 172 | const armnn::ITensorHandleFactory& tensorHandleFactory); |