Halogen - UCI chess engine. The engine is constantly being developed by the author, and the latest stable version has risen to 15th place in the CEDR rankings. We will be testing this version soon.
Author: Kieren Pearson Rating Chess Engines Diary CEDR=3682
Halogen 16. what's new?
Elo gain compared to Halogen 15:
SMP LTC:
Elo | 89.85 +- 10.37 (95%)
Conf | 20.0+0.20s Threads=8 Hash=256MB
Games | N: 1000 W: 365 L: 112 D: 523
Penta | [0, 32, 188, 275, 5]
http://localhost:8000/test/100/
SMP STC:
Elo | 82.91 +- 5.35 (95%)
Conf | 5.0+0.05s Threads=8 Hash=64MB
Games | N: 4338 W: 1640 L: 624 D: 2074
Penta | [8, 159, 873, 1067, 62]
http://localhost:8000/test/99/
LTC:
Elo | 58.57 +- 4.91 (95%)
Conf | 40.0+0.40s Threads=1 Hash=64MB
Games | N: 5012 W: 1654 L: 817 D: 2541
Penta | [7, 273, 1144, 1040, 42]
http://localhost:8000/test/98/
STC:
Elo | 57.16 +- 5.42 (95%)
Conf | 8.0+0.08s Threads=1 Hash=8MB
Games | N: 5066 W: 1748 L: 922 D: 2396
Penta | [22, 318, 1107, 984, 102]
http://localhost:8000/test/97/
Elo gaining patches:
- SPSA LTC tune by @KierenP in #738
- Reduce LMR depth if move fails high by a small margin by @KierenP in #743
- Don't apply TT eval correction in singular nodes by @KierenP in #744
- Allow fail high TT cutoffs with insufficient depth when tt score is sufficiently high by @KierenP in #745
- SPSA VLTC tune by @KierenP in #749
- Add hindsight extensions by @KierenP in #753
- Adjust time usage based on best move stability by @KierenP in #757
- Add triple extensions by @KierenP in #758
- Adjust time management based on score change between searches by @KierenP in #761
- SPSA LTC SMP tune by @KierenP in #778
- Thread voting: select the best move by popular vote by @KierenP in #780
- Improve thread voting algorithm by @KierenP in #781
- Use mailbox representation in more places by @KierenP in #783
- Adjust IIR scheme by @KierenP in #788
- Use hugepages for thread local search state by @KierenP in #792
- SPSA LTC SMP tune by @KierenP in #795
- Cap history updates to 1/4 the max value by @KierenP in #801
- SPSA LTC SMP tune by @KierenP in #806
- Apply NMP only in suspected cut nodes by @KierenP in #808
- Add NEON inference by @KierenP in #816
- Optimize NEON mulhi_i16 and dpbusd_i32 emulation by @KierenP in #820
- Add NEON DOTPROD support by @KierenP in #822
- SPSA LTC SMP tune by @KierenP in #823
- Add razoring to search by @mike-koala-bear in #817
- Add prior-countermove heuristic by @KierenP in #826
- Apply PCM for all quiet histories by @KierenP in #829
- Add an extra constant margin in NMP fail high check by @ProgramciDusunur in #833
- Implement 'fail-medium' in search by @KierenP in #837
- Allow negative LMR reduction for PV nodes by @KierenP in #838
- SPSA LTC SMP Tune by @KierenP in #840
- Don't allow LMR to drop into qsearch by @KierenP in #839
- Perform zero width LMR researches at depth 1 by @KierenP in #841
- Share corrhist between threads per numa node by @KierenP in #842
- Update default network to 4264b7e5.nn by @KierenP in #844
- Update default network to c57e7be4.nn by @KierenP in #857
- Update default network to 150521a9.nn by @KierenP in #858
Which binary to choose?
Below are prebuild binaries for Windows, Linux, and MacOS platforms, for a variety of CPU architectures. Please select the most modern target for your architecture.
| Target | x86 Intel CPU | x86 AMD CPU | ARM CPU |
|---|---|---|---|
| Legacy | Any 64 bit | Any 64 bit | N/A |
| SSE4 | Nehalem (2008) | Bulldozer (2011) | N/A |
| AVX | Sandy Bridge (2011) | Piledriver (2012) | N/A |
| AVX2 | Haswell (2013) | Excavator (2015) | N/A |
| AVX2 PEXT | Haswell (2013) | Zen 3 (2020) | N/A |
| AVX512 | Skylake (2017) | Zen 4 (2022) | N/A |
| AVX512VNNI | Ice Lake (2019) | Zen 5 (2024) | N/A |
| Neon DOTPROD | N/A | N/A | ARMv8.2+ (Apple M2+) |
Halogen 14 vs other engines:
| Fritz 20 | 40.5/99 | -18 | 99 Games |
| Uralochka 3.42 dev14 | 2.5/4 | +1 | 4 Games |
| Booot 7.4 | 2/4 | +0 | 4 Games |
| Berserk 20250622 | 2/4 | +0 | 4 Games |
| Astra 6.1.1 | 2/4 | +0 | 4 Games |
| Clarity 8.0.0 JA | 2/4 | +0 | 4 Games |
| Titan 1.1.0 | 2/4 | +0 | 4 Games |
| Heimdall 1.4.0 | 2/4 | +0 | 4 Games |
| Starzix 6.1 JA | 2/4 | +0 | 4 Games |
| Igel 3.6.3 JA | 2/4 | +0 | 4 Games |
| RubiChess 20250606 JA | 2/4 | +0 | 4 Games |
| Lizard 11.2 | 2/4 | +0 | 4 Games |
| Motor 0.9.0 | 2/4 | +0 | 4 Games |
| Revenge 4.0 | 2/4 | +0 | 4 Games |
| Pawnocchio 1.8 | 2/4 | +0 | 4 Games |
| Alexandria 8.0.0 JA | 2/4 | +0 | 4 Games |
| Viridithas 18.0.0 JA | 1.5/4 | -1 | 4 Games |
| Integral 7.0.0 JA | 1.5/4 | -1 | 4 Games |
| Horsie 1.1.0 | 1.5/4 | -1 | 4 Games |
| Stormphrax 7.0.0 JA | 1.5/4 | -1 | 4 Games |
| Clover 8.2 JA | 1.5/4 | -1 | 4 Games |
All version: https://github.com/KierenP/Halogen/releases/tag/latest
Our social media:
#Halogen
#chess

Comments
Post a Comment