Halogen questions

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Dann Corbit, Harvey Williamson

User avatar
Guenther
Posts: 4586
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Halogen questions

Post by Guenther »

http://talkchess.com/forum3/viewtopic.p ... 50#p868940
Re: New engine releases 2020

Post by Kieren Pearson » Tue Oct 27, 2020 9:43 am
https://github.com/KierenP/Halogen/releases/tag/v8

It is with great pleasure I announce the release of Halogen 8. In late September, Halogen was added to the OpenBench framework. As a result, Halogen underwent one of its best months of development so far. In self testing, Halogen 8 is approximately 200 elo stronger than Halogen 7.

Halogen 8 features a larger neural network than was contained in Halogen 7, but due to improvements and optimisations runs significantly faster. The current network was trained using a private neural network trainer written in C by @AndyGrant. I can't thank Andrew enough for the work he has done to support the development of Halogen.

Estimated elo: 2800 CCRL blitz.
Hi Kieren,

Is this still valid (from your release comments)?
It is not recommended that you compile it yourself because it is currently experiencing significant slowdowns in multithreaded mode when compiled with gcc.
I could not resist after I saw you had already added 22 more commits since the last release and especially one for no popcount.
My quick runs (default hash only) up to 4 cores (no more available here) show no slowdown for my compilation here.

It also shows a speedup of > 10% against your no popcount release v8, but ofc I don't know, if this is due to changes since your version 8 release.
I was too lazy to check out the master at version 8 and I wanted to test the newest dev ;-)

BTW I think the default value for hash perhaps should be a bit raised?

Code: Select all

Halogen dev x64
...
info depth 15 seldepth 15 score cp 23 time 23182 nodes 16601088 nps 716000 hashfull 1000 tbhits 0 pv e2e4 e7e5 d2d4 e5d4 d1d4 b8c6 d4d1 g8f6 b1c3 f8c5 f1c4 d7d5 c4d5 f6d5 c3d5

Halogen dev x64
...
setoption name Threads value 2
...
info depth 15 seldepth 15 score cp 19 time 26442 nodes 36790272 nps 1391000 hashfull 1000 tbhits 0 pv g1f3 g8f6 c2c4 e7e6 g2g3 c7c5 f1g2 b8c6 b2b3 d7d5 c4d5 e6d5 e1g1 h7h6 c1b2

Halogen dev x64
...
setoption name Threads value 4
...
info depth 15 seldepth 15 score cp 19 time 16193 nodes 42467328 nps 2622000 hashfull 1000 tbhits 0 pv g1f3 g8f6 c2c4 e7e6 g2g3 c7c5 f1g2 d7d5 c4d5 e6d5 b2b3 b8c6 c1b2 h7h6 e1g1

Code: Select all

Halogen 8 x64 (download from repo)
...
info depth 15 seldepth 15 score cp 17 time 46345 nodes 29642905 nps 639000 hashfull 1000 tbhits 0 pv d2d4 g8f6 g1f3 e7e6 c1g5 d7d5 e2e3 b8d7 c2c4 f8b4 f3d2 c7c6 a2a3 b4d6 g5h4

Halogen 8 x64  (download from repo)
...
setoption name Threads value 2

info depth 15 seldepth 12 score cp 19 time 23139 nodes 28289039 nps 1222000 hashfull 1000 tbhits 0 pv g1f3 g8f6 c2c4 e7e6 g2g3 c7c5 f1g2 d7d5 c4d5 e6d5 b2b3 b8c6
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica
Kieren Pearson
Posts: 70
Joined: Tue Dec 31, 2019 2:52 am
Full name: Kieren Pearson

Re: Halogen questions

Post by Kieren Pearson »

Hi Guenther. In the past week I diagnosed that it was my version of gcc that was causing issues. The comment about not compiling yourself no longer stands and I will remove it from my release message.

Since the Halogen 8 release I did spend some time improving how well Halogen scales to higher thread counts and you should see higher NPS both because you compiled locally and also due to my speedups since the release. Notice it now gets 1.94x the nps with 2 threads rather than 1.91x, you should notice even more of an improvement at higher thread counts.

As for the default hash, I default to the lowest possible value and I presume most people who use Halogen do so within a gui which sets the hash size. I'll have to talk with Andrew about it I set it as low as possible by default to make it integrate without issues with OpenBench.

More patches in the works! I've got about 3 more I'm about to merge tonight
User avatar
Guenther
Posts: 4586
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Halogen questions

