Sapeli 1.0 - New chess engine

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Gabor Szots
Posts: 463
Joined: Sat Jul 21, 2018 5:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Sapeli 1.0 - New chess engine

Post by Gabor Szots » Tue Mar 10, 2020 2:18 pm

JohnWoe wrote:
Tue Mar 10, 2020 12:10 pm
Released Sapeli 1.76:

https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.76

master: https://github.com/SamuraiDangyo/Sapeli

This is a big bug fix version. Simplified the code base a lot(MACROS -> simple functions). Contains builds for different OSes. Profile build should be used. As Sapeli depends on speed. :D
Hi Toni,

I could successfully compile previous 1.72 and 1.73 versions of Sapeli and they ran OK. Compiling is successful for 1.76 as well (no error messages) but the engine does not run. CuteChess says it could not initialize the engine while Fritz 17 cannot even install it.
It is the same with the Win64 compiles you provided.
Gabor Szots
CCRL testing group

JohnWoe
Posts: 182
Joined: Sat Mar 02, 2013 10:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe » Tue Mar 10, 2020 3:14 pm

Gabor Szots wrote:
Tue Mar 10, 2020 2:18 pm
JohnWoe wrote:
Tue Mar 10, 2020 12:10 pm
Released Sapeli 1.76:

https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.76

master: https://github.com/SamuraiDangyo/Sapeli

This is a big bug fix version. Simplified the code base a lot(MACROS -> simple functions). Contains builds for different OSes. Profile build should be used. As Sapeli depends on speed. :D
Hi Toni,

I could successfully compile previous 1.72 and 1.73 versions of Sapeli and they ran OK. Compiling is successful for 1.76 as well (no error messages) but the engine does not run. CuteChess says it could not initialize the engine while Fritz 17 cannot even install it.
It is the same with the Win64 compiles you provided.
Hello and thanks for the report!

You are propably compiling without -DNDEBUG flag?
But it still shouldn't crash.
I'm running games with all asserts on and see no crashes.
Finished game 259 (Sapeli 1.76 vs Stockfish 120220 64): * {No result}
Score of Sapeli 1.76 vs Stockfish 120220 64: 1 - 256 - 1 [0.006] 258
Elo difference: -893.20 +/- nan
Any messages in command line?

From 1.72/1.73 the changes: I converted MACROs to functions as they hurt readability. Lost some speed in the process as well.
And support only 1 Hash table. Those problems could be related to them.

Also Sapeli exits if doesn't like the input. But it informs the user like: Sapeli error: Line 743

Try from command line whether it crashes:

Code: Select all

sapeli -id

Code: Select all

sapeli -bench

Gabor Szots
Posts: 463
Joined: Sat Jul 21, 2018 5:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Sapeli 1.0 - New chess engine

Post by Gabor Szots » Wed Mar 11, 2020 7:45 am

JohnWoe wrote:
Tue Mar 10, 2020 3:14 pm
Also Sapeli exits if doesn't like the input. But it informs the user like: Sapeli error: Line 743

Try from command line whether it crashes:

Code: Select all

sapeli -id

Code: Select all

sapeli -bench
Crashes with both parameters.

sapeli-1.76-x86-win64.exe -id exits with Sapeli error: Line: 4039.
Gabor Szots
CCRL testing group

Gabor Szots
Posts: 463
Joined: Sat Jul 21, 2018 5:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Sapeli 1.0 - New chess engine

Post by Gabor Szots » Wed Mar 11, 2020 11:27 am

FYI, 1.75 compiles and runs OK.
Gabor Szots
CCRL testing group

JohnWoe
Posts: 182
Joined: Sat Mar 02, 2013 10:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe » Wed Mar 11, 2020 11:44 am

Gabor Szots wrote:
Wed Mar 11, 2020 7:45 am
JohnWoe wrote:
Tue Mar 10, 2020 3:14 pm
Also Sapeli exits if doesn't like the input. But it informs the user like: Sapeli error: Line 743

Try from command line whether it crashes:

Code: Select all

sapeli -id

Code: Select all

sapeli -bench
Crashes with both parameters.

sapeli-1.76-x86-win64.exe -id exits with Sapeli error: Line: 4039.
Thanks!
Now I got the correct line.

Something going on with the preprocessor. I don't know exactly.

I made some simplifications. If this v1.77 works I'll remove v1.76 release and release v1.77.
https://github.com/SamuraiDangyo/Sapeli

I thought Sapeli got slower. It got A LOT faster by upgrading gcc. :)

old

Code: Select all

sapeli -suite 6 : nodes 19714595281 mnps 21.697 time 908.652
sapeli -bench : nodes 195496032 mnps 6.517 time 30.000
new

Code: Select all

sapeli -suite 6 : nodes 19714595281 mnps 31.299 time 629.883
sapeli -bench : nodes 201516730 mnps 6.717 time 30.000
+10,000,000 NPS for mgen for free.
Sapeli is now searching 201,000,000+ nodes in 30 seconds !

Gabor Szots
Posts: 463
Joined: Sat Jul 21, 2018 5:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Sapeli 1.0 - New chess engine

Post by Gabor Szots » Wed Mar 11, 2020 12:19 pm

JohnWoe wrote:
Wed Mar 11, 2020 11:44 am
I made some simplifications. If this v1.77 works I'll remove v1.76 release and release v1.77.
Yes, this works. It is interesting that the exe sizes of 1.72/1.73/1.75/1.77 are about 170 kB while 1.76 was only 55 kB.
Gabor Szots
CCRL testing group

JohnWoe
Posts: 182
Joined: Sat Mar 02, 2013 10:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe » Sun Mar 15, 2020 12:03 am

