List of bugfree, opensource Linux and MacOSX engines

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

Moderator: Ras

User avatar
hgm
Posts: 28354
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: List of bugfree, opensource Linux and MacOSX engines

Post by hgm »

towforce wrote: Mon Nov 16, 2020 1:06 pmThat's surprisingly good fun for a weak player like myself! :D
Nice thing is that it can be configured for almost any chess variant, by just specifying the piece moves and start position. It guesses piece values all by itself, based on the specified moves. (You can see those by clicking the 'move' column header in the piece-overview table.)

It was intended as a built-in demo in descriptions of chess variants, so that people who just read the rules can have a sparring partner to get a feel for what the game is like. So indeed weak players, with no specific experience in the variant (but perhaps some experience in orthodox Chess).
OliverBr
Posts: 813
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: List of bugfree, opensource Linux and MacOSX engines

Post by OliverBr »

Ras wrote: Mon Nov 16, 2020 11:47 am
OliverBr wrote: Mon Nov 16, 2020 11:20 amObviously, the process was terminated because I starting using 64 processes on a 32-core/64-thread machine for Intra-OliThink-Tournaments.
Linux doesn't terminate processes just because you load all cores to 100%. I'm using 8 threads (i.e. 8 games concurrently) on a 4C/8T machine, and that works.

However, this did uncover a race condition bug in Zevra 2.1.2 that did not pup up when using only 7 threads. This kind of bug can appear in all engines that have search and input thread separate, and that discard some of the input while search is active instead of buffering it for after search.
It's reproducible. Something happens on this 32-core system when running 64 engines at once. Processes are getting killed. This doesn't happen with 32 concurrent engines.
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
User avatar
hgm
Posts: 28354
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: List of bugfree, opensource Linux and MacOSX engines

Post by hgm »

Well, that counts as an OS bug. It should be possible to run 1000 engines on a 32-core system. They would run very slowly for sure. But these OS were multi-tasking long before computers had more than a single CPU.

If you see engine processes terminating it is more likely that this is because of their own bugs. E.g. assuming things happen instantly that under heavy load sometimes take significant time, and then not appropriately waiting for them to happen.
User avatar
Ras
Posts: 2697
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: List of bugfree, opensource Linux and MacOSX engines

Post by Ras »

OliverBr wrote: Mon Nov 16, 2020 4:16 pmIt's reproducible.
So is the race condition e.g. in Zevra, and it's still an engine bug.
Linux isn't buggy so that it would terminate processes just because of full CPU load.
Rasmus Althoff
https://www.ct800.net
OliverBr
Posts: 813
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: List of bugfree, opensource Linux and MacOSX engines

Post by OliverBr »

I have some information about Wyldchess. During the day I ran a 40.000 games series between Wyldchess and OlIThink 5.8.0 and couldn't reproduce a crash. Wyldchess ran out of time once, so there may be a connection. When I won't be able to reproduce a crash, I will let in the list.

Code: Select all

grep "on time" nohup.out 
Finished game 12428 (OliThink 5.8.0 vs WyldChess): 1-0 {Black loses on time}
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
Pi4Chess
Posts: 253
Joined: Mon Nov 16, 2020 12:13 pm
Full name: Manuel Rivera

Re: List of bugfree, opensource Linux and MacOSX engines

Post by Pi4Chess »

Hello

I might be out of topic, but since we are listing open source Linux engine that work fine, anyone of you know any of this engines that are compiled for Linux aarch64 (Raspberry Pi 4) and give link ?

Anyone of you with good compiling knowledge (so it's easy for you) could compile some of these engines or your proper engine for Linux aarch64 ?

It seems that it's likely an armv8 64 compilation but with some flags and librairies for aarch64 ?

Any help will be welcome since i would like to check performances, do tournaments with Raspberry Pi 4 8GB ram. For the moment this little machine with 2 real cores and 4 logical cores can do the output of a single core of an i2500k@3,7Ghz.

May be the engines that are not top 10 engines could do good in this platform.

related topic : http://talkchess.com/forum3/viewtopic.php?f=7&t=75841
OliverBr
Posts: 813
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: List of bugfree, opensource Linux and MacOSX engines

Post by OliverBr »

sedicla wrote: Wed Nov 11, 2020 1:12 am Hi Oliver

Code: Select all

tucano          xb+uci  +250    9.01    https://github.com/alcides-schulz/Tucano                (Compile: tucano_compile.bat)
Seems tucano is just missing a makefile? I have that on the todo list, I will add and let you know. If there's anything else, please let me know I'll take a look.

thanks.
Hi :) Yes, it's missing a makefile, it looks as this is the only issue. It would be nice if you could fix that soon, because an updated list is coming...
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
OliverBr
Posts: 813
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: List of bugfree, opensource Linux and MacOSX engines

