Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[v0.1.0] SIGILL on AVX2-only machines

Chiusa
#23 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

  • #53 di @efegokdemir — chiusa senza merge

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
58/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cmake, cpp

Direzione di ricerca

Inizia con il preset cpu-asr in CMakePresets.json e confronta le sue impostazioni GGML_NATIVE con la build Docker presente nell’albero dei sorgenti, che passa GGML_NATIVE=OFF. Ricostruisci come è stato configurato il tarball CPU v0.1.0, quindi verifica che i binari pubblicati eseguano una decodifica reale su un host con il solo AVX2 senza SIGILL.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.gz from 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

Lingua principale
C++
Stelle
167
Fork
37
Merge medio
6g 23h
PR unite (30g)
9

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NVIDIA/NeMo-Speech.cpp

Tutte le issue di NVIDIA/NeMo-Speech.cpp

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.