Gabor Szots wrote:
Wed Mar 11, 2020 12:19 pm
JohnWoe wrote:
Wed Mar 11, 2020 11:44 am
I made some simplifications. If this v1.77 works I'll remove v1.76 release and release v1.77.
Yes, this works. It is interesting that the exe sizes of 1.72/1.73/1.75/1.77 are about 170 kB while 1.76 was only 55 kB.
Nice thanks!

It was some weird preprocessing malfunction? The only thing I did removing some ugly MACROS and turned them into nice functions. And renamed INF -> INFINITE -> INF.

The problem is I have never tested Sapeli on any other OS than Linux. I know MacOS is UNIX too so I suppose Sapeli plays well under it. So those .exe sizes are a bit mystery to me too.

I released Sapeli v1.78 a few days ago. And removed v1.76.
I cleaned up some ugly arrays. My plan is not to release new versions for some time. I have flooded too many versions lately :D

https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.78

Norbert Raimund Leisner
Posts: 1636
Joined: Tue May 20, 2008 2:57 pm
Location: Augsburg - Germany

Re: Sapeli 1.0 - New chess engine

Post by Norbert Raimund Leisner » Sun Mar 15, 2020 4:54 pm

Hello ,

do the following packages contain "complete" Linux versions or only "precompiled" editions respectively the source codes?
I am not a Linux user, which distribution system works e.g. Ubuntu, Debian, Red Hat on your pc?

https://github.com/SamuraiDangyo/DiceChess

https://github.com/SamuraiDangyo/RubyShogi

https://github.com/SamuraiDangyo/Shuriken

By the way: is https://github.com/SamuraiDangyo/Sapeli ... .78/sapeli - https://github.com/SamuraiDangyo/Sapeli ... .77/sapeli - https://github.com/SamuraiDangyo/Sapeli ... .75/sapeli
etc. a Linux compile (32 or 64 bit too) or not? On the Russian SDChess website http://www.sdchess.ru/download_engines.htm I found an older Macintosh engine.

Regards,
Norbert

JohnWoe
Posts: 182
Joined: Sat Mar 02, 2013 10:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe » Sun Mar 22, 2020 9:16 pm

Norbert Raimund Leisner wrote:
Sun Mar 15, 2020 4:54 pm
Hello ,

do the following packages contain "complete" Linux versions or only "precompiled" editions respectively the source codes?
I am not a Linux user, which distribution system works e.g. Ubuntu, Debian, Red Hat on your pc?

https://github.com/SamuraiDangyo/DiceChess

https://github.com/SamuraiDangyo/RubyShogi

https://github.com/SamuraiDangyo/Shuriken

By the way: is https://github.com/SamuraiDangyo/Sapeli ... .78/sapeli - https://github.com/SamuraiDangyo/Sapeli ... .77/sapeli - https://github.com/SamuraiDangyo/Sapeli ... .75/sapeli
etc. a Linux compile (32 or 64 bit too) or not? On the Russian SDChess website http://www.sdchess.ru/download_engines.htm I found an older Macintosh engine.

Regards,
Norbert
Hello.

Those releases only contain source code. My Makefile "release system" has not found their way there yet.

I use Debian based distros. I released some hand crafted .deb packages. None of my Linux compiles from my laptop works on my desktop.

By the way if somebody can create a Snapcraft Debian package using Sapeli 1.79 sources that would be great. That program never worked for me.

About these engines:

DiceChess - I will update it soon. It is basically a "new" variant I invented. And a chess engine that actually plays.

RubyShogi - It can be installed by Ruby Gems. gem install rubyshogi. Truth to be told. It needs to be linked to this LLVM stack for native speed. Right now it's too slow. I need to work on that.

Shuriken - The same as for RubyShogi gem install shurikenengine. Both uses XBOARD protocol.

All "sapeli" are 64 bit Linux builds.

I haven't checked what compiles are on that Russian site.
I have uploaded here some Sapeli compiles people have built: https://github.com/SamuraiDangyo/Sapeli ... naries/bin

JohnWoe
Posts: 182
Joined: Sat Mar 02, 2013 10:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe » Thu Mar 26, 2020 11:56 am

Proudly presenting Sapeli 1.79 release

Release : https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.79
Master : https://github.com/SamuraiDangyo/Sapeli

Release contains binaries which may or may not work. Compiling Sapeli shouldn't be hard anyway.

## Changes ##
- Search improved ( null window search )
- Lots of speedups
- Sorting improved (Increase Goodmoves and killers more in longer games).
- Noise removed from eval and put into sorting. Helps ordering.
- First depths faster completed. Thanks for the idea goes to the user "mar".
- Tons of bugs fixed. Thanks to cppcheck, clang and many other tools.
- Code made cleaner. Sapeli's main purpose is to be an easy to read and modifiable code base for all purposes.
- Binaries moved here : https://github.com/SamuraiDangyo/bins/t ... i-binaries

Thanks to everybody !

Many things ( not tested enough... ) were left out as I wanted to release something stable this time.
As I don't want to throw in all kind of hocus pocus that improves "ELO".
On to the 1.80 !

WAC results. These improved a lot. Not my main testing method tho. :D

Code: Select all

1s  : 256/300
5s  : 269/300
10s : 273/300
30s : 282/300
60s : 288/300
My "regression" test. Sapeli totally annihilated Fairy with 99.8% score. Sapeli has never scored so well !
With a better processor 100% score next ?

Code: Select all

Score of Sapeli 1.79 vs Fairy-Max 5.0b: 9974 - 13 - 13  [0.998] 10000
Elo difference: 1083.65 +/- 74.59
Finished match

Post Reply