Post by OliverBr »

unserializable wrote: Sun Nov 15, 2020 1:07 pm Thank you and hope you continue this interesting testing, it seems to have positive impact already on several engines, I see that soon I shall be able to match Monchester against stable version of Hippocampe :)
Congratulations!
My tests show that Monchester is stable. It still may run out of time on very fast time controls, but rarely.
Monchester didn't run out of time in the following is a 40/15 h2h tournament against Hippocampe:

Code: Select all

   # PLAYER                  :  RATING  ERROR  POINTS  PLAYED   (%)     W    D     L  D(%)  CFS(%)
   1 Monchester 1.0          :     150     14  1402.0    2000  70.1  1145  514   341  25.7     100
   2 Hippocampe 0.4.2.0.2    :       0   ----   598.0    2000  29.9   341  514  1145  25.7     ---

White advantage = 28.94 +/- 7.29
Draw rate (equal opponents) = 29.29 % +/- 1.05
Monchester 1.0: ELO 1100
Hippocampe 0.4.2.0.2: ELO 950
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
jdart
Posts: 4402
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: List of bugfree, opensource Linux and MacOSX engines

Post by jdart »

I pushed some changes to the Arasan github that should improve the build experience on Mac. "make" should now build the engine, although not necessarily the most optimized version. "make avx2-profiled" is what I'd recommend if you're on a modern CPU.

--Jon
OliverBr
Posts: 813
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: List of bugfree, opensource Linux and MacOSX engines

Post by OliverBr »

jdart wrote: Tue Nov 17, 2020 3:00 am I pushed some changes to the Arasan github that should improve the build experience on Mac. "make" should now build the engine, although not necessarily the most optimized version. "make avx2-profiled" is what I'd recommend if you're on a modern CPU.

--Jon
I have tried it after a "git pull" and got an (non-mac-related) error:

Code: Select all

$ make
mkdir -p ../build
mkdir -p ../tune_build
mkdir -p ../bin
mkdir -p ../profile
mkdir -p ../prof_data
cc  -O3 -flto -fno-rtti -DNDEBUG  -D_MAC -Wall -Wextra -fno-strict-aliasing -DUSE_INTRINSICS -DUSE_ASM -std=c++11 -I. -DSYZYGY_TBS -DARASAN_VERSION=v22.1.0-58-ge8755de -msse2 -msse3 -D_64BIT -DSMP -DSMP_STATS  -c -o ../build/search.o search.cpp
cc  -O3 -flto -fno-rtti -DNDEBUG  -D_MAC -Wall -Wextra -fno-strict-aliasing -DUSE_INTRINSICS -DUSE_ASM -std=c++11 -I. -DSYZYGY_TBS -DARASAN_VERSION=v22.1.0-58-ge8755de -msse2 -msse3 -D_64BIT -DSMP -DSMP_STATS  -c -o ../build/stats.o stats.cpp
cc  -O3 -flto -fno-rtti -DNDEBUG  -D_MAC -Wall -Wextra -fno-strict-aliasing -DUSE_INTRINSICS -DUSE_ASM -std=c++11 -I. -DSYZYGY_TBS -DARASAN_VERSION=v22.1.0-58-ge8755de -msse2 -msse3 -D_64BIT -DSMP -DSMP_STATS  -c -o ../build/syzygy.o syzygy.cpp
syzygy.cpp:8:10: fatal error: 'syzygy/src/tbprobe.h' file not found
#include "syzygy/src/tbprobe.h"
         ^~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [../build/syzygy.o] Error 1
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink