-
Notifications
You must be signed in to change notification settings - Fork 2.6k
[Build]: target specific option mismatch in softmax kernels for aarch64 #30098
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
Comments
Hi @amirbakhtiary23
set(CMAKE_SYSROOT "${TOOLCHAIN_DIR}/${CROSS_GNU_TRIPLE}/sysroot")
# Compiler flags
# set(CMAKE_C_FLAGS_INIT "-mcpu=cortex-a53+crc+simd")
# set(CMAKE_CXX_FLAGS_INIT "-mcpu=cortex-a53+crc+simd")
# set(CMAKE_Fortran_FLAGS_INIT "-mcpu=cortex-a53+crc+simd") |
Dear @ilya-lavrenov Can you please share the flags you used? I used the flags I mentioned but got some python header or pyconf.h misaing error while using the version you used. |
Looks like you combination of compiled flags lead to undetected SVE support and code fallen back to FP16, which is disabled in your case. From errors we see lines openvino/src/plugins/intel_cpu/src/nodes/kernels/scaled_attn/mha_single_token.cpp Lines 1340 to 1368 in 102ebdd
Note, that __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is enabled, which means FP16 is supported. Are you sure that you need to disable FP16 via ENABLE_NEON_FP16 ?
Could you please provide cmake output? |
Yes I noticed that when I examined the code. This is the cmake output :
The command I used for building:
I did do the changes you mentioned. But no luck. the build process can be conducted without
PS: Can you please use this toolchain so that we are on the same page? |
Hi @amirbakhtiary23 BTW, maybe you don't need to set SVE explicitly via In your case, you always compile with SVE even for generic ARM64 machine, which makes code non-portable. |
Dear @ilya-lavrenov ,
This was just a test to see if I can initialize OpenVINO. The same happens when I try to run |
|
Yeah, I did a bit of digging and I think even though cortex a53 is aarch64 v8a, it does not support sve. I will try without sve and get back to you. Thank you very much |
OpenVINO Version
master
Operating System
Ubuntu 24.04
Hardware Architecture
X86_64
Target Platform
Orange Pi zero plus, Aarch64 (armv8a)
Build issue description
Hello everyone.
So, I am trying to build OpenVINO for Arm Cortex A53, which is ArmV8a (aarch64), using this toolchain. According to this and this, it supports the following extensions:
sve, simd, CRC, fp
.I use the following command to build the source code:
I also had to modify the arm_compute SConstruct file to build arm_compute. nothing important, just the prefix of
auto_toolchain_prefix
and changedon lines 357-358
to
As you can see, since this architecture does not support fp16, I use the flag
ENABLE_NEON_FP16 = OFF
.Everything compiles and links up to 100%. However, at the end, I get this error:
I know the ArmV8.2a is set in multiple cmake files inside the source code, but I thought -DCMAKE_CXX_FLAGS="-march=armv8-a+sve+simd+crc+fp" should overwrite everything. I even turned off FP16.
PS: If I don't overwrite the arch, some modules will be built for armv8.2a
Build script or step-by-step to reproduce
No response
Relevant log output
Issue submission checklist
The text was updated successfully, but these errors were encountered: