Skip to content

Commit cd9922e

Browse files
author
Jenkins
committed
Compute Library v52.3.0
1 parent 7491054 commit cd9922e

39 files changed

+2116
-807
lines changed

Android.bp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,6 +1000,7 @@ cc_library_static {
10001000
"src/runtime/experimental/operators/CpuDepthwiseConv2d.cpp",
10011001
"src/runtime/experimental/operators/CpuDequantize.cpp",
10021002
"src/runtime/experimental/operators/CpuElementwise.cpp",
1003+
"src/runtime/experimental/operators/CpuFullyConnected.cpp",
10031004
"src/runtime/experimental/operators/CpuGEMMLowp.cpp",
10041005
"src/runtime/experimental/operators/CpuGemm.cpp",
10051006
"src/runtime/experimental/operators/CpuGemmConv2d.cpp",

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.2.0
27+
VERSION 52.3.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 & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<img src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png"/><br><br>
1515
</div>
1616

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

1919

2020
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>
@@ -42,7 +42,7 @@ Key Features:
4242
<br>
4343

4444
## Documentation
45-
[![Documentation](https://img.shields.io/badge/documentation-52.2.0-green)](https://artificial-intelligence.sites.arm.com/computelibrary/v52.2.0/index.xhtml)
45+
[![Documentation](https://img.shields.io/badge/documentation-52.3.0-green)](https://artificial-intelligence.sites.arm.com/computelibrary/v52.3.0/index.xhtml)
4646

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

5656
| Platform | Operating System | Release archive (Download) |
5757
| -------------- | ---------------- | -------------------------- |
58-
| Raspberry Pi 4 | Linux® 32bit | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.3.0/arm_compute-v52.3.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.3.0/arm_compute-v52.3.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.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) |
61+
| 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) |
6262

6363
<br>
6464

6565
| Architecture | Operating System | Release archive (Download) |
6666
| ------------ | ---------------- | -------------------------- |
67-
| armv7 | Linux® | [![](https://img.shields.io/badge/build-neon-orange)](https://github.com/ARM-software/ComputeLibrary/releases/download/v52.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.2.0/arm_compute-v52.2.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.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) |
68+
| 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) |
69+
| 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) |
7070

7171
<br>
7272

73-
Please refer to the following link for more pre-built binaries: [![](https://img.shields.io/badge/v52.2.0-bins-yellowgreen)](https://github.com/ARM-software/ComputeLibrary/releases/tag/v52.2.0)
73+
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)
7474

7575
Pre-build binaries are generated with the following security / good coding practices related flags:
7676
> -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
@@ -113,13 +113,13 @@ Pre-build binaries are generated with the following security / good coding pract
113113

114114
## Experimental builds
115115

116-
**⚠ Important** Bazel and CMake builds are experimental CPU only builds, please see the [documentation](https://artificial-intelligence.sites.arm.com/computelibrary/v52.2.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.3.0/how_to_build.xhtml) for more details.
117117

118118
<br>
119119

120120
## How to contribute
121121

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.2.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.3.0/contribution_guidelines.xhtml).
123123

124124
### Developer Certificate of Origin (DCO)
125125
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.2.0"
36+
VERSION = "v52.3.0"
3737
LIBRARY_VERSION_MAJOR = 52
38-
LIBRARY_VERSION_MINOR = 2
38+
LIBRARY_VERSION_MINOR = 3
3939
LIBRARY_VERSION_PATCH = 0
4040
SONAME_VERSION = str(LIBRARY_VERSION_MAJOR) + "." + str(LIBRARY_VERSION_MINOR) + "." + str(LIBRARY_VERSION_PATCH)
4141

arm_compute/core/Dimensions.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,17 @@ class Dimensions
167167

168168
if (last > (first + 1))
169169
{
170+
auto it_first = _id.begin() + first;
171+
auto it_last = _id.begin() + last;
170172
// Collapse dimensions into the first
171-
_id[first] = std::accumulate(&_id[first], &_id[last], 1, std::multiplies<T>());
173+
_id[first] = std::accumulate(it_first, it_last, 1, std::multiplies<T>());
172174
// Shift the remaining dimensions down
173-
std::copy(&_id[last], &_id[_num_dimensions], &_id[first + 1]);
175+
std::copy(it_last, _id.begin() + _num_dimensions, it_first + 1);
174176
// Reduce the number of dimensions
175177
const size_t old_num_dimensions = _num_dimensions;
176178
_num_dimensions -= last - first - 1;
177179
// Fill the now empty dimensions with zero
178-
std::fill(&_id[_num_dimensions], &_id[old_num_dimensions], 0);
180+
std::fill(_id.begin() + _num_dimensions, _id.begin() + old_num_dimensions, 0);
179181
}
180182
}
181183

arm_compute/core/Error.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@
2424
#ifndef ACL_ARM_COMPUTE_CORE_ERROR_H
2525
#define ACL_ARM_COMPUTE_CORE_ERROR_H
2626

27-
/** @file
28-
* @publicapi
29-
*/
30-
3127
#include <array>
3228
#include <string>
3329

arm_compute/core/QuantizationInfo.h

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -394,15 +394,19 @@ inline int8_t quantize_qsymm8(float value, const QuantizationInfo &qinfo)
394394

395395
/** Quantize a value given a 8-bit symmetric per channel quantization scheme
396396
*
397-
* @param[in] value Value to quantize
398-
* @param[in] qinfo Quantization information to use for quantizing
399-
* @param[in] channel_id channel index into the scale vector of quantization info
397+
* @param[in] value Value to quantize
398+
* @param[in] qinfo Quantization information to use for quantizing
399+
* @param[in] channel_id channel index into the scale vector of quantization info
400+
* @param[in] rounding_policy (Optional) Rounding policy to use. Default: nearest up
400401
*
401402
* @return Quantized value
402403
*/
403-
inline int8_t quantize_qsymm8_per_channel(float value, const QuantizationInfo &qinfo, size_t channel_id = 0)
404+
inline int8_t quantize_qsymm8_per_channel(float value,
405+
const QuantizationInfo &qinfo,
406+
size_t channel_id = 0,
407+
RoundingPolicy rounding_policy = RoundingPolicy::TO_NEAREST_UP)
404408
{
405-
int quantized = arm_compute::round(value / qinfo.scale()[channel_id], RoundingPolicy::TO_NEAREST_UP);
409+
int quantized = arm_compute::round(value / qinfo.scale()[channel_id], rounding_policy);
406410
quantized = std::max(-128, std::min(quantized, 127));
407411
return quantized;
408412
}

arm_compute/runtime/NEON/functions/NEQuantizationLayer.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,21 +60,21 @@ class NEQuantizationLayer : public IFunction
6060
* - All
6161
*
6262
* Valid data type configurations:
63-
* |src |dst |
64-
* |:------------------|:--------------------------------------|
65-
* |QASYMM8 |QASYMM8, QASYMM8_SIGNED, QASYMM16 |
66-
* |QASYMM8_SIGNED |QASYMM8, QASYMM8_SIGNED, QASYMM16 |
67-
* |F16 |QASYMM8, QASYMM8_SIGNED, QASYMM16 |
68-
* |F32 |QASYMM8, QASYMM8_SIGNED, QASYMM16 |
63+
* |src |dst |
64+
* |:------------------|:----------------------------------------------------------|
65+
* |QASYMM8 |QASYMM8, QASYMM8_SIGNED, QASYMM16 |
66+
* |QASYMM8_SIGNED |QASYMM8, QASYMM8_SIGNED, QASYMM16 |
67+
* |F16 |QASYMM8, QASYMM8_SIGNED, QASYMM16 |
68+
* |F32 |QASYMM8, QASYMM8_SIGNED, QSYMM8_PER_CHANNEL, QASYMM16 |
6969
*
7070
* @param[in] input Source tensor. The dimensions over the third will be interpreted as batches. Data types supported: QASYMM8/QASYMM8_SIGNED/F32/F16.
71-
* @param[out] output Destination tensor with the same dimensions of input. Data types supported: QASYMM8/QASYMM8_SIGNED/QASYMM16
71+
* @param[out] output Destination tensor with the same dimensions of input. Data types supported: QASYMM8/QASYMM8_SIGNED/QSYMM8_PER_CHANNEL/QASYMM16
7272
*/
7373
void configure(const ITensor *input, ITensor *output);
7474
/** Static function to check if given info will lead to a valid configuration of @ref NEQuantizationLayer
7575
*
7676
* @param[in] input Input tensor info. The dimensions over the third will be interpreted as batches. Data types supported: QASYMM8/QASYMM8_SIGNED/F32/F16.
77-
* @param[in] output Output tensor info. Data types supported: QASYMM8/QASYMM8_SIGNED/QASYMM16
77+
* @param[in] output Output tensor info. Data types supported: QASYMM8/QASYMM8_SIGNED/QSYMM8_PER_CHANNEL/QASYMM16
7878
*
7979
* @return a status
8080
*/

0 commit comments

Comments
 (0)