Hypersion uses an NNUE network for evaluation (Stockfish 18 SFNNv10 architecture: HalfKAv2_hm features + FullThreats, big network 1024-d FT, small network 128-d FT) on top of an alpha-beta search with PVS, transposition table, aspiration windows, late-move reductions, singular extensions, ProbCut, futility/razoring/SEE pruning, and lazy-SMP infrastructure (single-threaded by default — multi-thread is currently unstable).
Hypersion 2.1 what's new?
Patch release on top of v2. Headline change: 2-ply continuation history reading in quiet move ordering — was previously dismissed based on an 18-game sample (CI ±170 ELO, basically meaningless), now re-tested at 200 games and shipped.
Validated: +6.9 ± 37.7 ELO over v2-tag at TC 5+0.05 (200 games).
Download
Pick the variant that matches your CPU:
| Variant | File | CPU support |
|---|---|---|
| AVX-VNNI (fastest) | Hypersion-2.1-windows-x64-avxvnni.zip | Intel Alder Lake (12th gen, 2021+) and newer · AMD Zen 4 (Ryzen 7000+) |
| AVX2 (recommended fallback) | Hypersion-2.1-windows-x64-avx2.zip | Intel Haswell (4th gen, 2013+) · AMD Excavator (2015+) and newer |
| Baseline / SSE2 (slowest, widest support) | Hypersion-2.1-windows-x64-baseline.zip | Any x86-64 CPU (Pentium 4 2003+) |
Not sure? Try AVX-VNNI first — if it fails to start (illegal instruction), step down to AVX2, then to baseline.
Each zip contains Hypersion.exe (~3.4 MB) + both NNUE network files (~107 MB total) + LICENSE + README + release notes.
Mobile / ARM
A native Android (aarch64) build is not yet provided — Termux users on Android can compile from source: make ARCH=native after cloning. The supporting Stockfish 18 NNUE files are architecture-independent and can be reused.
What's new
Engine (the +35 ELO commit)
src/movepick.cpp::score_quiets() now reads 2-ply continuation history at half weight in addition to the existing 1-ply read.
Hypersion was already updating contHist[1] (2-ply lookback) on every cutoff, but never reading it for move ordering. A previous contributor had documented "2-ply tested, regressed -26 ELO" — at 18 games, where statistical noise is ±170 ELO. At 200 games the result is +34.9 ± 39.3 ELO.
Lesson encoded in the source: 18-game samples are useless for A/B testing. Anyone re-testing dismissed features at proper sample size may find more wins.
Tooling / build / config (post-v2 patches included)
testing/sprt.py— proper EPD opening book defaults (popularpos_lichess_v3.epdfrom official-stockfish/books). Old defaulteco.binmis-passed as EPD format gave undefined
cutechess behaviour.lichess-bot-master/config-hypersion.yml(user's local install) —move_overhead: 2000 → 200(was forfeit-flagging bullet games),Move Overhead: 300 → 100, PGN logging on,
draw threshold0 → 50, friendlier greeting.- UCI offset curve for
UCI_MatchOpponent— bot now plays consistently below opponent's rating across all bands. 600 ELO player faces a 500-ELO bot, narrowing toward exact match at master level. - AVX-VNNI build target with
-march=alderlake -mavxvnni. - 64-byte cache-line alignment on NNUE accumulators.
make profilePGO build target fixed.
Bug fixes
- Repetition-during-search bug fix verified (no more eval-as-winning perpetuals).
- Close-major-pieces piped-stdio crash bug verified resolved (200-analysis stress test: 0 crashes).
- 50-move-rule + checkmate edge case fixed.
What was tested but reverted (tombstones in source)
This is the rigorous A/B record from v2 → v2.1:
| Feature | Result |
|---|---|
| SF18 NNUE complexity damping | -13.9 ELO |
| SF18 rule-50 eval damping | -13.9 ELO |
| SF18 multicut condition broadening | -22.6 ELO |
| SF18 SEE pin-aware logic | -10.4 ELO |
| SF18 NMP verification at depth ≥ 16 | -20.9 ELO |
-funroll-loops build flag | -22.6 ELO (despite +9% bench) |
| 2-ply contHist FULL weight (vs /2) | 0.0 ELO equivalent |
All within noise (CI ±36-39) but consistently mildly negative — indicating Hypersion is at a hard local optimum, where every isolated change requires re-tuning of surrounding parameters (SPSA territory).
Long-TC validation
Pre-2-ply HEAD vs v2-tag at TC 60+0.6 (200 games): -8.7 ± 38.8 ELO (statistically neutral). The 2-ply contHist read was not in that binary. Long-TC re-test of v2.1 vs v2 deferred to next session.
Compatibility
Same UCI options as v2.0. Drop-in replacement for the engine binary.
CPU requirements
x86_64 with AVX2 + AVX-VNNI (Intel Alder Lake 12th gen+ /
Raptor Lake 13th & 14th gen / AMD Zen 4+). On older CPUs without
VNNI, build from source with make ARCH=x86-64-avx2.
Comments
Post a Comment