Hi,
Is there a standard way to interface OpenCV with ACL?
I understand that the work done on ACL is very new and the OpenCV community may not have started working on interfacing ACL with OpenCV.
I'm trying to understand if there was any effort from ARM side on interfacing OpenCV with ACL.
Thank you.
Regards,
San
There is currently no plans from Arm to integrate the Compute Library in OpenCV.
The main focus of the team is currently on adding new ML functions to the library not to do integration work on other projects.
Thanks Anthony for providing quick update.
As now, i want to create integration of ACL with openCV myself, will it be possible to provide some pointers which can help me effort estimation and start actual work. this will be great help for me for quick start of the work.
Sure, I'd recommend having a look at the Library Architecture section of the documentation (https://arm-software.github.io/ComputeLibrary/v18.05/architecture.xhtml)
Are you interested in NEON or OpenCL ?
In both cases the biggest problem to solve is going to be the padding: ACL requires padding to work properly, and in order to be able to calculate padding accurately you need to know where a buffer will be used next which isn't possible with OpenCV as you don't have the concept of pipeline or graph.
If you're interested in OpenCL the other issue is that ACL is oriented towards deferred execution whereas OpenCV relies on immediate execution, which is very inefficient for GPUs. Once again this is hard to work around without a concept of graph or pipeline.
These are the main reasons why people tend to move away from OpenCV when performance is important and use something like OpenVX or TensorFlow / Caffe for ML where you do have graph level execution.
I haven't followed recent development in OpenCV so it might be that some of these things have been addressed.
As mentioned above the ACL team monitors the issues section of the Github project so feel free to ask more questions there.