In sourceforge, a new 2.1.0 release is available for those who want. Build 2.1.0.3.
Still working on 2.1.3 release. As I wanted to benchmark against previous versions, I backported the bench command into 2.1.0 and fixed some bug on node counting in that release for the BruteForce algorithm. Running 2.1.0.3 with --bench command now returns perft results and Bruteforce with StaticEval together with their relative NPS.
No changes to 2.1.1 and 2.1.2 releases as I expect to release 2.1.3 soon.
Progress on Belofte
Moderators: hgm, Rebel, chrisw
-
- Posts: 163
- Joined: Tue Jun 27, 2017 11:01 pm
- Location: Lubumbashi
- Full name: Yves De Billoëz
Re: Progress on Belofte
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Once owner of a Mephisto I, II, challenger, ... chess computer.
-
- Posts: 163
- Joined: Tue Jun 27, 2017 11:01 pm
- Location: Lubumbashi
- Full name: Yves De Billoëz
Re: Progress on Belofte
Belofte 2.1.3 release is nearing.
I hope no further changes are due for this release and the master branch is more or less stable for the release.
If no major issues are found and optimized compiles for non-linux platforms become available, the release will be formalised.
Major changes to previous releases:
- huge improvement in speed (450% perft, 400% bruteforce) by various code optimisations
- normalisation of code style, units, compilers, etc...
- no major algorithm changes except that positional eval is standard now instead of static eval
- alfa-beta fail soft default algorithme (though one can change through the alg command)
Ps.: I went to trunk as master branch, but then I could not delete master from sf, so dropped trunk and returned back to master as main branch.
As there was some compilation problem in 2.1.2 compared to 2.1.0, there was actually a performance regression. This release should be cutting short and I hope this release will be a future baseline for all upcoming releases.
For those that want it, please have a look at the master branch and/or files section in sourceforge.
Linux versions compiled with clang 12.x
Windows versions compiled with gcc 8.x (anyone with clang 12 toolchain?)
Mac versions compiled with clang 5 (still trying to get my compile environment updated or contributions wanted)
Android/Arduino/... contributions wanted
I hope no further changes are due for this release and the master branch is more or less stable for the release.
If no major issues are found and optimized compiles for non-linux platforms become available, the release will be formalised.
Major changes to previous releases:
- huge improvement in speed (450% perft, 400% bruteforce) by various code optimisations
- normalisation of code style, units, compilers, etc...
- no major algorithm changes except that positional eval is standard now instead of static eval
- alfa-beta fail soft default algorithme (though one can change through the alg command)
Ps.: I went to trunk as master branch, but then I could not delete master from sf, so dropped trunk and returned back to master as main branch.
As there was some compilation problem in 2.1.2 compared to 2.1.0, there was actually a performance regression. This release should be cutting short and I hope this release will be a future baseline for all upcoming releases.
For those that want it, please have a look at the master branch and/or files section in sourceforge.
Linux versions compiled with clang 12.x
Windows versions compiled with gcc 8.x (anyone with clang 12 toolchain?)
Mac versions compiled with clang 5 (still trying to get my compile environment updated or contributions wanted)
Android/Arduino/... contributions wanted
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Once owner of a Mephisto I, II, challenger, ... chess computer.
-
- Posts: 163
- Joined: Tue Jun 27, 2017 11:01 pm
- Location: Lubumbashi
- Full name: Yves De Billoëz
Re: Progress on Belofte
Belofte 2.1.3 has been released.
It has a huge NPS improvement, resulting probably in a gain in ELO. It should beat hands down previous versions 2.0.x, 2.1.0, 2.1.1 and 2.1.2. Will have to see how this translates in the CCRL list.
Major changes:
- Change: Make positional board eval the default evaluation algorithm;
- Change: Make alpha-beta (no early cut-off) the default search algorithm;
- Bug-fix: 1 or 2 last moves not evaluated when castle is possible;
- Bug-fix: Passing `--quit` as parameter on launch no longer throws exception;
- Bug-fix: Do no longer segfault on move 128/ply 256 (regression);
- Bug-fix: xboard `undo` command does no longer break game history (eg.
`game` or `save` commands);
- Fix: Unicode characters in log-output are not well presented,
is default now;
Full release notes can be found in the README.md file and in the HISTORY.md file.
NPS improvement over 2.1.0: 4.5 times, over 2.1.1: 6 times, over 2.1.2: 8 times. (Yes, there was a slowdown as code was added)
Available versions: Linux 32 and 64 bit, Mac OS X 32 and 64 bit, Windows 64 bit.
I still have some issues with producing a good windows 32 bit version. If you need that version, please compile it yourself (C++11) or hold on. Below some speed results:
data from testrelease 2.1.3
I ran many tests and below test, while the number of games is insufficient to be statistically correct, give a rough indication of its score on linux. (tc=40/120+2)
More games and more time controls will give a clearer insight.
To grab its code, please take master branch (or 2.1.3 branch in case of future fixes).
I will get started by working on the next 2.1.4 release.
It has a huge NPS improvement, resulting probably in a gain in ELO. It should beat hands down previous versions 2.0.x, 2.1.0, 2.1.1 and 2.1.2. Will have to see how this translates in the CCRL list.
Major changes:
- Change: Make positional board eval the default evaluation algorithm;
- Change: Make alpha-beta (no early cut-off) the default search algorithm;
- Bug-fix: 1 or 2 last moves not evaluated when castle is possible;
- Bug-fix: Passing `--quit` as parameter on launch no longer throws exception;
- Bug-fix: Do no longer segfault on move 128/ply 256 (regression);
- Bug-fix: xboard `undo` command does no longer break game history (eg.
`game` or `save` commands);
- Fix: Unicode characters in log-output are not well presented,
is default now;
Full release notes can be found in the README.md file and in the HISTORY.md file.
NPS improvement over 2.1.0: 4.5 times, over 2.1.1: 6 times, over 2.1.2: 8 times. (Yes, there was a slowdown as code was added)
Available versions: Linux 32 and 64 bit, Mac OS X 32 and 64 bit, Windows 64 bit.
I still have some issues with producing a good windows 32 bit version. If you need that version, please compile it yourself (C++11) or hold on. Below some speed results:
data from testrelease 2.1.3
Code: Select all
perft bf
Clang (32) 4.456.424 153.033 2,58 %
Gcc (32) 3.272.417 116.122 -24,67 %
gcc native (32) 2.980.921 117.500 -31,38 %
Clang 12 (32) 4.411.127 148.974 1,54 %
Clang 12 5.464.331 187.639 25,78 %
gcc bmi2 4.286.335 152.365 -1,34 %
gcc popcnt 4.316.356 156.830 -0,65 %
gcc native 4.389.782 153.363 1,05 %
gcc 4.325.717 155.178 -0,43 %
clang 5.540.395 188.655 27,53 %
Average (no emulation) 4.344.381 152.966
clang5 vbox mac (32) 3.609.312 93.457 -16,92 %
clang5 vbox mac 3.726.674 99.693 -14,22 %
gcc vbox win (32) 1.429.626 47.975 -67,09 %
gcc vbox win 2.900.319 92.520 -33,24 %
Win7-32 vbox 249.800
Win7-64 vbox (32) 243.992 8.177 -94,38 %
Win7-64 vbox 2.852.713 97.641 -34,34 %
Win10-64 vbox (32) tbd
Win10-64 vbox tbd
More games and more time controls will give a clearer insight.
Code: Select all
1 Little Wing 0.3 741 nan 36 98.6% 2.8%
2 Rustic alpha 1.1 451 426 36 93.1% 8.3%
3 Deepov 0.4.1 451 nan 36 93.1% 2.8%
4 Pigeon 1.5.1 317 175 36 86.1% 11.1%
5 Cinnamon 1.0 280 145 36 83.3% 16.7%
6 Belofte 0.9.18 203 130 38 76.3% 10.5%
7 Belofte 2.1.3 xboard 131 122 36 68.1% 8.3%
8 Bel 32 2.1.3 xboard 110 119 36 65.3% 8.3%
9 Belofte 2.1.3 uci 55 113 38 57.9% 5.3%
10 Samchess 49 117 36 56.9% 2.8%
11 Belofte 0.9.20 35 99 40 55.0% 20.0%
12 Bel 32 2.1.3 uci 0 108 38 50.0% 10.5%
13 Belofte 2.1.2.4 uci -17 105 40 47.5% 10.0%
14 Belofte 2.1.2.4 xboard -18 108 38 47.4% 10.5%
15 Megalodon 1.0 -19 103 36 47.2% 22.2%
16 MinimalChess 0.2 -29 113 36 45.8% 8.3%
17 Little Wing 0.2 -29 105 36 45.8% 19.4%
18 Belofte 2.1.1.3 xboard -46 110 38 43.4% 7.9%
19 Belofte 2.1.0.3 uci -70 104 40 40.0% 15.0%
20 Belofte 2.1.0.3 xboard -74 111 38 39.5% 10.5%
21 Belofte 2.1.1.3 uci -127 113 40 32.5% 10.0%
22 Iota 0.1 -131 117 36 31.9% 13.9%
23 DarkTemplar 0.1 -203 110 38 23.7% 26.3%
24 Fimbulwinter 5.05 -244 146 38 19.7% 7.9%
25 Hippocampe 0.4.2 -451 nan 36 6.9% 2.8%
26 Alouette 0.0.9 -564 nan 40 3.8% 7.5%
27 Sachy 0.2 -741 nan 36 1.4% 2.8%
I will get started by working on the next 2.1.4 release.
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Once owner of a Mephisto I, II, challenger, ... chess computer.
-
- Posts: 1383
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Szentendre, Hungary
- Full name: Gabor Szots
Re: Progress on Belofte
It seems to me that the default is StaticBoard. If that is positional board evaluation then what is the meaning of the PositionalBoard setting?ydebilloez wrote: ↑Thu Aug 05, 2021 12:12 pm - Change: Make positional board eval the default evaluation algorithm;
Gabor Szots
CCRL testing group
CCRL testing group
-
- Posts: 163
- Joined: Tue Jun 27, 2017 11:01 pm
- Location: Lubumbashi
- Full name: Yves De Billoëz
Re: Progress on Belofte
If you run with --info on the command line or give the info command, it will give you the details.Gabor Szots wrote: ↑Thu Aug 05, 2021 1:24 pm It seems to me that the default is StaticBoard. If that is positional board evaluation then what is the meaning of the PositionalBoard setting?
On my machine, it gives following output:
Code: Select all
belofte> info
Info for Belofte - 2.1.3
Built: on 03/08/2021 for Linux - x86_64
Compiled by: clang 12.0.0 with flags BELOFTE_NOUNICODE
Output detail - interface: 0, search: 0
Mode: belofte
Eval: Positional Board
Algo: alpha-beta
No level set, depth limited to 1
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Once owner of a Mephisto I, II, challenger, ... chess computer.
-
- Posts: 1383
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Szentendre, Hungary
- Full name: Gabor Szots
Re: Progress on Belofte
Here is what I see (almost the same as yours):ydebilloez wrote: ↑Thu Aug 05, 2021 1:34 pmIf you run with --info on the command line or give the info command, it will give you the details.Gabor Szots wrote: ↑Thu Aug 05, 2021 1:24 pm It seems to me that the default is StaticBoard. If that is positional board evaluation then what is the meaning of the PositionalBoard setting?
On my machine, it gives following output:
Could you please provide me with the results of the info command?Code: Select all
belofte> info Info for Belofte - 2.1.3 Built: on 03/08/2021 for Linux - x86_64 Compiled by: clang 12.0.0 with flags BELOFTE_NOUNICODE Output detail - interface: 0, search: 0 Mode: belofte Eval: Positional Board Algo: alpha-beta No level set, depth limited to 1
However, if I issue the uci command (instead of info), the default is StaticBoard.belofte> Info for Belofte - 2.1.3
Built: on 03/08/2021 for Windows - x86_64
Compiled by: gcc 8.1.0 with flags BELOFTE_NOUNICODE _WIN32
Output detail - interface: 0, search: 0
Mode: belofte
Eval: Positional Board
Algo: alpha-beta
No level set, depth limited to 1
belofte> Bye
Gabor Szots
CCRL testing group
CCRL testing group
-
- Posts: 163
- Joined: Tue Jun 27, 2017 11:01 pm
- Location: Lubumbashi
- Full name: Yves De Billoëz
Re: Progress on Belofte
Dear Gabor,Gabor Szots wrote: ↑Thu Aug 05, 2021 1:41 pm However, if I issue the uci command (instead of info), the default is StaticBoard.
You found a first bug... It says the default is StaticBoard, while it does initialise to PositionalBoard
so if you do nothing, it will do as info says. However, if you do issue an uci setoption command to confirm the static board, it does indeed change. (setoption name evaltype value StaticBoard)
I will post a new binary tonight with the bug fixed. The code repository has already been updated.
If you do not use the setoption command, you can continue using the existing version. If you issue the command setoption name evaltype value PositionalBoard, you can as well continue using the existing version.
Regards,
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Once owner of a Mephisto I, II, challenger, ... chess computer.
-
- Posts: 1383
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Szentendre, Hungary
- Full name: Gabor Szots
Re: Progress on Belofte
Hi Yves,
I have started a tournament. Very early days but it seems a real improvement. We'll see at next week's CCRL update (probably 15th August).
I have started a tournament. Very early days but it seems a real improvement. We'll see at next week's CCRL update (probably 15th August).
Gabor Szots
CCRL testing group
CCRL testing group
-
- Posts: 163
- Joined: Tue Jun 27, 2017 11:01 pm
- Location: Lubumbashi
- Full name: Yves De Billoëz
Re: Progress on Belofte
Thanks Gabor, I am curious to see how well it fares.Gabor Szots wrote: ↑Sat Aug 07, 2021 9:03 am Hi Yves,
I have started a tournament. Very early days but it seems a real improvement. We'll see at next week's CCRL update (probably 15th August).
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Once owner of a Mephisto I, II, challenger, ... chess computer.
-
- Posts: 163
- Joined: Tue Jun 27, 2017 11:01 pm
- Location: Lubumbashi
- Full name: Yves De Billoëz
Re: Progress on Belofte
While working on the 2.1.4 (next) release, I already published the technical documentation here: http://macchess.internetcontact.be/belo ... index.html
An update due since version 0.2.8.
An update due since version 0.2.8.
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Once owner of a Mephisto I, II, challenger, ... chess computer.