Skip to content

[CPU] Reuse system conf to retrieve fp16 and dotprod ARM capabilities #30851

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

aobolensk
Copy link
Contributor

@aobolensk aobolensk commented Jun 4, 2025

Details:

Avoid dependency on ARM Compute Library in HW caps retrieval.

  • Use ov::with_cpu_neon_fp16 to check if FP16 is available on ARM CPU
  • Introduce and use with_cpu_arm_dotprod to check if integer dot product operations are available on ARM CPU

Also, it helps to get rid of the failure of CPU functional tests under valgrind:

==2479402==    by 0x2686387: arm_compute::logging::LoggerRegistry::create_reserved_loggers(arm_compute::logging::LogLevel, std::vector<std::shared_ptr<arm_compute::logging::Printer>, std::allocator<std::shared_ptr<arm_compute::logging::Printer> > > const&) (LoggerRegistry.cpp:76)
==2479402==    by 0x267B773: arm_compute::cpuinfo::(anonymous namespace)::midr_from_proc_cpuinfo(int) (CpuInfo.cpp:160)
==2479402==    by 0x267C75B: arm_compute::cpuinfo::CpuInfo::build() (CpuInfo.cpp:368)
==2479402==    by 0x267A207: arm_compute::CPUInfo::CPUInfo() (CPPTypes.cpp:50)
==2479402==    by 0x267A0EB: arm_compute::CPUInfo::get() (CPPTypes.cpp:44)
==2479402==    by 0x20714DF: ov::intel_cpu::hasFP16HardwareSupport() (precision_support.cpp:24)
==2479402==    by 0x207151F: ov::intel_cpu::hasHardwareSupport(ov::element::Type const&) (precision_support.cpp:42)
==2479402==  Address 0x20 is not stack'd, malloc'd or (recently) free'd
==2479402== 
==2479402== 
==2479402== Process terminating with default action of signal 11 (SIGSEGV)
==2479402==  Access not within mapped region at address 0x20

Tickets:

  • N/A

@aobolensk aobolensk requested review from a team as code owners June 4, 2025 14:36
@aobolensk aobolensk added the platform: arm OpenVINO on ARM / ARM64 label Jun 4, 2025
@github-actions github-actions bot added category: inference OpenVINO Runtime library - Inference category: CPU OpenVINO CPU plugin category: build OpenVINO cmake script / infra labels Jun 4, 2025
@aobolensk aobolensk force-pushed the fp16-dotprod-caps-check branch 3 times, most recently from 1ebd5ef to a9ec1a9 Compare June 4, 2025 16:18
@aobolensk aobolensk force-pushed the fp16-dotprod-caps-check branch from a9ec1a9 to 31db0d2 Compare June 5, 2025 12:31
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 platform: arm OpenVINO on ARM / ARM64
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants