v0.7.2 — fix SIGILL crash on pre-AVX CPUs (Celeron/Pentium rigs)
v0.7.2 — fix: miner crashed with SIGILL (exit 132, "invalid opcode") on pre-AVX CPUs
Since v0.6.10 (and first widely hit via the forced H4 upgrade to 0.7.x), the bundled
libkeryx-llama.so AI engine baked AVX/AVX2/FMA/F16C/BMI2 into its CPU code with no runtime
dispatch. On CPUs without AVX — common mining-rig Celeron/Pentium and pre-Sandy-Bridge Xeons —
the miner was killed by the kernel (trap: invalid opcode) during model load, before it could
print anything.
Fixes
- CPU-feature preflight (NVIDIA + AMD engines): the miner now detects AVX/AVX2/FMA/F16C/BMI2
before loading the engine. Pre-AVX CPUs automatically use the new baseline build; if that file
is missing the engine is skipped with a clear log line instead of crashing the process. - New
libkeryx-llama-noavx.so(baseline x86-64 + SSE4.2 CPU path, same CUDA/GPU code)
bundled in all Linux packages (HiveOS / SMOS / mmpOS / plain Linux). GPU mining performance is
unaffected — all model layers run on the GPU either way. KERYX_LLAMA_FORCE_NOAVX=1env forces the baseline engine (testing/diagnostics).- Explicit
KERYX_LLAMA_SO=overrides are still honored as-is (with a warning on pre-AVX CPUs).
Notes
- Windows is unaffected (no in-process engine there).
- AMD packages:
libkeryx-llama-vk-noavx.sovariant ships with the next AMD rebuild. - No consensus/protocol changes; drop-in replacement for 0.7.0/0.7.1.
mmpOS users: use v0.7.2.1 — packaging respin (same binaries) that fixes mmpOS custom-miner launch (
--coinhandling) and bundles the mmp-* scripts in every tarball flavor.