-
Notifications
You must be signed in to change notification settings - Fork 385
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
Xnnpack still builds with +dotprod
and +fp16
with -DXNNPACK_ENABLE_ARM_DOTPROD=OFF -DXNNPACK_ENABLE_ARM_FP16_SCALAR=OFF -DXNNPACK_ENABLE_ARM_FP16_VECTOR=OFF
#6165
Comments
the build system determines which kernels to build. the macros reflect what was enabled and wont test/use the disabled kernels. with bazel there are flags to control each instruction set:
cmake has options, but I'm not familiar with the usage
On Intel I added some gcc version checking to force the flags off, and that could be done for arm gcc with a change to CMakeLists.txt.. it would be something like:
|
Yes, I already turned these off, see my opening post. The problem is that, even though I set these CMake options to |
What version of XNNPack are you building? The failing file was removed on Sep 26, 2022 |
The version part of TfLite 2.10. (Can I check the specific Xnnpack version in the TfLite source code?) |
Can you update to the latest release? We can't fix old releases. |
Still getting the errors with the latest TfLite release (2.16):
Steps I execute:
|
Can you try adding -DXNNPACK_ENABLE_ASSEMBLY=OFF? |
After adding that option TfLite 2.16 builds without errors, and I can run a test program on an Arm64 board using TfLite 2.16. But before I cheer too early, the test program runs slower now, which naturally comes from disabling the use of assembly code. |
Ok, we know what the problem is now. The solution is to get the update-microkernels script to split the assembly files into ones with and without arm V8 and to create new targets with the appropriate compilation options. Would you like to send a PR to do this? |
A PR suggests I know what to fix in the codebase, which I don't. |
I'm building aan Arm64 target with a fairly old toolchain (gcc 7.5, binutils 2.29.1) in order to support old Linux platforms.
I use:
-DXNNPACK_ENABLE_ARM_BF16=OFF -DXNNPACK_ENABLE_ARM_I8MM=OFF -DXNNPACK_ENABLE_ARM_DOTPROD=OFF -DXNNPACK_ENABLE_ARM_FP16_SCALAR=OFF -DXNNPACK_ENABLE_ARM_FP16_VECTOR=OFF
Yet Xnnpack still seems to build with
+dotprod
and+fp16
:The text was updated successfully, but these errors were encountered: