-
Notifications
You must be signed in to change notification settings - Fork 144
Open
Description
Description
I am encountering an Illegal instruction (core dumped) error immediately upon trying to create/open a collection. This occurs with VECTOR_FP32, VECTOR_FP16, and VECTOR_FP64.
It appears the PyPI binary wheels may be compiled with AVX-512 instructions enabled, which causes a crash on older architecture CPUs (like Intel Broadwell) that support AVX2 but lack AVX-512.
Crash occurs here
collection = zvec.create_and_open(path="./zvec_example", schema=schema)
Expected Behavior
The library should either:
Detect the lack of AVX-512 support at runtime and fall back to AVX2 kernels.
Or provide a separate non-AVX-512 build on PyPI for compatibility with older x86_64 processors.
Steps to Reproduce
import zvec
# Define collection schema
schema = zvec.CollectionSchema(
name="example",
vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)Logs / Stack Trace
My CPU supports avx and avx2 but does not support avx512. Output of cat /proc/cpuinfo | grep flags | head -1:
flags : ... sse4_1 sse4_2 ... avx ... avx2 ... (avx512 is missing)Operating System
ubuntu 24.04 (Kernel 6.8.0), Intel Core i5-5200U @ 2.20GHz (Broadwell)
Build & Runtime Environment
Python 3.12.3, zvec version 0.1.1
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)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Type
Projects
Status
In progress