fix: add cibuildwheel arch overrides to avoid host-native AVX-512 compilation#102
fix: add cibuildwheel arch overrides to avoid host-native AVX-512 compilation#102XBeg9 wants to merge 1 commit intoalibaba:mainfrom
Conversation
748afe3 to
92f5390
Compare
…pilation Force specific architectures for manylinux builds: - x86_64: Enable Haswell target - aarch64: Enable ARMv8A target
92f5390 to
61d3922
Compare
|
Related to #101 but takes a different approach: PR #101 adds a new X86_ARCH_NATIVE CMake flag that enables -march=native builds. This is useful for local development where you want to leverage all CPU features available on your machine. However, it also sets X86_ARCH_NATIVE="ON" as a default in pyproject.toml, which means wheel builds would use the CI machine's native instruction set—potentially including AVX-512 or other instructions not available on end-user machines. This PR (#102) specifically targets cibuildwheel/CI builds by adding overrides that force safe, widely compatible architecture targets:
This ensures distributed wheels work on a broad range of hardware without illegal instruction errors (ref #92). TL;DR: #101 is for local development flexibility; this PR is for ensuring distributed wheels have safe architecture targets in CI. |
Summary
-DENABLE_HASWELL=ON)-DENABLE_ARMV8A=ON)This prevents the build from using host-native AVX-512 instructions that may not be available on all target machines.
Test plan