New asmFish released

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

Moderators: hgm, Rebel, chrisw

syzygy
Posts: 5560
Joined: Tue Feb 28, 2012 11:56 pm

Re: New asmFish released

Post by syzygy »

APassionForCriminalJustic wrote:Ronald's point is basically that Brainfish is nothing more than Stockfish development with the Cerebellum book. Brainfish's implementation of NUMA was actually taken from Mohammed Li (asmFish's author).
Indeed, and the Cerebellum book and in particular the automatic generation of it is obviously very nice work, but that is not why it was inserted into this thread.

There is no question that Brainfish is Stockfish with:
- Cerebellum book code by Thomas;
- numa patch by Mohammed (I think itself based on Texel's code);
- Windows LP patch by I don't know who (possibly Thomas himself, but I suspect not).
The numa patch reverts the "per-thread CMH table" patch resulting in a per-node CMH table. On a non-NUMA system this means a single shared CMH table, which the official SF had until recently.

Going from shared to per-thread was known and accepted to lose a few Elo when using multiple threads on a non-NUMA machine (at least at STC, probably a much smaller effect at LTC where the per-thread tables get enough time to fill up). It was accepted because it removed a bottleneck on NUMA machines. It has no effect on single-threaded play or speed.

Everything can be verified by inspecting the source code. If I missed something, then I can easily be corrected by pointing out the relevant source file and line numbers or so.

The LP patch, once it is enabled via an UCI option, obviously does improve speed a lot when using larger hash tables. (And I can only applaud anyone who adds LP support to an engine. Not using this facility where it is available unnecessarily leaves the hardware underused.)
That NUMA patched failed to show an Elo gain when tested at the Fishtest framework using 32 cores if I am not mistaken.
Yes, so far it has not shown itself to be a win on NUMA machines except on Windows systems with more than 64 logical cores (where it overcomes the processor group limitation discussed elsewhere).

I have no doubt that scaling can be improved by optimising memory use on NUMA machines, but it is not yet clear by how much. For example, if SF already scales close to perfectly on a two-node machine, then any gains from NUMA modifications on that system will necessarily be very limited.
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: New asmFish released

Post by Gusev »

Hi Ronald,

Is Cfish 8 out, to match Stockfish 8 and compare?

Dmitri
syzygy wrote:
APassionForCriminalJustic wrote:Ronald's point is basically that Brainfish is nothing more than Stockfish development with the Cerebellum book. Brainfish's implementation of NUMA was actually taken from Mohammed Li (asmFish's author).
Indeed, and the Cerebellum book and in particular the automatic generation of it is obviously very nice work, but that is not why it was inserted into this thread.

There is no question that Brainfish is Stockfish with:
- Cerebellum book code by Thomas;
- numa patch by Mohammed (I think itself based on Texel's code);
- Windows LP patch by I don't know who (possibly Thomas himself, but I suspect not).
The numa patch reverts the "per-thread CMH table" patch resulting in a per-node CMH table. On a non-NUMA system this means a single shared CMH table, which the official SF had until recently.

Going from shared to per-thread was known and accepted to lose a few Elo when using multiple threads on a non-NUMA machine (at least at STC, probably a much smaller effect at LTC where the per-thread tables get enough time to fill up). It was accepted because it removed a bottleneck on NUMA machines. It has no effect on single-threaded play or speed.

Everything can be verified by inspecting the source code. If I missed something, then I can easily be corrected by pointing out the relevant source file and line numbers or so.

The LP patch, once it is enabled via an UCI option, obviously does improve speed a lot when using larger hash tables. (And I can only applaud anyone who adds LP support to an engine. Not using this facility where it is available unnecessarily leaves the hardware underused.)
That NUMA patched failed to show an Elo gain when tested at the Fishtest framework using 32 cores if I am not mistaken.
Yes, so far it has not shown itself to be a win on NUMA machines except on Windows systems with more than 64 logical cores (where it overcomes the processor group limitation discussed elsewhere).

I have no doubt that scaling can be improved by optimising memory use on NUMA machines, but it is not yet clear by how much. For example, if SF already scales close to perfectly on a two-node machine, then any gains from NUMA modifications on that system will necessarily be very limited.
syzygy
Posts: 5560
Joined: Tue Feb 28, 2012 11:56 pm

Re: New asmFish released

Post by syzygy »

Gusev wrote:Is Cfish 8 out, to match Stockfish 8 and compare?
https://github.com/syzygy1/Cfish/releases/tag/cfish_8
PaulieD
Posts: 212
Joined: Tue Jun 25, 2013 8:19 pm

Re: New asmFish released

Post by PaulieD »

3000 GAME ROUND ROBIN
i3 380M | 2 @ 2.53 | Win7 x64 | 6 GB Ram | Gui~ CuteChess GUI 0.9.4
Draw Adjudication~120 / 40 / 2 | Resign~3 / 4.8 | Cores~1 | HT~On
Book~TopGM_2move.pgn | Hash~8MB | Concurrency~3
Ponder~No | TB's~No | Elo~Ordo 1.2.6 | Time~20" + .2"

ASM vs CFish vs SF8

Code: Select all

   # PLAYER         :  RATING  ERROR  PLAYED    W     D    L   (%)  D(%)
   1 SF8 ASMPD      :    3219      6    2000  471  1218  311  54.0  60.9
   2 CF 110516      :    3200      7    2000  396  1206  398  50.0  60.3
   3 Stockfish 8    :    3181      7    2000  318  1206  476  46.0  60.3
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: New asmFish released

Post by Gusev »

Thank you very much, I will compile and test!
syzygy wrote:
Gusev wrote:Is Cfish 8 out, to match Stockfish 8 and compare?
https://github.com/syzygy1/Cfish/releases/tag/cfish_8