Post by Guenther »

Kieren Pearson wrote: Sun Nov 01, 2020 12:18 pm Hi Guenther. In the past week I diagnosed that it was my version of gcc that was causing issues. The comment about not compiling yourself no longer stands and I will remove it from my release message.

Since the Halogen 8 release I did spend some time improving how well Halogen scales to higher thread counts and you should see higher NPS both because you compiled locally and also due to my speedups since the release. Notice it now gets 1.94x the nps with 2 threads rather than 1.91x, you should notice even more of an improvement at higher thread counts.

As for the default hash, I default to the lowest possible value and I presume most people who use Halogen do so within a gui which sets the hash size. I'll have to talk with Andrew about it I set it as low as possible by default to make it integrate without issues with OpenBench.

More patches in the works! I've got about 3 more I'm about to merge tonight
Thanks! I appreciated the quick answer.

I will compile again on Monday and also check for (possible) tc issues from another thread.
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica
User avatar
Guenther
Posts: 4586
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Halogen questions

Post by Guenther »

Kieren Pearson wrote: Sun Nov 01, 2020 12:18 pm Hi Guenther. In the past week I diagnosed that it was my version of gcc that was causing issues. The comment about not compiling yourself no longer stands and I will remove it from my release message.

Since the Halogen 8 release I did spend some time improving how well Halogen scales to higher thread counts and you should see higher NPS both because you compiled locally and also due to my speedups since the release. Notice it now gets 1.94x the nps with 2 threads rather than 1.91x, you should notice even more of an improvement at higher thread counts.

As for the default hash, I default to the lowest possible value and I presume most people who use Halogen do so within a gui which sets the hash size. I'll have to talk with Andrew about it I set it as low as possible by default to make it integrate without issues with OpenBench.

