huggingface / huggingface/candle
candle-core::quantized::avx contains AVX2 instructions which of course crashes on AVX machines
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 21.1k
- Forks
- 1.8k
- Avg merge
- 16h 42m
- Merged PRs (30d)
- 25
Description
Maybe CPU probing should detect whether AVX2 is available as a start. If it is determined that AVX should be supported perhaps let the probe set an enum to what instruction set is available, so that the file can provide both (or more in the future?) versions? I might look into making AVX-clean functions... but I don't promise, I just happened to try mistral on an Xeon E5 2650, and it crashed with SIGILL on mmm256_cvtepu8_epi16. If I get bored, perhaps :-)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting candle-core::quantized::avx and the CPU probing behavior described in the issue, then reproduce the SIGILL on the Xeon E5 2650 or another AVX-only machine. Done means AVX2 instructions are not executed when AVX2 is unavailable, while the existing AVX2 path remains usable where supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- machine-learning, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100