CaffeOnACL is a project that is maintained by OPEN AI LAB, it uses Arm Compute Library (NEON+GPU) to speed up Caffe and provide utilities to debug, profile and tune application performance.
The release version is 0.5.0, is based on Rockchip RK3399 Platform, target OS is Ubuntu 16.04. Can download the source code from OAID/CaffeOnACL
- The ARM Computer Vision and Machine Learning library is a set of functions optimised for both ARM CPUs and GPUs using SIMD technologies. See also Arm Compute Library.
- Caffe is a fast open framework for deep learning. See also Caffe.
There are some compatibility issues between ACL and Caffe Layers, we bypass it to Caffe's original layer class as the workaround solution for the below issues
- Normalization in-channel issue
- Tanh issue
- Softmax supporting multi-dimension issue
- Group issue
Performance need be fine turned in the future
The Caffe based version is 793bd96351749cb8df16f1581baf3e7d8036ac37.
Support Arm Compute Library version 17.12
Support Arm Compute Library version 17.10
Support Arm Compute Library version 17.09
Support Arm Compute Library version 17.06 with 4 new layers added
- Batch Normalization Layer
- Direct convolution Layer
- Locally Connect Layer
- Concatenate layer
Fix the issues:
- Compatible with Arm Compute Library version 17.06
- When OpenCL initialization fails, even if Caffe uses CPU-mode,it doesn't work properly.
Initial version supports 10 Layers accelerated by Arm Compute Library version 17.05 :
- Convolution Layer
- Pooling Layer
- LRN Layer
- ReLU Layer
- Sigmoid Layer
- Softmax Layer
- TanH Layer
- AbsVal Layer
- BNLL Layer
- InnerProduct Layer
Encounter any issue, please report on issue report. Issue report should contain the following information :
- The exact description of the steps that are needed to reproduce the issue
- The exact description of what happens and what you think is wrong