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.
2.87k stars 783 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.