Skip to content

Align AArch64 ACL integration with oneDNN v3.10.x#313

Open
allnes wants to merge 1 commit into
openvinotoolkit:v3.10_for_ie_masterfrom
allnes:anesterov/align-arm-uxl-dnn
Open

Align AArch64 ACL integration with oneDNN v3.10.x#313
allnes wants to merge 1 commit into
openvinotoolkit:v3.10_for_ie_masterfrom
allnes:anesterov/align-arm-uxl-dnn

Conversation

@allnes

@allnes allnes commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR aligns the OpenVINO oneDNN fork delta for AArch64 ACL support with the v3.10.x integration branch.

The change makes the ACL integration explicitly AArch64-only, moves the ACL-backed CPU primitive code into the AArch64 CPU implementation area, and updates the build and primitive registration paths to use the AArch64-specific ACL configuration.

Technical details

  • Replaces the generic DNNL_USE_ACL build option with DNNL_AARCH64_USE_ACL.
  • Removes the 32-bit ARM target path from the forked oneDNN CPU architecture selection.
  • Moves ACL-backed primitive sources from src/cpu/acl into src/cpu/aarch64 and updates namespaces, includes, and CMake source selection accordingly.
  • Registers ACL implementations through AArch64-specific guards, including the ACL reorder implementation used by OpenVINO CPU plugin layout conversions.
  • Updates AArch64 CPU primitive lists, ACL threading integration, platform flag handling, and JIT profiling defaults to match the AArch64-only ACL model.
  • Updates AArch64 build and CI workflow definitions to use the new option name and target architecture contract.
  • Removes AArch64 CI matrix entries that target unavailable c6g/c7g/c8g runner labels and keeps the affected jobs on available MacOS/cb100 runner paths.
  • Enables ccache for AArch64 ACL cache builds and oneDNN CMake builds, including PR, nightly, and performance workflow paths.
  • Excludes currently unsupported/failing Linux AArch64 graph tests from the cb100 CI pass through the existing skipped-test filter.

Scope

The PR is intended to provide the oneDNN-side dependency revision consumed by OpenVINO through src/plugins/intel_cpu/thirdparty/onednn. It does not require OpenVINO to use an external oneDNN source tree.

openvinotoolkit/openvino#36193

@allnes allnes changed the title Align AArch64 ACL fork delta with oneDNN v3.10.x Align AArch64 ACL integration with oneDNN v3.10.x Jun 2, 2026
@dzarukin

dzarukin commented Jun 2, 2026

Copy link
Copy Markdown

Unrelated to PR question: wouldn't it be cheaper to migrate to v3.12 instead of cherry-picking all those necessary changes?

@allnes allnes force-pushed the anesterov/align-arm-uxl-dnn branch from dc8cd2c to 3f1773b Compare June 3, 2026 14:26
@allnes

allnes commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator Author

Unrelated to PR question: wouldn't it be cheaper to migrate to v3.12 instead of cherry-picking all those necessary changes?

@dzarukin Migrating to v3.12 would mean moving the whole oneDNN dependency to v3.12 across all supported architectures, not just taking the AArch64 pieces. That is a much broader integration and validation effort. This PR is intentionally narrower: it removes the obsolete 32-bit ARM path and aligns the AArch64/ACL fork delta with the UXL oneDNN version currently used for this OpenVINO integration.

@allnes allnes force-pushed the anesterov/align-arm-uxl-dnn branch 2 times, most recently from bf097d6 to 5f79968 Compare June 3, 2026 18:03
@allnes allnes force-pushed the anesterov/align-arm-uxl-dnn branch 4 times, most recently from de42454 to 952d389 Compare June 11, 2026 17:49
@allnes allnes force-pushed the anesterov/align-arm-uxl-dnn branch from 952d389 to 2475eb0 Compare June 12, 2026 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants