-
Notifications
You must be signed in to change notification settings - Fork 468
Description
Description
Hi everyone,
We sincerely apologize for the disruption caused by the recent SIGILL ("Illegal instruction") crashes on Linux systems with x86-64 CPUs that do not support AVX-512—such as some AMD processors (including EPYC and Ryzen) and older Intel CPUs. This issue affected many of you, and we truly appreciate your patience and detailed reports.
To help you get back on track immediately, we’re providing two temporary workarounds:
✅ Workaround 1: Install the AVX2-only pre-release package
This version contains no AVX-512 instructions and runs safely on all modern x86-64 CPUs with AVX2:
pip install zvec==0.2.1b0✅ Workaround 2: Build from source (now defaults to -march=native)
If you prefer building locally, the current main branch automatically uses -march=native, which will generate an optimized binary for your specific machine. Please refer to the Build from Source documentation.
⚠️ Note: Only use this if you’re building on the same machine where you’ll run Zvec.
🙏 Community appreciation
We’re especially grateful to the following contributors for their insightful suggestions, debugging help, and code contributions that accelerated this fix:
- @wirthual for Add cmake flag for enabling instruction subsets supported by the local machine #101
- @XBeg9 for fix: add cibuildwheel arch overrides to avoid host-native AVX-512 compilation #102
- @kgeg401 for fix: avoid unsafe host ISA selection in build arch detection #112
- @quantumnic for fix: CMake arch auto-detection SIGILL, typos, and improved error messages #137
as well as other contributors who participated in the issue discussions. Your collaboration embodies the spirit of open source—thank you!
🔜 What’s next?
We’re actively working on a robust, long-term solution: a single universal package with runtime CPU feature detection that automatically selects the best SIMD implementation (SSE2 / AVX2 / AVX-512).
We expect to release this as part of the official v0.3.0 around early to mid-March 2026.
Until then, please try one of the workarounds above and let us know if you run into any issues. Your feedback is invaluable!
Thank you for your understanding and continued support.
💡 We’ll keep this issue pinned until the official v0.3.0 release.
Steps to Reproduce
-Logs / Stack Trace
Operating System
Linux x86-64
Build & Runtime Environment
Linux x86-64
Additional Context
- I've checked
git status— no uncommitted submodule changes - I built with
CMAKE_BUILD_TYPE=Debug - This occurs with or without
COVERAGE=ON - The issue involves Python ↔ C++ integration (pybind11)