Skip to content

Commit 13f0a46

Browse files
author
Jenkins
committed
Compute Library v52.4.0
1 parent 76b83e8 commit 13f0a46

File tree

31 files changed

+2247
-1031
lines changed

31 files changed

+2247
-1031
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
2424

2525
project(
2626
ArmCompute
27-
VERSION 52.3.0
27+
VERSION 52.4.0
2828
DESCRIPTION
2929
"The Compute Library is a collection of low-level machine learning functions \
3030
optimized for Arm® Cortex®-A, Arm® Neoverse™ CPU and Arm® Mali™ GPU \

README.md

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
> [!IMPORTANT]
2-
> **Temporary Pause in Releases Due to Team Holidays**
3-
>
4-
> Releases of the Arm Compute Library will be paused until mid-August due to team holidays.
5-
6-
71
> [!IMPORTANT]
82
> **Versioning Change: CalVer → SemVer**
93
>
@@ -20,7 +14,7 @@
2014
<img src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png"/><br><br>
2115
</div>
2216

23-
# Compute Library ![](https://img.shields.io/badge/latest_release-52.3.0-green)
17+
# Compute Library ![](https://img.shields.io/badge/latest_release-52.4.0-green)
2418

2519

2620
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>
@@ -48,7 +42,7 @@ Key Features:
4842
<br>
4943

5044
## Documentation
51-
[![Documentation](https://img.shields.io/badge/documentation-52.3.0-green)](https://artificial-intelligence.sites.arm.com/computelibrary/v52.3.0/index.xhtml)
45+
[![Documentation](https://img.shields.io/badge/documentation-52.4.0-green)](https://artificial-intelligence.sites.arm.com/computelibrary/v52.4.0/index.xhtml)
5246

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

6256
| Platform | Operating System | Release archive (Download) |
6357
| -------------- | ---------------- | -------------------------- |
64-
| Raspberry Pi 4 | Linux® 32bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-armv7a-cpu-bin.tar.gz) |
65-
| Raspberry Pi 4 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-aarch64-cpu-bin.tar.gz) |
66-
| Odroid N2 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-aarch64-cpu-gpu-bin.tar.gz) |
67-
| HiKey960 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-aarch64-cpu-gpu-bin.tar.gz) |
58+
| Raspberry Pi 4 | Linux® 32bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-armv7a-cpu-bin.tar.gz) |
59+
| Raspberry Pi 4 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-aarch64-cpu-bin.tar.gz) |
60+
| Odroid N2 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-aarch64-cpu-gpu-bin.tar.gz) |
61+
| HiKey960 | Linux® 64bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-aarch64-cpu-gpu-bin.tar.gz) |
6862

6963
<br>
7064

