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 | |
| 6 | #pragma once |
| 7 | |
Sadik Armagan | a097d2a | 2021-11-24 15:47:28 +0000 | [diff] [blame] | 8 | #include <armnnTestUtils/LayerTestResult.hpp> |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 9 | |
| 10 | #include <ResolveType.hpp> |
| 11 | |
| 12 | #include <armnn/Types.hpp> |
| 13 | |
Matteo Martincigh | e5b8eb9 | 2019-11-28 15:45:42 +0000 | [diff] [blame] | 14 | #include <armnn/backends/IBackendInternal.hpp> |
Colm Donelan | 0c47974 | 2021-12-10 12:43:54 +0000 | [diff] [blame] | 15 | #include <armnn/backends/WorkloadFactory.hpp> |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 16 | |
| 17 | template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> |
| 18 | LayerTestResult<T, 2> Pad2dTestCommon( |
| 19 | armnn::IWorkloadFactory& workloadFactory, |
| 20 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 21 | const armnn::ITensorHandleFactory& tensorHandleFactory, |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 22 | float qScale, |
| 23 | int32_t qOffset, |
| 24 | const float customPaddingValue = 0.0f); |
| 25 | |
| 26 | template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> |
| 27 | LayerTestResult<T, 3> Pad3dTestCommon( |
| 28 | armnn::IWorkloadFactory& workloadFactory, |
| 29 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 30 | const armnn::ITensorHandleFactory& tensorHandleFactory, |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 31 | float qScale, |
| 32 | int32_t qOffset); |
| 33 | |
| 34 | template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> |
| 35 | LayerTestResult<T, 4> Pad4dTestCommon( |
| 36 | armnn::IWorkloadFactory& workloadFactory, |
| 37 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 38 | const armnn::ITensorHandleFactory& tensorHandleFactory, |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 39 | float qScale, |
| 40 | int32_t qOffset); |
| 41 | |
Narumol Prangnawarat | 8719d22 | 2020-11-27 16:57:56 +0000 | [diff] [blame] | 42 | template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> |
| 43 | LayerTestResult<T, 2> PadQAsymmTestCommon( |
| 44 | armnn::IWorkloadFactory& workloadFactory, |
| 45 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 46 | const armnn::ITensorHandleFactory& tensorHandleFactory, |
| 47 | float qScale, |
| 48 | int32_t qOffset, |
| 49 | const float customPaddingValue = 0.0f); |
| 50 | |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 51 | LayerTestResult<uint8_t, 2> PadUint82dTest( |
| 52 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 53 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 54 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 55 | |
| 56 | LayerTestResult<uint8_t, 2> PadUint82dCustomPaddingTest( |
| 57 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 58 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 59 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 60 | |
| 61 | LayerTestResult<uint8_t, 3> PadUint83dTest( |
| 62 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 63 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 64 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 65 | |
| 66 | LayerTestResult<uint8_t, 4> PadUint84dTest( |
| 67 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 68 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 69 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 70 | |
| 71 | LayerTestResult<float, 2> PadFloat322dTest( |
| 72 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 73 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 74 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 75 | |
| 76 | LayerTestResult<float, 2> PadFloat322dCustomPaddingTest( |
| 77 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 78 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 79 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 80 | |
| 81 | LayerTestResult<float, 3> PadFloat323dTest( |
| 82 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 83 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 84 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Aron Virginas-Tar | 00d306e | 2019-08-28 18:08:46 +0100 | [diff] [blame] | 85 | |
| 86 | LayerTestResult<float, 4> PadFloat324dTest( |
| 87 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 88 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 89 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Narumol Prangnawarat | 44179c3 | 2020-03-11 14:51:27 +0000 | [diff] [blame] | 90 | |
| 91 | LayerTestResult<armnn::BFloat16, 2> PadBFloat162dTest( |
| 92 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 93 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 94 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Narumol Prangnawarat | 44179c3 | 2020-03-11 14:51:27 +0000 | [diff] [blame] | 95 | |
| 96 | LayerTestResult<armnn::BFloat16, 2> PadBFloat162dCustomPaddingTest( |
| 97 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 98 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 99 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Narumol Prangnawarat | 44179c3 | 2020-03-11 14:51:27 +0000 | [diff] [blame] | 100 | |
| 101 | LayerTestResult<armnn::BFloat16, 3> PadBFloat163dTest( |
| 102 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 103 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 104 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Narumol Prangnawarat | 44179c3 | 2020-03-11 14:51:27 +0000 | [diff] [blame] | 105 | |
| 106 | LayerTestResult<armnn::BFloat16, 4> PadBFloat164dTest( |
| 107 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 108 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 109 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Sadik Armagan | 041b3c0 | 2020-06-04 10:32:18 +0100 | [diff] [blame] | 110 | |
| 111 | LayerTestResult<int8_t, 2> PadInt82dTest( |
| 112 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 113 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 114 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Sadik Armagan | 041b3c0 | 2020-06-04 10:32:18 +0100 | [diff] [blame] | 115 | |
| 116 | LayerTestResult<int8_t, 2> PadInt82dCustomPaddingTest( |
| 117 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 118 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 119 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Sadik Armagan | 041b3c0 | 2020-06-04 10:32:18 +0100 | [diff] [blame] | 120 | |
| 121 | LayerTestResult<int8_t, 3> PadInt83dTest( |
| 122 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 123 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 124 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
Sadik Armagan | 041b3c0 | 2020-06-04 10:32:18 +0100 | [diff] [blame] | 125 | |
| 126 | LayerTestResult<int8_t, 4> PadInt84dTest( |
| 127 | armnn::IWorkloadFactory& workloadFactory, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 128 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Narumol Prangnawarat | 8719d22 | 2020-11-27 16:57:56 +0000 | [diff] [blame] | 129 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
| 130 | |
| 131 | LayerTestResult<int8_t, 2> PadInt82dAsymmTest( |
| 132 | armnn::IWorkloadFactory& workloadFactory, |
| 133 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
| 134 | const armnn::ITensorHandleFactory& tensorHandleFactory); |
| 135 | |
| 136 | LayerTestResult<int8_t, 2> PadInt82dCustomPaddingAsymmTest( |
| 137 | armnn::IWorkloadFactory& workloadFactory, |
| 138 | const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, |
Finn Williams | 826a543 | 2020-08-27 16:15:20 +0100 | [diff] [blame] | 139 | const armnn::ITensorHandleFactory& tensorHandleFactory); |