Skip to content

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

Open
allnes wants to merge 6 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 6 commits into
openvinotoolkit:masterfrom
allnes:an/align-arm-onednn

Conversation

@allnes
Copy link
Copy Markdown
Contributor

@allnes allnes commented Jun 2, 2026

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
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: CPU OpenVINO CPU plugin category: inference OpenVINO Runtime library - Inference do_not_merge do_not_review platform: arm OpenVINO on ARM / ARM64

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant