The Compute Library is a collection of low-level machine learning functions optimized for Arm® Cortex®-A 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 | Android | |
armv7 | Linux | |
arm64-v8a | Android | |
arm64-v8a | Linux | |
arm64-v8.2-a | Android | |
arm64-v8.2-a | Linux |
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.orgThe 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/mailman/listinfo/acl-dev
The software is provided under MIT license. Contributions to this project are accepted under the same 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 othercountries.
Tizen is a registered trademark of The Linux Foundation.
下载linux版本的arm-compute-library,解压出来即可使用。compute library支持neon和opencl方式,neon方式时利用原生的ARM的neon硬件进行加速。而opencl是一个并行计算框架,同时支持neon硬件和GPU硬件。由于现在使用的ARM的GPU还不支持OpenCL方式,因此就使用预编译库中的linux-armv7a-neon目录中的库文件。编译一个程序
ARM Compute Library是ARM公司刚发布不久的开源工程,旨在为图像/视频/多媒体/计算机视觉等领域的开发者提供arm平台的硬件加速库。这个库中分别用OpenCL与NEON的方式实现了一些上述领域的基本算法,OpenCL主要是arm的Mali GPU加速,NEON是针对arm的A系列CPU。 我最近研究了一下它的源码,主要看了针对CNN的卷积运算需要用到的convolution过程。