Skip to content

[CPU][ARM] Align CPU plugin with AArch64 oneDNN ACL integration#36193

Open
allnes wants to merge 18 commits into
openvinotoolkit:masterfrom
allnes:an/align-arm-onednn
Open

[CPU][ARM] Align CPU plugin with AArch64 oneDNN ACL integration#36193
allnes wants to merge 18 commits into
openvinotoolkit:masterfrom
allnes:an/align-arm-onednn

Conversation

@allnes

@allnes allnes commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR aligns the OpenVINO CPU plugin with the updated AArch64 ACL integration in oneDNN and updates the bundled oneDNN submodule to the corresponding dependency revision.

The oneDNN update changes the ACL integration model to be AArch64-specific. The OpenVINO CPU plugin is updated to consume that model through the existing thirdparty submodule and to remove obsolete 32-bit ARM ACL integration paths that no longer match the oneDNN v3.10.x fork layout.

Technical details

  • Updates src/plugins/intel_cpu/thirdparty/onednn to the oneDNN AArch64 ACL integration revision.
  • Switches the CPU plugin oneDNN configuration from DNNL_USE_ACL to DNNL_AARCH64_USE_ACL.
  • Keeps oneDNN target selection on DNNL_TARGET_ARCH=AARCH64 for ARM64 builds and removes the stale 32-bit ARM oneDNN target path from the CPU plugin integration.
  • Removes obsolete ACL32 CPU plugin code paths, including ARM32-specific ACL macros, ARM Linux thread selection, ARM-only reorder-as-transpose handling, and ARM32-specific validation filters.
  • Keeps the AArch64 ACL path active and updates architecture guards in CPU plugin build logic, transformations, stream calculation, primitive selection, and tests to match the AArch64-only ACL contract.
  • Keeps oneDNN consumption inside src/plugins/intel_cpu/thirdparty/onednn; no external oneDNN source tree override is introduced or required.

Scope

The OpenVINO-side change is limited to the CPU plugin integration required by the updated oneDNN dependency and to the associated ARM/AArch64 test and validation configuration. Build artifacts, local CMake cache state, and external oneDNN source paths are not part of the change.

openvinotoolkit/oneDNN#313

allnes and others added 2 commits June 1, 2026 03:34
Use a local migrated oneDNN source tree via OV_CPU_ONEDNN_SOURCE_DIR, switch CPU plugin integration to DNNL_AARCH64_USE_ACL, and remove obsolete ARM32/ACL32 CPU plugin paths.

Keep the OpenVINO changes scoped to CPU plugin, oneDNN integration, ARM validation, and the ARM64 CPU functional skip needed for ACL f16 ReduceProd accuracy.
@allnes
allnes requested review from a team as code owners June 2, 2026 18:28
@github-actions github-actions Bot added the category: CPU OpenVINO CPU plugin label Jun 2, 2026
@allnes
allnes requested a review from a team as a code owner June 2, 2026 18:32
@allnes allnes changed the title Update oneDNN submodule for AArch64 ACL alignment Update oneDNN and CPU plugin for AArch64 ACL alignment Jun 2, 2026
@github-actions github-actions Bot added category: inference OpenVINO Runtime library - Inference category: build OpenVINO cmake script / infra labels Jun 2, 2026
# Conflicts:
#	src/plugins/intel_cpu/src/transformations/transformation_pipeline.cpp
@allnes allnes added the platform: arm OpenVINO on ARM / ARM64 label Jun 2, 2026
@allnes allnes changed the title Update oneDNN and CPU plugin for AArch64 ACL alignment Align CPU plugin with AArch64 oneDNN ACL integration Jun 2, 2026
@allnes allnes changed the title Align CPU plugin with AArch64 oneDNN ACL integration [CPU][ARM] Align CPU plugin with AArch64 oneDNN ACL integration Jun 2, 2026
@allnes
allnes requested review from a team as code owners June 10, 2026 19:42
@allnes
allnes requested review from zKulesza and removed request for a team June 10, 2026 19:42
@github-actions github-actions Bot added the category: CI OpenVINO public CI label Jun 10, 2026
@github-actions github-actions Bot added category: docs OpenVINO documentation github_actions Pull requests that update GitHub Actions code labels Jun 10, 2026
@allnes
allnes force-pushed the an/align-arm-onednn branch from 091af0d to 183cdaa Compare June 12, 2026 15:03
allnes and others added 3 commits June 26, 2026 19:25
# Conflicts:
#	.github/workflows/workflow_rerunner.yml
#	src/plugins/intel_cpu/CMakeLists.txt
#	src/plugins/intel_cpu/tests/functional/shared_tests_instances/skip_tests_config.cpp
The merge of upstream/master took ci-doctor.md from the PR side (which
additionally drops the dead commented-out "Debian 10 ARM" workflow_run
block) while ci-doctor.lock.yml was generated from upstream's .md, leaving
the lock's frontmatter_hash stale. Regenerated the lock with gh aw v0.80.9
so it matches the merged ci-doctor.md; only the frontmatter_hash changes,
body_hash is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: build OpenVINO cmake script / infra category: CI OpenVINO public CI category: CPU OpenVINO CPU plugin category: docs OpenVINO documentation category: inference OpenVINO Runtime library - Inference do_not_merge do_not_review github_actions Pull requests that update GitHub Actions code platform: arm OpenVINO on ARM / ARM64

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant