Description
Summary
Current ACL integration is limited with 64bit systems only. The proposal is to extend support on 32bit systems.
Problem statement
OpenVINO users still shows some noticable interest for 32bit ARM systems support with reasonable level of performance. OpenVINO itself can be compiled targetinf 32bit ARM HW, but lack optimized kernels. Same about oneDNN - existing c++ kernels are not compatitive from performance perspective while JIT approach is limited for 64 bit HW. At the same time ACL contains optimized implementations that can be launched on 32bit ARM and as a result demonstrate competitive e2e performance.
Preferred solution
OpenVINO implemented 2 patches inside own oneDNN fork:
- Enabled oneDNN build on 32Bit ARM systems
- Extracted ACL primitives into separate backend (while JIT aarch64 kernels are untouched) and started to build this backend on ARM32 systems.
The goal of this ticket is to discuss if there is an interest to extend oneDNN coverage for 32bit ARM systems and understand if the descibed approach can be adopted as a solution in the mainstream.