Thanks for letting us know.RubiChess wrote: ↑Mon Apr 20, 2020 9:30 amJust after doing the release I did some test games and stumbled upon a strange and nasty bug. See https://github.com/Matthies/RubiChess/issues/197RubiChess wrote: ↑Sun Apr 19, 2020 7:09 pm RubiChess 1.7 is released here https://github.com/Matthies/RubiChess/releases/latest
Elo?? Don't really know. Best Rubi ever
I have no idea about the reason so far and how often and under which circumstances it will be triggered but I will investigate. So if you plan to test new Rubi, you should wait for some days or until I post here again.
Andreas
New engine releases 2020
Moderators: hgm, Rebel, chrisw
-
- Posts: 1364
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Szentendre, Hungary
- Full name: Gabor Szots
Re: New engine releases 2020
Gabor Szots
CCRL testing group
CCRL testing group
-
- Posts: 585
- Joined: Fri Mar 30, 2018 7:20 am
- Full name: Andreas Matthies
Re: New engine releases 2020
You can get the fixed release 1.7.1 now from here: https://github.com/Matthies/RubiChess/r ... /tag/1.7.1
Regards, Andreas
Regards, Andreas
-
- Posts: 326
- Joined: Mon May 24, 2010 4:32 pm
Re: New engine releases 2020
Thanks very much Andreas !!! Really very strong and interesting your engine !!
-
- Posts: 491
- Joined: Sat Mar 02, 2013 11:31 pm
Re: New engine releases 2020
First Sapeli that understands 3 repetitions. Now it repeats a position once and tries again later.
I actually fixed one nasty bug.
Funny thing it that I have pretty much only removed crap and Sapeli has gained +50 ELO on CCRL Blitz lists
This 1.84 version shouldn't crash. But I will fix bugs if there's any.
Sapeli 1.84: https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.84
I actually fixed one nasty bug.
Funny thing it that I have pretty much only removed crap and Sapeli has gained +50 ELO on CCRL Blitz lists
This 1.84 version shouldn't crash. But I will fix bugs if there's any.
Sapeli 1.84: https://github.com/SamuraiDangyo/Sapeli ... /tag/v1.84
-
- Posts: 1784
- Joined: Wed Jul 03, 2019 4:42 pm
- Location: Netherlands
- Full name: Marcel Vanthoor
Re: New engine releases 2020
I just posted this: Speed is your currency that buys you other things in a topic where you're also a participant. I don't find it funny or strange at all that optimizing the code to be faster has gained you 50 ELO. If your engine gets faster without doing anything else, it gains search depth, and it thus becomes stronger.
In this case, the speed has bought you strenght. You can be satisfied with this 50 ELO gain, but you can also sacrifice all or part of those 50 points by adding more evaluation... hoping that the gain from those extra evaluations will be more than the loss you're taking from the speed decrease.
-
- Posts: 491
- Joined: Sat Mar 02, 2013 11:31 pm
Re: New engine releases 2020
^ Yes. Less bugs is always faster. And in my opinion C is a language for Kernel/OS. This is what C was really invented for. Not really a general problem solving language. So I have simplified Sapeli to the bare minimum. Which gained some +ELO. As with C you need to keep things really simple. There is really no room for "clever code" in Sapeli. That only results bugs.mvanthoor wrote: ↑Fri Apr 24, 2020 10:05 pmI just posted this: Speed is your currency that buys you other things in a topic where you're also a participant. I don't find it funny or strange at all that optimizing the code to be faster has gained you 50 ELO. If your engine gets faster without doing anything else, it gains search depth, and it thus becomes stronger.
In this case, the speed has bought you strenght. You can be satisfied with this 50 ELO gain, but you can also sacrifice all or part of those 50 points by adding more evaluation... hoping that the gain from those extra evaluations will be more than the loss you're taking from the speed decrease.
When sanitizing memory addresses. Sapeli scores only 60% versus Fairy.
When unleashed all the clang speed. Sapeli scores 99%+ versus Fairy.
That is thanks to the raw C speed.
I noticed that after converting some code C -> C++. Lots of that C ugliness was removed. The code became much simpler, shorter and cleaner. No more malloc, callocs, strncmps and other silliness.
I forgot to mention that clang is now the preferred compiler. After fixing more bugs Sapeli now finally runs much faster under clang vs gcc (44Mnps vs 32Mnps). But one should always -bench after compiling. v1.84 solved 288/300 WAC so I expect this version to be on par v1.79. I haven't really tested.
-
- Posts: 1784
- Joined: Wed Jul 03, 2019 4:42 pm
- Location: Netherlands
- Full name: Marcel Vanthoor
Re: New engine releases 2020
C was created to be one thing: a portable assember. That is, a language that is easier to read and write than assembler and makes programs run on multiple architecture without rewriting, but being just as fast. It succeeded. I love C, but I love Rust better because of it's awesome static code analyzer Still, I'm considering to port my engine to C at some point, just because I can.
And Sapeli runs at 44M nodes/second? That's 10% faster than Weiss and Rustic, if that is in perft with no hash and no bulk counting. I'll have to download and test Sapeli on my own system this weekend to make a real comparison. I'll try to compile it with both Gcc and Clang; though I have no experience with Clang yet. I'll install it in my MSYS2 environment.
And Sapeli runs at 44M nodes/second? That's 10% faster than Weiss and Rustic, if that is in perft with no hash and no bulk counting. I'll have to download and test Sapeli on my own system this weekend to make a real comparison. I'll try to compile it with both Gcc and Clang; though I have no experience with Clang yet. I'll install it in my MSYS2 environment.
-
- Posts: 491
- Joined: Sat Mar 02, 2013 11:31 pm
Re: New engine releases 2020
That 44Mnps is for the 20 FENs suite. Bulk counting but no hashing. A simple test that Sapeli gets the total nodes count correct to catch bugs. But I noticed finally clang being a lot faster.mvanthoor wrote: ↑Fri Apr 24, 2020 11:12 pm C was created to be one thing: a portable assember. That is, a language that is easier to read and write than assembler and makes programs run on multiple architecture without rewriting, but being just as fast. It succeeded. I love C, but I love Rust better because of it's awesome static code analyzer Still, I'm considering to port my engine to C at some point, just because I can.
And Sapeli runs at 44M nodes/second? That's 10% faster than Weiss and Rustic, if that is in perft with no hash and no bulk counting. I'll have to download and test Sapeli on my own system this weekend to make a real comparison. I'll try to compile it with both Gcc and Clang; though I have no experience with Clang yet. I'll install it in my MSYS2 environment.
Compiling Sapeli makes all the difference. If you compile it wrong. It performs bad and results bad ELO on rating lists.
Funny thing is that clang reported "#define stdin stdin" as recursive definition in some standard C header. Like C is broken in the core. When you enable all warnings.
Code: Select all
Sapeli.c:468:36: warning: disabled expansion of recursive macro
[-Wdisabled-macro-expansion]
MYASSERT(fgets(str, sizeof(str), stdin) != NULL);
^
/usr/include/stdio.h:139:15: note: expanded from macro 'stdin'
#define stdin stdin
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: New engine releases 2020
When I saw 44 million with no bulk counting I was also interested. But JohnWoe says it uses bulk counting. I wonder if it makes/unmakes the last ply? Some perft do not even make/unmake the last ply. My engine Carnivor written in C on my 3950x, one thread, bench 6 runs at 55.7 million nodes per second. It makes and unmakes all moves and does no bulk counting and it uses the same make/unmake that the search uses. Carnivor is basically a material searcher with static piece square tables. It searches 25.6 million nodes per second, one thread, in the original position and plays e2e4.mvanthoor wrote: ↑Fri Apr 24, 2020 11:12 pm C was created to be one thing: a portable assember. That is, a language that is easier to read and write than assembler and makes programs run on multiple architecture without rewriting, but being just as fast. It succeeded. I love C, but I love Rust better because of it's awesome static code analyzer Still, I'm considering to port my engine to C at some point, just because I can.
And Sapeli runs at 44M nodes/second? That's 10% faster than Weiss and Rustic, if that is in perft with no hash and no bulk counting. I'll have to download and test Sapeli on my own system this weekend to make a real comparison. I'll try to compile it with both Gcc and Clang; though I have no experience with Clang yet. I'll install it in my MSYS2 environment.
My perft example, Godzilla, works identical to Carnivor except it is mostly in 32 bit assembler. It runs bench 6 at 73 million nodes per second. It does not play chess.
This was just fyi, just incase ...
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
-
- Posts: 2488
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: New engine releases 2020
It's not broken, the C standard allows self-referential macros. The main use of that is that you can check for it in some ifdef condition without having to define it to a specific value yet. Clang warns about that because it is also a source of bugs if not used intentionally. Then again, Clang's -Weverything has so many false positives that it is pretty useless anyway.
Rasmus Althoff
https://www.ct800.net
https://www.ct800.net