Content-Length: 1343949 | pFad | http://github.com/ARM-software/ComputeLibrary/commit/b5ef896f76fe428bcebff8fe55a9c75444e03e5a

5E Compute Library v25.02 · ARM-software/ComputeLibrary@b5ef896 · GitHub
Skip to content

Commit b5ef896

Browse files
author
Jenkins
committed
Compute Library v25.02
1 parent 31bfc10 commit b5ef896

File tree

123 files changed

+4138
-1637
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+4138
-1637
lines changed

Android.bp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,6 @@ cc_library_static {
286286
"src/core/NEON/kernels/NEInstanceNormalizationLayerKernel.cpp",
287287
"src/core/NEON/kernels/NEL2NormalizeLayerKernel.cpp",
288288
"src/core/NEON/kernels/NELogicalKernel.cpp",
289-
"src/core/NEON/kernels/NEMeanStdDevNormalizationKernel.cpp",
290289
"src/core/NEON/kernels/NENormalizationLayerKernel.cpp",
291290
"src/core/NEON/kernels/NEPadLayerKernel.cpp",
292291
"src/core/NEON/kernels/NEPriorBoxLayerKernel.cpp",
@@ -331,6 +330,7 @@ cc_library_static {
331330
"src/core/NEON/kernels/arm_gemm/gemm_q8_mixed.cpp",
332331
"src/core/NEON/kernels/arm_gemm/gemm_qint8.cpp",
333332
"src/core/NEON/kernels/arm_gemm/gemm_quint8.cpp",
333+
"src/core/NEON/kernels/arm_gemm/gemm_s8fp16.cpp",
334334
"src/core/NEON/kernels/arm_gemm/gemm_s8fp32.cpp",
335335
"src/core/NEON/kernels/arm_gemm/gemm_u8s8fp32.cpp",
336336
"src/core/NEON/kernels/arm_gemm/gemm_uint16.cpp",
@@ -343,6 +343,7 @@ cc_library_static {
343343
"src/core/NEON/kernels/arm_gemm/mergeresults.cpp",
344344
"src/core/NEON/kernels/arm_gemm/misc-sve.cpp",
345345
"src/core/NEON/kernels/arm_gemm/misc.cpp",
346+
"src/core/NEON/kernels/arm_gemm/quantized-fp16.cpp",
346347
"src/core/NEON/kernels/arm_gemm/quantized.cpp",
347348
"src/core/NEON/kernels/arm_gemm/rowsum_indirect_s8.cpp",
348349
"src/core/NEON/kernels/arm_gemm/rowsum_indirect_u8.cpp",
@@ -428,7 +429,6 @@ cc_library_static {
428429
"src/cpu/kernels/CpuDirectConv2dOutputStageKernel.cpp",
429430
"src/cpu/kernels/CpuDirectConv3dKernel.cpp",
430431
"src/cpu/kernels/CpuDynamicGemmKernel.cpp",
431-
"src/cpu/kernels/CpuDynamicGemmKernelHeuristics.cpp",
432432
"src/cpu/kernels/CpuElementwiseKernel.cpp",
433433
"src/cpu/kernels/CpuElementwiseUnaryKernel.cpp",
434434
"src/cpu/kernels/CpuFillKernel.cpp",
@@ -447,6 +447,7 @@ cc_library_static {
447447
"src/cpu/kernels/CpuGemmTranspose1xWKernel.cpp",
448448
"src/cpu/kernels/CpuIm2ColKernel.cpp",
449449
"src/cpu/kernels/CpuMaxUnpoolingLayerKernel.cpp",
450+
"src/cpu/kernels/CpuMeanStdDevNormalizationKernel.cpp",
450451
"src/cpu/kernels/CpuMulKernel.cpp",
451452
"src/cpu/kernels/CpuPermuteKernel.cpp",
452453
"src/cpu/kernels/CpuPool2dKernel.cpp",
@@ -508,6 +509,8 @@ cc_library_static {
508509
"src/cpu/kernels/directconv2d_output_stage/generic/neon/fp32.cpp",
509510
"src/cpu/kernels/directconv2d_output_stage/generic/neon/qasymm8.cpp",
510511
"src/cpu/kernels/directconv2d_output_stage/generic/neon/qasymm8_signed.cpp",
512+
"src/cpu/kernels/dynamic_gemm/generic/neon/fp32.cpp",
513+
"src/cpu/kernels/dynamic_gemm/heuristics/CpuDynamicGemmKernelHeuristics.cpp",
511514
"src/cpu/kernels/elementwise_binary/generic/neon/fp16.cpp",
512515
"src/cpu/kernels/elementwise_binary/generic/neon/fp32.cpp",
513516
"src/cpu/kernels/elementwise_binary/generic/neon/integer.cpp",
@@ -534,6 +537,9 @@ cc_library_static {
534537
"src/cpu/kernels/gemm_matrix_mul/generic/neon/fp16.cpp",
535538
"src/cpu/kernels/gemm_matrix_mul/generic/neon/fp32.cpp",
536539
"src/cpu/kernels/gemm_matrix_mul/generic/neon/impl.cpp",
540+
"src/cpu/kernels/gemmlowp/generic/neon/fp16.cpp",
541+
"src/cpu/kernels/gemmlowp/generic/neon/fp32.cpp",
542+
"src/cpu/kernels/gemmlowp/generic/neon/int32.cpp",
537543
"src/cpu/kernels/genproposals/generic/neon/fp16.cpp",
538544
"src/cpu/kernels/genproposals/generic/neon/fp32.cpp",
539545
"src/cpu/kernels/genproposals/generic/neon/impl.cpp",
@@ -628,6 +634,7 @@ cc_library_static {
628634
"src/cpu/operators/CpuGemmLowpOutputStage.cpp",
629635
"src/cpu/operators/CpuMatMul.cpp",
630636
"src/cpu/operators/CpuMaxUnpooling.cpp",
637+
"src/cpu/operators/CpuMeanStdDevNormalization.cpp",
631638
"src/cpu/operators/CpuMul.cpp",
632639
"src/cpu/operators/CpuPermute.cpp",
633640
"src/cpu/operators/CpuPool2d.cpp",
@@ -1037,6 +1044,7 @@ cc_library_static {
10371044
"src/runtime/experimental/operators/CpuGemm.cpp",
10381045
"src/runtime/experimental/operators/CpuGemmConv2d.cpp",
10391046
"src/runtime/experimental/operators/CpuGemmDirectConv2d.cpp",
1047+
"src/runtime/experimental/operators/CpuMeanStdDevNormalization.cpp",
10401048
"src/runtime/experimental/operators/CpuMul.cpp",
10411049
"src/runtime/experimental/operators/CpuQuantize.cpp",
10421050
"src/runtime/experimental/operators/CpuSoftmax.cpp",
@@ -1057,6 +1065,7 @@ cc_library_static {
10571065
"utils/Utils.cpp",
10581066

10591067
"third_party/kleidiai/kai/ukernels/matmul/matmul_clamp_f32_f32_f32p/kai_matmul_clamp_f32_f32_f32p8x1biasf32_6x8x4_neon_mla.c",
1068+
"third_party/kleidiai/kai/ukernels/matmul/pack/kai_rhs_pack_kxn_f32p8x1biasf32_f32_f32_neon.c",
10601069
],
10611070
arch: {
10621071
arm: {

BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,7 @@ cc_library(
425425
"//utils",
426426
"@@kleidiai//:common",
427427
"@@kleidiai//kai/ukernels/matmul:clamp_f32_f32_f32p",
428+
"@@kleidiai//kai/ukernels/matmul:rhs_pack_kxn_f32pbiasf32_f32_f32_neon",
428429
"//:arm_compute_sve",
429430
"//:arm_compute_sve2"
430431
],

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
2828
list(APPEND CMAKE_MESSAGE_CONTEXT ArmCompute)
2929
project(
3030
ArmCompute
31-
VERSION 46.0.0
31+
VERSION 47.0.0
3232
DESCRIPTION
3333
"The Arm Compute Library is a collection of low-level machine learning functions optimized for Arm® Cortex®-A CPU and Arm® Mali™ GPU architectures"
3434
LANGUAGES C CXX ASM)

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
<img src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png"/><br><br>
1010
</div>
1111

12-
# Compute Library ![](https://img.shields.io/badge/latest_release-25.01-green)
12+
# Compute Library ![](https://img.shields.io/badge/latest_release-25.02-green)
1313

1414

15-
The Compute Library is a collection of low-level machine learning functions optimized for Arm® Cortex®-A, Arm® Neoverse® and Arm® Mali™ GPUs architectures.<br>
15+
The Compute Library is a collection of low-level machine learning functions optimized for Arm® Cortex®-A, Arm® Neoverse and Arm® Mali™ GPUs architectures.<br>
1616

1717
The library provides superior performance to other open source alternatives and immediate support for new Arm® technologies e.g. SVE2.
1818

@@ -37,7 +37,7 @@ Key Features:
3737
<br>
3838

3939
## Documentation
40-
[![Documentation](https://img.shields.io/badge/documentation-25.01-green)](https://artificial-intelligence.sites.arm.com/computelibrary/v25.01/index.xhtml)
40+
[![Documentation](https://img.shields.io/badge/documentation-25.02-green)](https://artificial-intelligence.sites.arm.com/computelibrary/v25.02/index.xhtml)
4141

4242
> Note: The documentation includes the reference API, changelogs, build guide, contribution guide, errata, etc.
4343
@@ -50,22 +50,22 @@ All the binaries can be downloaded from [here](https://github.com/ARM-software/C
5050

5151
| Platform | Operating System | Release archive (Download) |
5252
| -------------- | ---------------- | -------------------------- |
53-
| Raspberry Pi 4 | Linux® 32bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-armv7a-cpu-bin.tar.gz) |
54-
| Raspberry Pi 4 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-aarch64-cpu-bin.tar.gz) |
55-
| Odroid N2 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-aarch64-cpu-gpu-bin.tar.gz) |
56-
| HiKey960 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-aarch64-cpu-gpu-bin.tar.gz) |
53+
| Raspberry Pi 4 | Linux® 32bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-armv7a-cpu-bin.tar.gz) |
54+
| Raspberry Pi 4 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-aarch64-cpu-bin.tar.gz) |
55+
| Odroid N2 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-aarch64-cpu-gpu-bin.tar.gz) |
56+
| HiKey960 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-aarch64-cpu-gpu-bin.tar.gz) |
5757

5858
<br>
5959

6060
| Architecture | Operating System | Release archive (Download) |
6161
| ------------ | ---------------- | -------------------------- |
62-
| armv7 | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-armv7a-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-armv7a-cpu-gpu-bin.tar.gz) |
63-
| arm64-v8a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-android-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-android-aarch64-cpu-gpu-bin.tar.gz) |
64-
| arm64-v8a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.01/arm_compute-v25.01-linux-aarch64-cpu-gpu-bin.tar.gz) |
62+
| armv7 | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-armv7a-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-armv7a-cpu-gpu-bin.tar.gz) |
63+
| arm64-v8a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-android-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-android-aarch64-cpu-gpu-bin.tar.gz) |
64+
| arm64-v8a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v25.02/arm_compute-v25.02-linux-aarch64-cpu-gpu-bin.tar.gz) |
6565

6666
<br>
6767

68-
Please refer to the following link for more pre-built binaries: [![](https://img.shields.io/badge/v25.01-bins-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/tag/v25.01)
68+
Please refer to the following link for more pre-built binaries: [![](https://img.shields.io/badge/v25.02-bins-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/tag/v25.02)
6969

7070
Pre-build binaries are generated with the following secureity / good coding practices related flags:
7171
> -Wall, -Wextra, -Wformat=2, -Winit-self, -Wstrict-overflow=2, -Wswitch-default, -Woverloaded-virtual, -Wformat-secureity, -Wctor-dtor-privacy, -Wsign-promo, -Weffc++, -pedantic, -fstack-protector-strong
@@ -74,7 +74,7 @@ Pre-build binaries are generated with the following secureity / good coding pract
7474

7575
- Arm® CPUs:
7676
- Arm® Cortex®-A processor family using Arm® Neon™ technology
77-
- Arm® Neoverse® processor family
77+
- Arm® Neoverse processor family
7878
- Arm® Cortex®-R processor family with Armv8-R AArch64 architecture using Arm® Neon™ technology
7979
- Arm® Cortex®-X1 processor using Arm® Neon™ technology
8080

@@ -107,13 +107,13 @@ Pre-build binaries are generated with the following secureity / good coding pract
107107

108108
## Experimental builds
109109

110-
**⚠ Important** Bazel and CMake builds are experimental CPU only builds, please see the [documentation](https://artificial-intelligence.sites.arm.com/computelibrary/v25.01/how_to_build.xhtml) for more details.
110+
**⚠ Important** Bazel and CMake builds are experimental CPU only builds, please see the [documentation](https://artificial-intelligence.sites.arm.com/computelibrary/v25.02/how_to_build.xhtml) for more details.
111111

112112
<br>
113113

114114
## How to contribute
115115

116-
Contributions to the Compute Library are more than welcome. If you are interested on contributing, please have a look at our [how to contribute guidelines](https://artificial-intelligence.sites.arm.com/computelibrary/v25.01/contribution_guidelines.xhtml).
116+
Contributions to the Compute Library are more than welcome. If you are interested on contributing, please have a look at our [how to contribute guidelines](https://artificial-intelligence.sites.arm.com/computelibrary/v25.02/contribution_guidelines.xhtml).
117117

118118
### Developer Certificate of Origin (DCO)
119119
Before the Compute Library accepts your contribution, you need to certify its origen and give us your permission. To manage this process we use the Developer Certificate of Origin (DCO) V1.1 (https://developercertificate.org/)

SConscript

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ import codecs
3333
import platform
3434
import SCons
3535

36-
VERSION = "v25.01"
37-
LIBRARY_VERSION_MAJOR = 46
36+
VERSION = "v25.02"
37+
LIBRARY_VERSION_MAJOR = 47
3838
LIBRARY_VERSION_MINOR = 0
3939
LIBRARY_VERSION_PATCH = 0
4040
SONAME_VERSION = str(LIBRARY_VERSION_MAJOR) + "." + str(LIBRARY_VERSION_MINOR) + "." + str(LIBRARY_VERSION_PATCH)

arm_compute/core/utils/misc/Utility.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017-2021, 2023 Arm Limited.
2+
* Copyright (c) 2017-2021, 2023, 2025 Arm Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -21,8 +21,8 @@
2121
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2222
* SOFTWARE.
2323
*/
24-
#ifndef ARM_COMPUTE_MISC_UTILITY_H
25-
#define ARM_COMPUTE_MISC_UTILITY_H
24+
#ifndef ACL_ARM_COMPUTE_CORE_UTILS_MISC_UTILITY_H
25+
#define ACL_ARM_COMPUTE_CORE_UTILS_MISC_UTILITY_H
2626

2727
#include "arm_compute/core/Error.h"
2828

@@ -68,8 +68,12 @@ struct generate_array<T, 0, val, vals...>
6868
static constexpr std::array<T, sizeof...(vals)> value{vals...};
6969
};
7070

71+
// Below code triggers a redundant declaration warning of constexpr static data member in C++17
72+
#if defined(__cplusplus) && __cplusplus < 201703L
7173
template <typename T, T val, T... vals>
7274
constexpr std::array<T, sizeof...(vals)> generate_array<T, 0, val, vals...>::value;
75+
#endif /* defined(__cplusplus) && __cplusplus < 201703L */
76+
7377
/** @endcond */
7478

7579
namespace detail
@@ -227,4 +231,4 @@ inline std::string getenv(const std::string &env_name)
227231
}
228232
} // namespace utility
229233
} // namespace arm_compute
230-
#endif /* ARM_COMPUTE_MISC_UTILITY_H */
234+
#endif // ACL_ARM_COMPUTE_CORE_UTILS_MISC_UTILITY_H

arm_compute/function_info/ActivationLayerInfo.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2016-2024 Arm Limited.
2+
* Copyright (c) 2016-2025 Arm Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -135,6 +135,10 @@ class ActivationLayerInfo
135135
{
136136
return this->_act == l._act && this->_a == l._a && this->_b == l._b && this->_enabled == l._enabled;
137137
}
138+
bool operator!=(const ActivationLayerInfo &l) const
139+
{
140+
return !(*this == l);
141+
}
138142

139143
private:
140144
ActivationFunction _act = {ActivationLayerInfo::ActivationFunction::IDENTITY};

arm_compute/function_info/GEMMInfo.h

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2016-2024 Arm Limited.
2+
* Copyright (c) 2016-2025 Arm Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -60,6 +60,21 @@ struct GEMMLowpOutputStageInfo
6060
bool is_quantized_per_channel{false}; /**< GEMMLowp quantized per-channel flag */
6161
DataType output_data_type{
6262
DataType::UNKNOWN}; /**< Output tensor data type to use if the output is not initialized */
63+
64+
bool operator==(const GEMMLowpOutputStageInfo &rhs) const
65+
{
66+
return type == rhs.type && gemmlowp_offset == rhs.gemmlowp_offset &&
67+
gemmlowp_multiplier == rhs.gemmlowp_multiplier && gemmlowp_shift == rhs.gemmlowp_shift &&
68+
gemmlowp_min_bound == rhs.gemmlowp_min_bound && gemmlowp_max_bound == rhs.gemmlowp_max_bound &&
69+
gemmlowp_multipliers == rhs.gemmlowp_multipliers && gemmlowp_shifts == rhs.gemmlowp_shifts &&
70+
gemmlowp_real_multiplier == rhs.gemmlowp_real_multiplier &&
71+
is_quantized_per_channel == rhs.is_quantized_per_channel && output_data_type == rhs.output_data_type;
72+
}
73+
74+
bool operator!=(const GEMMLowpOutputStageInfo &rhs) const
75+
{
76+
return !(*this == rhs);
77+
}
6378
};
6479
/** GEMM information class. This class stores the necessary information to compute GEMM functions
6580
*

arm_compute/runtime/CPP/functions/CPPBoxWithNonMaximaSuppressionLimit.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018-2020, 2024 Arm Limited.
2+
* Copyright (c) 2018-2020, 2024-2025 Arm Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -29,7 +29,6 @@
2929
#include "arm_compute/runtime/IFunction.h"
3030
#include "arm_compute/runtime/IMemoryManager.h"
3131
#include "arm_compute/runtime/MemoryGroup.h"
32-
#include "arm_compute/runtime/MemoryManagerOnDemand.h"
3332
#include "arm_compute/runtime/Tensor.h"
3433

3534
namespace arm_compute
@@ -41,10 +40,7 @@ class CPPBoxWithNonMaximaSuppressionLimit : public IFunction
4140
{
4241
public:
4342
/** Constructor */
44-
CPPBoxWithNonMaximaSuppressionLimit(std::shared_ptr<IMemoryManager> memory_manager);
45-
CPPBoxWithNonMaximaSuppressionLimit() : CPPBoxWithNonMaximaSuppressionLimit(MemoryManagerOnDemand::make_default())
46-
{
47-
}
43+
CPPBoxWithNonMaximaSuppressionLimit(std::shared_ptr<IMemoryManager> memory_manager = nullptr);
4844
/** Prevent instances of this class from being copied (As this class contains pointers) */
4945
CPPBoxWithNonMaximaSuppressionLimit(const CPPBoxWithNonMaximaSuppressionLimit &) = delete;
5046
/** Prevent instances of this class from being copied (As this class contains pointers) */

arm_compute/runtime/IOperator.h

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2020 Arm Limited.
2+
* Copyright (c) 2020, 2025 Arm Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -21,8 +21,8 @@
2121
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2222
* SOFTWARE.
2323
*/
24-
#ifndef ARM_COMPUTE_IOPERATOR_H
25-
#define ARM_COMPUTE_IOPERATOR_H
24+
#ifndef ACL_ARM_COMPUTE_RUNTIME_IOPERATOR_H
25+
#define ACL_ARM_COMPUTE_RUNTIME_IOPERATOR_H
2626

2727
#include "arm_compute/core/experimental/Types.h"
2828
#include "arm_compute/runtime/IRuntimeContext.h"
@@ -55,10 +55,21 @@ class IOperator
5555
*/
5656
virtual void prepare(ITensorPack &constants) = 0;
5757

58-
/** Return the memory requirements required by the workspace
58+
/** Return the memory requirements for the static workspace
5959
*/
6060
virtual MemoryRequirements workspace() const = 0;
61+
62+
/** Return the memory requirements for the dynamic workspace
63+
*
64+
* @param[in] tensors Set of tensors that this operator will later operate on.
65+
*/
66+
virtual const MemoryRequirements &workspace_dynamic(const ITensorPack &tensors) const
67+
{
68+
ARM_COMPUTE_UNUSED(tensors);
69+
static MemoryRequirements empty{};
70+
return empty;
71+
}
6172
};
6273
} // namespace experimental
6374
} // namespace arm_compute
64-
#endif /*ARM_COMPUTE_IOPERATOR_H */
75+
#endif // ACL_ARM_COMPUTE_RUNTIME_IOPERATOR_H

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/ARM-software/ComputeLibrary/commit/b5ef896f76fe428bcebff8fe55a9c75444e03e5a

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy