commit | c4f2743951473f8d97f5a43767fdbb31a4df967c | [log] [tgz] |
---|---|---|
author | Gunes Bayir <gunes.bayir@arm.com> | Sun Sep 11 15:59:19 2022 +0100 |
committer | Gunes Bayir <gunes.bayir@arm.com> | Fri Sep 16 12:38:59 2022 +0000 |
tree | 26c49b1af8113bb169931f3af5e502904d455a25 | |
parent | 0d05b6690fe69c57f63ca43d59b551f074613062 [diff] |
Optimize Quantized/Integer Bilinear Scale for Neon™ This patch introduces several performance optimizations regarding the Bilinear Scale operator with REPLICATE Border mode. Changes apply only to NHWC. This patch - Reduces the memory footprint by disabling precomputation of indices and weights when they're not used - Rewrites the kernels for QASYMM8/QASYMM8_SIGNED/U8(Uint8) - Adds S8(Int8) Bilinear Scale for Border mode REPLICATE - Removes Bilinear Scale SVE kernels for Quantized and Integer types and adjust the heuristics to choose the Neon™ implementation - Adds new test cases where the input and output of the Bilinear Scale operator have different quantization scale and offset Resolves: COMPMID-5453, COMPMID-5454 Change-Id: I3d251e76e0c6978fd5a0a1795ec62ab536bec93c Signed-off-by: Gunes Bayir <gunes.bayir@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/8250 Reviewed-by: SiCong Li <sicong.li@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com>
⚠ Important From release 22.05: 'master' branch has been replaced with 'main' following our inclusive language update, more information here.
⚠ Important From release 22.08: armv7a with Android build will no longer be tested or maintained.
The Compute Library is a collection of low-level machine learning functions optimized for Arm® Cortex®-A, Arm® Neoverse® and Arm® Mali™ GPUs architectures.
The library provides superior performance to other open source alternatives and immediate support for new Arm® technologies e.g. SVE2.
Key Features:
Repository | Link |
---|---|
Release | https://github.com/arm-software/ComputeLibrary |
Development | https://review.mlplatform.org/#/admin/projects/ml/ComputeLibrary |
Note: The documentation includes the reference API, changelogs, build guide, contribution guide, errata, etc.
All the binaries can be downloaded from here or from the tables below.
Platform | Operating System | Release archive (Download) |
---|---|---|
Raspberry Pi 4 | Linux 32bit | |
Raspberry Pi 4 | Linux 64bit | |
Odroid N2 | Linux 64bit | |
HiKey960 | Linux 64bit |
Architecture | Operating System | Release archive (Download) |
---|---|---|
armv7 | Linux | |
arm64-v8a | Android | |
arm64-v8a | Linux | |
arm64-v8.2-a | Android | |
arm64-v8.2-a | Linux |
Pre-build binaries are generated with the following security / good coding practices related flags:
-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
Arm® CPUs:
Arm® Mali™ GPUs:
x86
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.
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/)
To indicate that you agree to the the terms of the DCO, you "sign off" your contribution by adding a line with your name and e-mail address to every git commit message:
Signed-off-by: John Doe <john.doe@example.org>
You must use your real name, no pseudonyms or anonymous contributions are accepted.
For technical discussion, the ComputeLibrary project has a public mailing list: acl-dev@lists.linaro.org The list is open to anyone inside or outside of Arm to self subscribe. In order to subscribe, please visit the following website: https://lists.linaro.org/mailman3/lists/acl-dev.lists.linaro.org/
The software is provided under MIT license. Contributions to this project are accepted under the same license.
This project contains code from other projects as listed below. The original license text is included in those source files.
The OpenCL header library is licensed under Apache License, Version 2.0, which is a permissive license compatible with MIT license.
The half library is licensed under MIT license.
The libnpy library is licensed under MIT license.
The stb image library is either licensed under MIT license or is in Public Domain. It is used by this project under the terms of MIT license.
Android is a trademark of Google LLC.
Arm, Cortex, Mali and Neon are registered trademarks or trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Mac and macOS are trademarks of Apple Inc., registered in the U.S. and other countries.
Tizen is a registered trademark of The Linux Foundation.