syzygy users (and Ronald)

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: syzygy users (and Ronald)

Post by Evert »

bob wrote: I like simple, particularly when there is no down-side at all...
There is one: you're now dependent on the availability of the intrinsic, which isn't portable (works on gcc and clang, will/may not on other compilers).
basil00
Posts: 55
Joined: Thu Oct 22, 2015 2:14 am

Re: syzygy users (and Ronald)

Post by basil00 »

syzygy wrote: Personally I have always preferred integrating TB probing code as tightly as possible with the engine for maximum performance. My probing code needs to generate and play out captures and what better functions to use for that than the engine's native move generation. (Back in the days of the Edwards tables I noticed that removing the multiple conversions of board representation on every probe doubled probing speed.)
It is possible to integrate the engine's "attacks" functions if compatible, which results in a closer integration. However for move generation and "do move" Fathom uses its own code mainly because it was too difficult to abstract out. In the case of Gull however, the Fathom code is probably faster, since Gull's move generator assumes evaluate() is called first.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: syzygy users (and Ronald)

Post by bob »

Evert wrote:
bob wrote: I like simple, particularly when there is no down-side at all...
There is one: you're now dependent on the availability of the intrinsic, which isn't portable (works on gcc and clang, will/may not on other compilers).
Also works on MSVC and Intel. Also IBM's C compiler...
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: syzygy users (and Ronald)

Post by jdart »

I don't know about clang, but last I checked the GCC popcnt builtin was very slow, on systems w/o hardware popcnt. On these systems the software popcnt implementation in the Fathom library is much faster.

--Jon
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: syzygy users (and Ronald)

Post by bob »

jdart wrote:I don't know about clang, but last I checked the GCC popcnt builtin was very slow, on systems w/o hardware popcnt. On these systems the software popcnt implementation in the Fathom library is much faster.

--Jon
I looked at the code on my MacBook. It uses the folding idea that is in the syzygy code. I'll try to dig it out and publish it here, although I think I found it on the net with google also...