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
Maybe Gian Marco Iodice can provide some information
Thanks Fvella.
Will wait for Gian to provide some insights.
Thanks,San
Hi Gian Marco Iodice,
Could you please share some info on this? I'd like to try and achieve the below given numbers (taken from this video) on OpenCV.
Appreciate any hint or pointers to achieve the below. Thank you.
Has there been any answers with this?
is there any update on this?
Hi Santy,
There is no integration of the Compute Library in OpenCV, the numbers you're referring to have been measured on a standalone version of the library.
In the future, for questions related to the Compute Library please open issues directly on the Github project (https://github.com/arm-software/ComputeLibrary/issues )
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.