Skip to content
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

Updates config=mkl_aarch64 build to oneDNN 2.4 and Compute Library 21.08 #52518

Merged

Conversation

nSircombe
Copy link
Contributor

Updates oneDNN version used for --config=mkl_aarch64 to 2.4
in line with x86 build.

Updates Compute Library (used as optimised oneDNN backend
on AArch64) to the latest release (21.08).

This enables support for SVE and BF16 kernels where
hardware supports.
This provides a performance uplift of between 1.4x and 3x
depending on the hardware support.

Removes some patches to oneDNN which are not required for
the 2.4 release.

NOTE: AArch64 build with --config=mkl_aarch64 requires GCC 10.

Change-Id: Iaf7562da729fc928dce922d33c02b8bb0ce74767

@google-ml-butler google-ml-butler bot added the size:XL CL Change Size:Extra Large label Oct 15, 2021
@google-cla google-cla bot added the cla: yes label Oct 15, 2021
Copy link
Member

@penpornk penpornk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the PR!

third_party/compute_library/BUILD Outdated Show resolved Hide resolved
sha256 = "ccb2dbd9da36cd873cf573b4201d61bdba7438f12b144e6c7d061eb12a641751",
strip_prefix = "oneDNN-2.3",
sha256 = "a7f2a4d80d5406d156dfc1d7b27d10b0af5ed061cf0b6197d3d12cddc6790fcb",
strip_prefix = "oneDNN-2.4",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We updated the x86 build to v2.4.1 because v2.4-rc and v2.4 could crash on non-Intel systems due to an XByak issue. Are you affected by this issue?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've not seen this issue. The ACL build isn't dependent on Xbyak, and we're not using the Eigen threadpool. So I don't believe we're impacted. But I will test with 2.4.1, it would make sense for the AArch64 build to be on the same oneDNN version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've left the AArch64 build at 2.4.0 for now as, while it would be good to be on exactly the same point release, in this case I don't believe the change will impact us, and would be safer to stick with the version I've been testing with.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. Thank you for the quick responses!

Updates oneDNN version used for `--config=mkl_aarch64` to 2.4
in line with x86 build.

Updates Compute Library (used as optimised oneDNN backend
on AArch64) to the latest release (21.08).

This enables support for SVE and BF16 kernels where
hardware supports.
This provides a performance uplift of between 1.4x and 3x
depending on the hardware support.

Removes some patches to oneDNN which are not required for
the 2.4 release.

NOTE: AArch64 build with --config=mkl_aarch64 requires GCC 10.

Change-Id: Iaf7562da729fc928dce922d33c02b8bb0ce74767
sha256 = "ccb2dbd9da36cd873cf573b4201d61bdba7438f12b144e6c7d061eb12a641751",
strip_prefix = "oneDNN-2.3",
sha256 = "a7f2a4d80d5406d156dfc1d7b27d10b0af5ed061cf0b6197d3d12cddc6790fcb",
strip_prefix = "oneDNN-2.4",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. Thank you for the quick responses!

@google-ml-butler google-ml-butler bot added kokoro:force-run Tests on submitted change ready to pull PR ready for merge process labels Oct 16, 2021
@kokoro-team kokoro-team removed the kokoro:force-run Tests on submitted change label Oct 16, 2021
@nSircombe
Copy link
Contributor Author

Hi @penpornk, thanks for giving this your approval.
3 of 10 checks are currently failing above - is this expected? They don't appear to be related to the changes in this PR.

Please could I ask for this change to be considered for cherry-picking onto the 2.7 release branch?

@copybara-service copybara-service bot merged commit 6be0749 into tensorflow:master Oct 18, 2021
@google-ml-butler google-ml-butler bot removed the ready to pull PR ready for merge process label Oct 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes size:XL CL Change Size:Extra Large
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants