[v0.1.0] SIGILL on AVX2-only machines
Maintainers usually reply within 1 day
Nobody has claimed this yet.
- #53 by @efegokdemir — closed without merging
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 58/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- cmake, cpp
- Domain
- build-system, release
Research direction
Start with the cpu-asr preset in CMakePresets.json and compare its GGML_NATIVE settings with the in-tree Docker build, which passes GGML_NATIVE=OFF. Trace how the v0.1.0 CPU tarball was configured, then verify that the published binaries run through a real decode on an AVX2-only host without SIGILL.
Written by the indexing model from the issue text.
Description
Hello 👋
The published CPU tarball for v0.1.0 dies with SIGILL on a machine that has AVX2 but no AVX-512. The name linux-x86_64-cpu reads as a generic x86_64 build, so I didn't expect that.
Setup
nemo-speech-0.1.0-linux-x86_64-cpu.tar.gzfrom the GitHub release- Host: AVX2 + FMA + BMI2, no AVX-512 (x264:
MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2) - Parakeet TDT 0.6B GGUF via
nemo_speech_asr_recognize_f32, and streaming Nemotron (same ggml)
Model load is fine. The first real decode kills the process:
SIGILL: illegal instruction
signal arrived during cgo execution
instruction bytes: 0x62 0xf1 0x7f 0x28 0x7f 0x44 0x24 0x2 ...
0x62 is EVEX (AVX-512). ggml also prints AMX is not ready to be used! just before that, but it still ends up on a path that faults.
Rebuilding from source with GGML_NATIVE=OFF and AVX-512 disabled works on this box, so it looks like a packaging issue rather than the models or the C API.
I poked at the public tree a bit. There is no GitHub Actions job that produces these tarballs (only pre-commit), so I can't see the exact release flags. cpu-asr in CMakePresets.json never sets GGML_NATIVE, and ggml defaults that to ON (-march=native) unless you turn it off. The in-tree Docker build does pass -DGGML_NATIVE=OFF, but that's the CUDA image, not this CPU archive.
Best guess: the CPU artifact was configured like cmake --preset cpu-asr on a builder that has AVX-512, so native got baked in.
I'd expect a *-linux-x86_64-cpu* archive to run on AVX2, or for the release notes / filename to say AVX-512 is required.
For the actual binaries, something like whisper.cpp / llama.cpp portable CPU builds would help: GGML_NATIVE=OFF, AVX/AVX2/FMA on, AVX-512 off. Two tarballs (avx2 / avx512) would also be fine if that's easier.
Thomas
- Dominant language
- C++
- Stars
- 150
- Forks
- 32
- Avg merge
- 7d 17h
- Merged PRs (30d)
- 8
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
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.
More from NVIDIA/NeMo-Speech.cpp
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
NVIDIA/NeMo-Speech.cpp#61 ·
Maintainers usually reply within 1 day
-
enhancement
NVIDIA/NeMo-Speech.cpp#56 · 3 comments ·
Maintainers usually reply within 1 day
-
Expose confidence estimation / token probabilities (currently always 1.0)Possibly taken @pskrunner14 claimed this 6 days ago. Openenhancement
Difficulty 4/5 3-5 days Newbie friendliness 48/100
NVIDIA/NeMo-Speech.cpp#55 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
NVIDIA/NeMo-Speech.cpp#49 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
Streaming RNNT wedges after sustained zero-PCM silence; Vulkan aborts with GGML_ASSERT(ne3 == ne13)Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
NVIDIA/NeMo-Speech.cpp#48 ·
Maintainers usually reply within 1 day
All issues in NVIDIA/NeMo-Speech.cpp
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
shadps4-emu/shadps4-qtlauncher#465 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Qiskit/qiskit-aer#2466 ·
-
bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
NVIDIA/attestation-sdk#41 · 1 comment ·
-
[Bug]: CMAKE Fails to find libgit2 on POP OSPossibly taken @Tirpitz93 claimed this today. Openbug
Difficulty 1/5 Under an hour Newbie friendliness 85/100
subsurface/subsurface#5007 · 2 comments ·
Maintainers usually reply within 2 days
-
feature request
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days