oneapi-src / oneDNN

oneAPI Deep Neural Network Library (oneDNN)
https://uxlfoundation.org
Apache License 2.0
3.64k stars 1.01k forks source link

RFC: Integrate Arm Compute Library (ACL) as an in-tree module into oneDNN #2076

Open snadampal opened 2 months ago

snadampal commented 2 months ago

With oneDNN and ACL tightly coupled for aarch64 builds, having them in two repos is making it harder to keep the versions in sync. The request here is to bring ACL sources into oneDNN, may be as a git submodule.

This is a well known integration topic, that's why i'm not creating any detailed RFC document. I can create one if required.

theComputeKid commented 2 months ago

I recall this was discussed before with the oneDNN team and our current recommendation is for the developer to link against the latest release of ACL themselves rather than building in-source. Perhaps we can discuss this in person, to understand your requirements and pain points better.

snadampal commented 6 days ago

Hi @theComputeKid , @vpirogov , we discussed it briefly but didn't align on the next steps. Given both PyTorch and oneDNN are moving faster, the pain of updating ACL is also increasing every time, for example, look at this issue: https://github.com/pytorch/pytorch/pull/138889 Can we please prioritize brining ACL into oneDNN tree for the next oneDNN release?

vpirogov commented 5 days ago

@snadampal, I believe we have multiple options to address pains on Pytorch side and also we need to consider other users, like OpenVINO. So to move forward we need a proper RFC with meaningful discussion of options.

snadampal commented 4 days ago

I agree @vpirogov , let me create a doc with all the options.

vpirogov commented 3 days ago

Opened a request to introduce semantic versioning in ACL: https://github.com/ARM-software/ComputeLibrary/issues/1149

This is a must to avoid dependency hell for projects that have direct use of oneDNN and ACL, like OpenVINO.