7165
| Architecture | Operating System | Release archive (Download) |
7266
| ------------ | ---------------- | -------------------------- |
73-
| armv7 | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-armv7a-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-armv7a-cpu-gpu-bin.tar.gz) |
74-
| arm64-v8a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-android-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-android-aarch64-cpu-gpu-bin.tar.gz) |
75-
| arm64-v8a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.3.0/arm_compute-v52.3.0-linux-aarch64-cpu-gpu-bin.tar.gz) |
67+
| armv7 | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-armv7a-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-armv7a-cpu-gpu-bin.tar.gz) |
68+
| arm64-v8a | Android™ | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-android-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-android-aarch64-cpu-gpu-bin.tar.gz) |
69+
| arm64-v8a | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-aarch64-cpu-bin.tar.gz) [![](https://img.shields.io/badge/build-neon+cl-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.4.0/arm_compute-v52.4.0-linux-aarch64-cpu-gpu-bin.tar.gz) |
7670

7771
<br>
7872

79-
Please refer to the following link for more pre-built binaries: [![](https://img.shields.io/badge/v52.3.0-bins-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/tag/v52.3.0)
73+
Please refer to the following link for more pre-built binaries: [![](https://img.shields.io/badge/v52.4.0-bins-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/tag/v52.4.0)
8074

8175
Pre-build binaries are generated with the following security / good coding practices related flags:
8276
> -Wall, -Wextra, -Wformat=2, -Winit-self, -Wstrict-overflow=2, -Wswitch-default, -Woverloaded-virtual, -Wformat-security, -Wctor-dtor-privacy, -Wsign-promo, -Weffc++, -pedantic, -fstack-protector-strong
@@ -119,13 +113,13 @@ Pre-build binaries are generated with the following security / good coding pract
119113

120114
## Experimental builds
121115

122-
**⚠ Important** Bazel and CMake builds are experimental CPU only builds, please see the [documentation](https://artificial-intelligence.sites.arm.com/computelibrary/v52.3.0/how_to_build.xhtml) for more details.
116+
**⚠ Important** Bazel and CMake builds are experimental CPU only builds, please see the [documentation](https://artificial-intelligence.sites.arm.com/computelibrary/v52.4.0/how_to_build.xhtml) for more details.
123117

124118
<br>
125119

126120
## How to contribute
127121

128-
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/v52.3.0/contribution_guidelines.xhtml).
122+
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/v52.4.0/contribution_guidelines.xhtml).
129123

130124
### Developer Certificate of Origin (DCO)
131125
Before the Compute Library accepts your contribution, you need to certify its origin 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,9 +33,9 @@ import codecs
3333
import platform
3434
import SCons
3535

36-
VERSION = "v52.3.0"
36+
VERSION = "v52.4.0"
3737
LIBRARY_VERSION_MAJOR = 52
38-
LIBRARY_VERSION_MINOR = 3
38+
LIBRARY_VERSION_MINOR = 4
3939
LIBRARY_VERSION_PATCH = 0
4040
SONAME_VERSION = str(LIBRARY_VERSION_MAJOR) + "." + str(LIBRARY_VERSION_MINOR) + "." + str(LIBRARY_VERSION_PATCH)
4141

SConstruct

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ def update_data_type_layout_flags(env, data_types, data_layouts):
9292
vars = Variables("scons")
9393
vars.AddVariables(
9494
BoolVariable("debug", "Debug", False),
95+
BoolVariable("profile", "Profile using Perfetto, forces C++17", False),
96+
EnumVariable("profile_level", "Profile level. If not set, defaults to 0", allowed_values=("0", "1", "2"), default="0"),
9597
BoolVariable("asserts", "Enable asserts (this flag is forced to 1 for debug=1)", False),
9698
BoolVariable("logging", "Enable Logging", False),
9799
EnumVariable("arch", "Target Architecture. The x86_32 and x86_64 targets can only be used with neon=0 and opencl=1.", "armv7a",
@@ -250,6 +252,9 @@ env.Append(CXXFLAGS = ['-DARCH_ARM',
250252
if not 'windows' in env['os']:
251253
env.Append(CXXFLAGS = ['-Wall','-std=c++14', '-pedantic' ])
252254

255+
if env['profile']:
256+
env.Append(CXXFLAGS = ['-std=c++17', '-DACL_PROFILE_ENABLE'])
257+
env.Append(CXXFLAGS = ['-DACL_PROFILE_LEVEL=%d' % int(env['profile_level'])])
253258

254259
cpp_tool = {'linux': 'g++', 'android' : 'clang++',
255260
'tizen': 'g++', 'macos':'clang++',

arm_compute/runtime/experimental/operators/CpuGEMMLowp.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,17 @@ class CpuGEMMLowp : public INEOperator
8484
const ITensorInfo *output,
8585
const GEMMInfo &gemm_info = GEMMInfo());
8686

87+
/** Update of quantization information at the run stage so that the quantization multipliers can be properly calculated.
88+
*
89+
* Please have a look at NEGEMMConvolutionLayer.h for a more in-depth explanation and example.
90+
*/
91+
void update_quantization_parameters(const QuantizationInfo &a,
92+
const QuantizationInfo &b,
93+
const QuantizationInfo &c,
94+
const DataType data_type,
95+
const bool is_prepared,
96+
const bool negated_offsets);
97+
8798
// Inherited methods overridden
8899
void run(ITensorPack &tensors) override;
89100
void prepare(ITensorPack &tensors) override;

docs/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ PROJECT_NAME = "Compute Library"
6060
# could be handy for archiving the generated documentation or if some version
6161
# control system is used.
6262

63-
PROJECT_NUMBER = 52.3.0
63+
PROJECT_NUMBER = 52.4.0
6464

6565
# Using the PROJECT_BRIEF tag one can provide an optional one line description
6666
# for a project that appears at the top of each page and should give viewer a
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/*
2+
* Copyright (c) 2025 Arm Limited.
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to
8+
* deal in the Software without restriction, including without limitation the
9+
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10+
* sell copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included in all
14+
* copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
* SOFTWARE.
23+
*/
24+
25+
#ifndef ACL_SRC_COMMON_UTILS_PROFILE_ACL_PROFILE_H
26+
#define ACL_SRC_COMMON_UTILS_PROFILE_ACL_PROFILE_H
27+
28+
// Define ACL profile categories
29+
#define ARM_COMPUTE_PROF_CAT_NONE "NONE"
30+
#define ARM_COMPUTE_PROF_CAT_CPU "CPU"
31+
#define ARM_COMPUTE_PROF_CAT_NEON "NEON"
32+
#define ARM_COMPUTE_PROF_CAT_SVE "SVE"
33+
#define ARM_COMPUTE_PROF_CAT_SME "SME"
34+
#define ARM_COMPUTE_PROF_CAT_GPU "GPU"
35+
#define ARM_COMPUTE_PROF_CAT_MEMORY "MEMORY"
36+
#define ARM_COMPUTE_PROF_CAT_RUNTIME "RUNTIME"
37+
#define ARM_COMPUTE_PROF_CAT_SCHEDULER "SCHEDULER"
38+
39+
// Define ACL profile levels
40+
#define ARM_COMPUTE_PROF_L0 0
41+
#define ARM_COMPUTE_PROF_L1 1
42+
#define ARM_COMPUTE_PROF_L2 2
43+
44+
#define ARM_COMPUTE_TRACE_EVENT(category, level, name) \
45+
(void)category; \
46+
(void)name; \
47+
(void)level
48+
#define ARM_COMPUTE_TRACE_EVENT_BEGIN(category, level, name) \
49+
(void)category; \
50+
(void)name; \
51+
(void)level
52+
#define ARM_COMPUTE_TRACE_EVENT_END(category, level) \
53+
(void)category; \
54+
(void)level
55+
#define ARM_COMPUTE_PROFILE_INIT() \
56+
do \
57+
{ \
58+
} while (0)
59+
#define ARM_COMPUTE_PROFILE_STATIC_STORAGE() \
60+
do \
61+
{ \
62+
} while (0)
63+
#define ARM_COMPUTE_PROFILE_FINISH() \
64+
do \
65+
{ \
66+
} while (0)
67+
68+
#endif // ACL_SRC_COMMON_UTILS_PROFILE_ACL_PROFILE_H

src/cpu/kernels/activation/generic/neon/fp16.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2021 Arm Limited.
2+
* Copyright (c) 2021, 2025 Arm Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -23,7 +23,7 @@
2323
*/
2424
#if defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC) && defined(ENABLE_FP16_KERNELS)
2525

26-
#include "src/cpu/kernels/activation/generic/neon/impl.h"
26+
#include "src/cpu/kernels/activation/generic/neon/fp_impl.h"
2727

2828
namespace arm_compute
2929
{

src/cpu/kernels/activation/generic/neon/fp32.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2021 Arm Limited.
2+
* Copyright (c) 2021, 2025 Arm Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -22,7 +22,7 @@
2222
* SOFTWARE.
2323
*/
2424

25-
#include "src/cpu/kernels/activation/generic/neon/impl.h"
25+
#include "src/cpu/kernels/activation/generic/neon/fp_impl.h"
2626
namespace arm_compute
2727
{
2828
namespace cpu

0 commit comments

Comments
 (0)