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
compilation for x86 and armv8 platforms #242
Comments
XNNPACK requires neither ARMv8.2 nor AVX512. The minimum requirements are ARMv7 with NEON, ARM64, x86 with SSE2, or WebAssembly. On x86/x86-64 XNNPACK will use SSE4.1, AVX, FMA3, AVX2, and AVX512F if the host processor supports these instruction sets (this is detected in runtime). FP16 compute instructions from ARMv8.2 are currently not used in XNNPACK operators, but there are experimental micro-kernels with unit test and benchmarks that leverage these instructions. |
Thanks for your reply. |
Reopening this issue. I believe the OP experienced a build error, not a runtime error of Xnnpack. I bumped into the same issue myself today: |
Hi, I try to build xnnpack on my devices, a nvidia jetson tx2 and a macbook pro(2015), but encounter some probelms. I use the
scripts/build-local.sh
to build.For tx2, the detected arch is
aarch64
which is set inCMAKE_SYSTEM_PROCESSOR
. In this situation, the-march=armv8.2-a+fp16
flag is added but tx2 does not implement armv8.2 instruction set. Similarly, on x86, the arch isx86_64
and avx512 is used in compilation. Even though I comment related source files(XNNPACK_AVX512F_MICROKERNEL_SRCS
) and compilation flag(-mavx512f
) in CMakeList.txt, avx512 code still exists in files like f32-rmax.cc in benchmark, which is activated if the marcroXNN_ARCH_X86 orXNN_ARCH_X86_64
is defined.It seems the armv8.2 and avx512 support is necessary in default for aarch and x86, respectively. Will xnnpack support older arm archs like armv8 and x86 without avx512?
Sorry to open a new issue. But I think describing problems with a more related title helps.
The text was updated successfully, but these errors were encountered: