ARM-software / ComputeLibrary

The Compute Library is a set of computer vision and machine learning functions optimised for both Arm CPUs and GPUs using SIMD technologies.
MIT License
2.75k stars 767 forks source link

Can Khadas Edge2 board be supported? #1056

Closed zyujie-ioo closed 1 year ago

zyujie-ioo commented 1 year ago

I modified the ARM-CL and tested it on the Khadas Vim3 Pro board. Now I want to utilize a more efficient CPU and GPU. Could I directly transplant my code to the Khadas Edge2 board?

morgolock commented 1 year ago

Hi @zyujie-ioo

You could use the same binary but you will get better performance if you rebuild ACL for armv8.2a.

We have some kernels written in assembly specifically for A76/A55 which are present on Khadas Edge2. In order to get the best performance on this device you should build the library with arch=arm64-v8.2-a

Hope this helps.

zyujie-ioo commented 1 year ago

Thank you! It is very helpful. By the way, is there a way to include the NPU invocation of the Khadas Edge2 board in the existing ARM-CL?

morgolock commented 1 year ago

Hi @zyujie-ioo

ACL only supports ARM CPUs and GPUs.

Hope this helps.

zyujie-ioo commented 1 year ago

Okay, thanks. Do you know any compiler which supports executing the model using the CPU, GPU, and NPU of the Khadas Edge2 board? I checked ARM-NN, but there seemed to be no support for this board's NPU.

morgolock commented 1 year ago

Hi @zyujie-ioo

For Linux you can use gcc > 6.3 For Android any recent version of the ndk will support armv8.2

Hope this helps.