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

Postop examples with NEON target #1032

Closed aobolensk closed 1 year ago

aobolensk commented 1 year ago

Hi, I have a question about postops on NEON. I have seen functional examples when postops are used with CL target. Also, GEMMInfo in CpuGemmConv2d operator seems to have support for postops. But is there any example and use case of using postops specifically with NEON (not CL)?

morgolock commented 1 year ago

Hi @aobolensk

Could you please point us to the code you are referring to? What kind of post operation would you like to compute?

In general ACL does not support dynamic fusion of operators in the neon backend.

Hope this helps.

aobolensk commented 1 year ago

Hi @morgolock I mean using PostOp classes defined in arm_compute/core/experimental/PostOps.h applied to NEON layers. I have found that OpenCL convolution and GEMM variant has an option to use postops for activation and elemwise add operation. I have tried to add postops in cl_gemm_reshaped_rhs_only.cpp sample and postop is executed. But I have not found any examples of using postops for NEON target convolution and GEMM. Are postops supported for NEON target? If so, are there any examples of using that?

morgolock commented 1 year ago

Hi @aobolensk

Dynamic fusion is not supported in the Neon backend. This feature is experimental and only supported in the OpenCL backend.

Hope this helps.

aobolensk commented 1 year ago

Ok, thank you for the answer!