More patches in the works! I've got about 3 more I'm about to merge tonight
What exactly was the problem with the no popcount compilation of version 8?
I am asking, because I still had time to run a few games with that 20+3 tc - already in the first game the downloaded Halogen 8 no popcount
crashed in move 42. Sorry no debug available.
[pgn] [Event "Test"] [Site "RWBC-CAPPUCCINO"] [Date "2020.11.01"] [Round "1"] [White "Halogen_8-64"] [Black "OliThink_589-64"] [Result "0-1"] [ECO "A00"] [GameDuration "00:04:30"] [GameEndTime "2020-11-01T14:01:59.773 Mitteleuropõische Zeit"] [GameStartTime "2020-11-01T13:57:28.978 Mitteleuropõische Zeit"] [Opening "Benko's Opening"] [PlyCount "82"] [Termination "stalled connection"] [TimeControl "20+3"] 1. g3 {book} c5 {book} 2. Bg2 {book} g6 {book} 3. f4 {book} Bg7 {book} 4. e4 {+0.10/11 3.05s} d6 {+0.15/17 3.23s} 5. Nc3 {+0.09/10 2.82s} Nc6 {+0.13/16 2.48s} 6. a4 {0.00/11 3.75s} h5 {+0.23/15 2.62s} 7. Nf3 {+0.26/11 3.36s} Qa5 {+0.19/16 2.94s} 8. d3 {+0.64/11 3.10s} Bxc3+ {+0.23/17 2.06s} 9. bxc3 {+0.71/13 2.37s} Qxc3+ {+0.20/18 5.08s} 10. Bd2 {+0.62/14 3.80s} Qg7 {+0.34/18 3.69s} 11. O-O {+0.74/13 3.76s} Nf6 {+0.35/17 2.14s} 12. Rb1 {+0.80/11 2.77s} O-O {+0.24/16 4.36s} 13. Qe1 {+0.73/11 4.33s} Ne8 {-0.07/17 5.06s} 14. f5 {+0.99/11 2.81s} Rb8 {0.00/17 2.11s} 15. Bc3 {+1.31/11 3.00s} e5 {-0.15/18 2.52s} 16. fxe6 {+1.00/13 3.26s} f6 {+0.34/19 3.59s} 17. d4 {+1.00/13 2.62s} cxd4 {+0.37/20 2.16s} 18. Nxd4 {+0.90/14 3.94s} Nxd4 {+0.34/21 2.02s} 19. Bxd4 {+0.81/13 2.55s} Bxe6 {+0.38/17 2.03s} 20. a5 {+0.82/13 3.80s} a6 {+0.36/17 2.33s} 21. Rb6 {+0.87/12 3.02s} Rc8 {+0.54/17 2.16s} 22. Qb1 {+0.70/11 2.80s} Rc7 {+0.40/19 5.55s} 23. Rf2 {+0.99/11 2.95s} Rff7 {+0.54/18 2.44s} 24. h4 {+0.75/11 3.02s} g5 {+0.90/19 2.06s} 25. Qc1 {+0.53/11 3.05s} gxh4 {+1.48/20 2.15s} 26. gxh4 {-0.09/12 3.18s} Rc4 {+1.18/19 2.60s} 27. c3 {0.00/12 2.56s} Ra4 {+1.01/19 2.65s} 28. Kh2 {-0.20/11 3.10s} Qg4 {+1.07/20 2.13s} 29. Rf4 {-0.58/12 3.34s} Qg6 {+1.25/19 3.07s} 30. Qe3 {-0.42/12 2.42s} Rg7 {+1.26/18 2.91s} 31. Rb2 {-0.40/13 3.86s} Rxa5 {+1.01/19 2.25s} 32. Bf1 {-0.62/12 4.18s} b5 {+1.37/17 2.16s} 33. Rd2 {-0.67/11 4.10s} Ra2 {+1.46/19 3.54s} 34. Rxa2 {-0.79/14 2.90s} Bxa2 {+1.25/21 2.95s} 35. Bh3 {-0.78/13 4.04s} Bc4 {+1.17/19 4.05s} 36. Bb6 {-0.94/14 3.04s} Qf7 {+1.23/18 3.81s} 37. Bc8 {-1.20/14 3.55s} Qe7 {+1.18/17 2.18s} 38. Bxa6 {-0.31/10 3.93s} Qd7 {+1.78/20 2.58s} 39. Qh3 {-0.65/12 3.87s} Rg4 {+2.04/20 2.15s} 40. Rxg4+ {-1.59/13 2.92s} hxg4 {+2.62/17 2.23s} 41. Qe3 {-1.88/13 3.82s} Ng7 {+2.68/20 2.11s, White's connection stalls} 0-1[/pgn]

Then I started a couple of games with the dev version I had done and no problems could be seen, also no time losses, but I had to stop
the test already after a few games.
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica
Kieren Pearson
Posts: 70
Joined: Tue Dec 31, 2019 2:52 am
Full name: Kieren Pearson

Re: Halogen questions

Post by Kieren Pearson »

When you say you ran the dev version do you mean a no-popcnt compile? I don't think I made it easy by default to compile a non-popcnt by default so I apologise for that. By Halogen 9 I'm going to move to using gcc exclusively for releases so compiling dev versions will become easier. I'm not really sure why Halogen no-popcnt would be having issues specifically. I'll see if I can reproduce the crash on my computer but I likely already fixed the issue in recent dev versions.

For anyone curious, in Halogen 8 I mistakenly set the 'max time' to wtime + winc which is incorrect. If Halogen 8 is given the command `go wtime 1000 winc 5000 btime 100 binc 5000` it will use more than 1 second on the first move. This has since been fixed. Its interesting because under 'normal' time controls that I test under and CCRL testing showed no time losses so I didn't know of the problem until recently after the release.

so Halogen didn't loose on time in that game but crashed? I haven't seen this before. I will see if I can reproduce the crashes on my computer now.
User avatar
Guenther
Posts: 4586
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Halogen questions

Post by Guenther »

Kieren Pearson wrote: Mon Nov 02, 2020 12:59 pm When you say you ran the dev version do you mean a no-popcnt compile?
Yes. Only those run here on my old quadcore (core2). Also still running Win7-Ultimate here.
Kieren Pearson wrote: Mon Nov 02, 2020 12:59 pm I don't think I made it easy by default to compile a non-popcnt by default so I apologise for that. By Halogen 9 I'm going to move to using gcc exclusively for releases so compiling dev versions will become easier. I'm not really sure why Halogen no-popcnt would be having issues specifically. I'll see if I can reproduce the crash on my computer but I likely already fixed the issue in recent dev versions.
I had no problem compiling it for me by changing the makefile.
Kieren Pearson wrote: Mon Nov 02, 2020 12:59 pm ...

so Halogen didn't loose on time in that game but crashed?
Yes. Probably I still have a Windows crash report, but those are not very helpful, it was explicetely mentioned at least that the app crash
was in Halogen.exe not something else.
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica