-
-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable DNNL_EXPERIMENTAL_UKERNEL, as needed for PyTorch #76
base: main
Are you sure you want to change the base?
Conversation
In order to unvendor onednn from PyTorch feedstock (conda-forge/pytorch-cpu-feedstock#289), onednn needs to be built with DNNL_EXPERIMENTAL_UKERNEL enabled. Please also note that the current version of PyTorch requires onednn 3.5.3, so we are also going to request creating a branch with the equivalent patch added for that version.
…nda-forge-pinning 2024.11.09.10.10.20
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
I swear I had written this:
|
The experimental ukernel code seems to be referencing routines that are only implemented in `src/cpu/x64`, and it fails to build on aarch64 and ppc64. Restrict enabling it to x64 appropriately.
…nda-forge-pinning 2024.11.11.08.59.26
Hopefully I've done this right. Somewhat surprised it doesn't compile — because unless I'm missing something, PyTorch enabled it unconditionally for all architectures. But I guess we'll cross that bridge when we get to it. |
Hmm, alternatively I think we could enable ukernel on all architectures but disable building examples. Or we can leave it like this for now, and see how that works out for PyTorch. |
@mgorny,
|
Well, we'd rather shave off some build time off PyTorch right now, so I'll make the new configuration. Thanks! |
…nda-forge-pinning 2024.11.12.14.24.54
@vpirogov, is this what you had in mind? |
I would like to see real improvements in the PyTorch recipe before we merge this. Could you upload the package you need to your own channel and enable your channel in a PR to PyTorch to demonstrate the gains. In my experience, the slow compilation was all about CUDA |
Sure, will do that.
That's entirely possible — to be honest, I haven't gotten to CUDA builds yet, and focused on pure CPU variant so far. According to my local builds, unvendoring onednn shaved ~10% of libtorch build time (as in the, first feedstock part, before specific pytorch packages started being built). |
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
…nda-forge-pinning 2024.11.12.14.24.54
Yes. 10% gain on the CPU is what I expect on the CPU front. It’s just that this is very modest given the unstable API (I was unaware they were using it prior to this PR) But maybe this 10% gain help get us back on track for the GPU builds in terms of the disk space errors we were seeing. So I think the experiment is worthwhile. |
…nda-forge-pinning 2024.11.12.14.24.54
Yes, thank you. |
@hmaarrfk, done. I've built 3.5.3 with my changes (rebased from this pull request), and updated conda-forge/pytorch-cpu-feedstock#289 to use it. With this, I was able to get pytorch to build and test successfully, though I've used |
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
@hmaarrfk, sorry to bother you, but did you have a chance to test these changes? |
…onda-forge-pinning 2025.01.02.20.43.49
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( I do have some suggestions for making it better though... For recipe/meta.yaml:
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12597937481. Examine the logs at this URL for more detail. |
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)In order to unvendor onednn from PyTorch feedstock (conda-forge/pytorch-cpu-feedstock#289), onednn needs to be built with
DNNL_EXPERIMENTAL_UKERNEL
enabled.Please also note that the current version of PyTorch requires onednn 3.5.3, so we are also going to request creating a branch with the equivalent patch added for that version.