I have experimental support for Syzygy tablebases implemented in the development version of Arasan (see https://github.com/jdart1/arasan-chess). I am using the Fathom interface library (https://github.com/basil00/Fathom). I have contributed some changes to this to this library to make it work on Windows with MSVC or Intel C++. To get this to work you need to compile the interface code in C++ mode (/TP flag) because MSVC has limited C99 support. You also need to override the internal support functions in tbconfig.h. Arasan code is an example of how to do this.
--Jon
Arasan Syzygy support (working with Windows, too)
Moderator: Ras
-
- Posts: 4408
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
-
- Posts: 4889
- Joined: Thu Mar 09, 2006 6:34 am
- Location: Pen Argyl, Pennsylvania
Re: Arasan Syzygy support (working with Windows, too)
Will take a look - would like to roll that into crafty as a possible alternative to Nalimov TBs.jdart wrote:I have experimental support for Syzygy tablebases implemented in the development version of Arasan (see https://github.com/jdart1/arasan-chess). I am using the Fathom interface library (https://github.com/basil00/Fathom). I have contributed some changes to this to this library to make it work on Windows with MSVC or Intel C++. To get this to work you need to compile the interface code in C++ mode (/TP flag) because MSVC has limited C99 support. You also need to override the internal support functions in tbconfig.h. Arasan code is an example of how to do this.
--Jon
-
- Posts: 55
- Joined: Thu Oct 22, 2015 2:14 am
Re: Arasan Syzygy support (working with Windows, too)
Did you get a chance to test the elo gain from syzygy?jdart wrote:I have experimental support for Syzygy tablebases implemented in the development version of Arasan (see https://github.com/jdart1/arasan-chess).
PS: Thanks for your help improving Fathom.
Fathom is designed to be (relatively) easy to integrate. But it is still new, so suggestions for improvements are welcome.MikeB wrote:Will take a look - would like to roll that into crafty as a possible alternative to Nalimov TBs.
-
- Posts: 1600
- Joined: Mon Feb 21, 2011 9:48 am
Re: Arasan Syzygy support (working with Windows, too)
I have not managed to compile the project from the solution Visual C++ included.
I would say that the correct input of probe Syzygy files is missing.
When I try to include them in the project, I am filled with errors.
Without Tablebases everything works fine.
I would say that the correct input of probe Syzygy files is missing.
When I try to include them in the project, I am filled with errors.
Without Tablebases everything works fine.
-
- Posts: 4889
- Joined: Thu Mar 09, 2006 6:34 am
- Location: Pen Argyl, Pennsylvania
Re: Arasan Syzygy support (working with Windows, too)
I could use some help - not a programmer by trade. Would you be interested ?basil00 wrote:Did you get a chance to test the elo gain from syzygy?jdart wrote:I have experimental support for Syzygy tablebases implemented in the development version of Arasan (see https://github.com/jdart1/arasan-chess).
PS: Thanks for your help improving Fathom.
Fathom is designed to be (relatively) easy to integrate. But it is still new, so suggestions for improvements are welcome.MikeB wrote:Will take a look - would like to roll that into crafty as a possible alternative to Nalimov TBs.
-
- Posts: 412
- Joined: Sat May 05, 2012 2:48 pm
- Full name: Oliver Roese
Re: Arasan Syzygy support (working with Windows, too)
What sort of help do you need?
-
- Posts: 4408
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Arasan Syzygy support (working with Windows, too)
Is it Arasan you are trying to compile (because Fathom does not have any solution files)? If so I have not updated the project files. But the supplied Windows makefile (Makefile.win) will work, or the gmake file (Makefile) should work under Cygwin.
--Jon
--Jon
-
- Posts: 4408
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Arasan Syzygy support (working with Windows, too)
I don't think there will be much ELO gain. It will play some endings more correctly because of the 50-move rule. But most endings would be played ok with DTW too. So the improvement is likely small IMO.
There are a few things I have not done with Fathom but have thought about .. I just didn't get to it:
1. code internal default implementations of primitives such as lsb, etc. that work with Windows. Right now you must override the internal (gcc) defaults to compile on Windows. I have very portable code for these in the engine but I didn't try to port that into the tb code itself, I just used the override feature to reference the engine versions.
2. Use ASM implementations of bswap32 and bswap64 if possible. Btw. ASM code should be enabled only for x64 architecture. Also I am not sure the code as is works with a big-endian architecture.
3. There are still some compiler warnings under MSVC - I have not fixed these.
--Jon
There are a few things I have not done with Fathom but have thought about .. I just didn't get to it:
1. code internal default implementations of primitives such as lsb, etc. that work with Windows. Right now you must override the internal (gcc) defaults to compile on Windows. I have very portable code for these in the engine but I didn't try to port that into the tb code itself, I just used the override feature to reference the engine versions.
2. Use ASM implementations of bswap32 and bswap64 if possible. Btw. ASM code should be enabled only for x64 architecture. Also I am not sure the code as is works with a big-endian architecture.
3. There are still some compiler warnings under MSVC - I have not fixed these.
--Jon
-
- Posts: 55
- Joined: Thu Oct 22, 2015 2:14 am
Re: Arasan Syzygy support (working with Windows, too)
There currently is no solution file for Fathom. This is something that ought to be rectified, but I am not a VS user.velmarin wrote:I have not managed to compile the project from the solution Visual C++ included.
Yes I can try a basic integration (time permitting). At least Crafty should be easier to integrate than Gull.MikeB wrote: I could use some help - not a programmer by trade. Would you be interested ?