Code Monkey home page Code Monkey logo

cfish's People

Contributors

alip avatar andremiv avatar coffeeone avatar eduherminio avatar gsobala avatar lonfom169 avatar matthies avatar okuhara avatar prcuvu avatar sf-x avatar syzygy1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cfish's Issues

Dynamic part of "contempt"

Hello! Can you please make button to disable the dynamic part of this?
The dynamic part has no good effect in analysis, IMO.

I tryied this:
if (option_value(OPT_CONTEMPT_DYNAMIC))
{
// Adjust contempt based on current situation
int ct = base_ct + ( bestValue > 500 ? 50
: bestValue < -500 ? -50
: bestValue / 10);
store_rlx(Contempt, pos_stm() == WHITE ? make_score(ct, ct / 2)
: -make_score(ct, ct / 2));
}

it works fine for me in analysis.

Selecting different arch during compilation doesn't change their flags

It happens with both make build and make profile-build. If I use the "make build x86-64" command, supposedly it should disable popcnt, but it doesn't. Likewise if I use "make profile build x86-64-bmi2", it should enable pext, but it still doesn't. I have to manually set those flags in the makefile to make it work. I'm using the latest MinGW GCC 7.3.0 posix seh on Windows 10.

EDIT: I just realized that I need to append ARCH before the arch selection to make it work. Sorry for the false alarm. You can close this issue.

NodeAffinity

Is the NUMA=all option supposed to work the same as asmFish's NodeAffinity=all option?

If so, what about the other options for specifying different numa nodes like in asmFish? Will NUMA=1 force cFish to use only NUMA node 1? If so then it's not working.

With asmFish I can set NodeAffinity=1 and it'll only use NUMA node 1 and the cores on NUMA node 1. This works because if I set an engine tournament like asmFish vs H5 and I have 2 cpu's and 36 cores then I can tell asmFish to use only NUMA node 1 and only 18 of its cores while cFish will use the other 18 cores on NUMA node 0. Both engines run at 50% cpu utilization which means my system is running at 100% cpu and all 36 cores and this would be correct.

If I try to set up the same tournament with H5 vs cFish and I set cFish's NUMA option to NUMA=1 then it still uses NUMA 0 and so does H5 and cpu utilization for each engine is then only 25% which is incorrect. Another words, the tournament would be unfair to one of the engines since both are fighting for the same resources...unfair or at least run inefficiently.

I assume the NUMA option in cFish doesn't have the same features as NodeAffinity in asmFish correct? Too bad.

Display the latest SF patch applied

Obviously you can't apply all of them since the program is slightly different. But for [0,5] patches like Oct 25 (today's) Endgame malus for having a king in a pawnless flank, this would almost certainly help Cfish too, and if those patches aren't kept up with Cfish will be passed by, even staying faster. It would help us to know for analysis which version of SF would be most comparable, and if it gets too far back we can try some analysis with both, and if eventually you stop updating, we will all know where it was left if anyone else wants to pick back up or compare.
ASMFish does something like this by putting a date in, although I haven't read that it means he has put in all patches by that date, I think it is at least close.

Possible HT issue

Hello!
On a Windows machines with hyper-threading enabled, Cfish is playing bad in 1-core testing with concurrency more than number of real cores.


Test on server with 2 CPU (total 12 cores/24 threads):

Games Completed = 17530 of 100000 (Avg game length = 30.432 sec)
Settings = RR/32MB/Book/10000ms+100ms/M 1000cp for 12 moves, D 120 moves/PGN:C:\Users\Burcontovk\Desktop\Lbbooks\Mybookbullet.pgn(299)
Time = 35861 sec elapsed, 168710 sec remaining
1. CFish_x64_281217_NUMA_popcnt_720mingw 8135.0/17530 2375-3635-11520
(L: m=755 t=34 i=0 a=2846) (D: r=8358 i=1593 f=405 s=94 a=1070) (tpm=235.4 d=18.00 nps=1117936)

2. stockfish_281217_x64_popcnt 9395.0/17530 3635-2375-11520
(L: m=457 t=0 i=0 a=1918) (D: r=8358 i=1593 f=405 s=94 a=1070) (tpm=232.2 d=18.64 nps=1209669)

Concurrency 15 or more.
PGN with games: http://www75.zippyshare.com/v/LEYXO33P/file.html


Test on i7 6700HQ (4 cores/8 threads):

i7 6700HQ Quad @ 3.5 | OS: Win10x64-16GB | Gui CuteChess 1.0.0
TopGM_2move.pgn| Hash=16MB | HT~On | Ponder=No | TB=No
Cores=1 | Concurrency 7 | Elo Ordo 1.26 | Time: 10"+.1" (64")

PLAYER                         :  RATING  ERROR  PLAYED   (%)    W     D    L  D(%)  CFS(%)

1 CFish_x64_281217_NUMA_popcnt_720mingw : 3200 4 2200 50.0 325 1552 323 70.5 53
2 stockfish_281217_x64_popcnt : 3200 4 2200 50.0 323 1552 325 70.5 ---


Test on my AMD FX-8150 (8cores/8 threads):

Win 10, Cutechess 0.9.4, TC: 10+0.1, hash 16 MB, 1 core, concurrency 7

Score of CFish_x64_281217_NUMA_popcnt_720mingw vs stockfish_281217_x64_popcnt:
1883 - 1292 - 6825 [0.530]
ELO difference: 20.56 +/- 3.82

10000 of 10000 games finished.

Both engines have same bench

Several warnings while compiling with MingW in Windows.

I've been seeing these regularly with all the cFish updates I've tried so far, even before Numa. It compiles without error and doesn't seem to affect the engine's performance but perhaps it can lead to other problems? Tried several different versions of gcc. Compiling with MingW, and currently using gcc 6.2.0 on Win'2008 R2 Ent. and 2x E5-2696v3 . And as I mentioned before, LP doesn't work as well. I hope this helps.

.....
gcc -Wall -std=c11 -fprofile-generate -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -
msse -msse3 -mpopcnt -DUSE_POPCNT -DUSE_PEXT -mbmi2 -DNUMA -c -o position.o po
sition.c
position.c: In function 'print_pos':
position.c:127:31: warning: unknown conversion type character 'l' in format [-Wf
ormat=]
printf("\nFen: %s\nKey: %16llX\nCheckers: ",
^
position.c:127:10: warning: too many arguments for format [-Wformat-extra-args]
printf("\nFen: %s\nKey: %16llX\nCheckers: ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
position.c:127:31: warning: unknown conversion type character 'l' in format [-Wf
ormat=]
printf("\nFen: %s\nKey: %16llX\nCheckers: ",
^
position.c:127:10: warning: too many arguments for format [-Wformat-extra-args]
printf("\nFen: %s\nKey: %16llX\nCheckers: ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -std=c11 -fprofile-generate -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -
msse -msse3 -mpopcnt -DUSE_POPCNT -DUSE_PEXT -mbmi2 -DNUMA -c -o psqt.o psqt.c

gcc -Wall -std=c11 -fprofile-generate -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -
msse -msse3 -mpopcnt -DUSE_POPCNT -DUSE_PEXT -mbmi2 -DNUMA -c -o search.o sear
ch.c
search.c: In function 'search_clear':
search.c:219:22: warning: format '%ld' expects argument of type 'long int', but
argument 2 has type 'long long unsigned int' [-Wformat=]
printf("sizeof = %ld\n", sizeof(*cmh_tables[0]));
^
search.c:219:22: warning: format '%ld' expects argument of type 'long int', but
argument 2 has type 'long long unsigned int' [-Wformat=]
gcc -Wall -std=c11 -fprofile-generate -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -
msse -msse3 -mpopcnt -DUSE_POPCNT -DUSE_PEXT -mbmi2 -DNUMA -c -o tbprobe.o tbp
robe.c
tbprobe.c: In function 'probe_wdl_table':
tbprobe.c:160:10: warning: array subscript is above array bounds [-Warray-bounds
]
p[i++] = pop_lsb(&bb) ^ mirror;
~^~~~~
tbprobe.c: In function 'TB_probe_dtz':
tbprobe.c:270:10: warning: array subscript is above array bounds [-Warray-bounds
]
p[i++] = pop_lsb(&bb) ^ mirror;
.....

In all fairness I also see some warnings when running a Stockfish Run test where it downloads and compiles a test run:

Running lmrk3b vs master:
.....
g++ -Wall -Wcast-qual -fno-exceptions -fno-rtti -std=c++11 -fprofile-generate -W
extra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -msse3 -mpopcnt -DUSE_POPCNT -c -
o syzygy/tbprobe.o syzygy/tbprobe.cpp
syzygy/tbprobe.cpp: In function 'int probe_ab(Position&, int, int, int_)':
syzygy/tbprobe.cpp:205:14: warning: array subscript is above array bounds [-Warr
ay-bounds]
p[i++] = pop_lsb(&bb) ^ mirror;
~~~~~^
syzygy/tbprobe.cpp: In function 'int Tablebases::probe_dtz(Position&, int_)':
syzygy/tbprobe.cpp:315:14: warning: array subscript is above array bounds [-Warr
ay-bounds]
p[i++] = pop_lsb(&bb) ^ mirror;
~~~~~^
g++ -o stockfish benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o ma
terial.o misc.o movegen.o movepick.o pawns.o position.o psqt.o search.o thread.o
timeman.o tt.o uci.o ucioption.o syzygy/tbprobe.o -lgcov -static

.....

Black magic move generation

I just compile CFish with MAGIC_BLACK and on my machine (Phenom II x6) it's slightly faster than MAGIC_PLAIN. https://postimg.org/image/yr7ymwjg5/

1 core, 0.25 sec/move:

Score of CFish_x64_120817_popcnt_710gcc vs CFish_x64_120817_Black_magic_popcnt_710gcc: 35 - 48 - 153 [0.472]
ELO difference: -19.16 +/- 26.27

236 of 2000 games finished.

Of course, there are only 236 games...

Compilation cpu options

First, thank you for your time and for keeping up Cfish, I find it very solid and very good performance so far it's my favorite engine outhere. I do compile it myself using MinGW with no issues.
I have seen other ports that have options for avx bm1 bmi2 avx2 and so on that you can set on file before compiling. Is there any chance of that here in Cfish, what files should I look into to edit and make this options available? Thanks for your time and work.

Warings while compiling under Msys64 GCC 7.2.0

position.c: In function 'print_pos':
position.c:128:31: warning: unknown conversion type character 'l' in format [-Wformat=]
printf("\nFen: %s\nKey: %16llX\nCheckers: ",
^
position.c:128:10: warning: too many arguments for format [-Wformat-extra-args]
printf("\nFen: %s\nKey: %16llX\nCheckers: ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
position.c:128:31: warning: unknown conversion type character 'l' in format [-Wformat=]
printf("\nFen: %s\nKey: %16llX\nCheckers: ",
^
position.c:128:10: warning: too many arguments for format [-Wformat-extra-args]
printf("\nFen: %s\nKey: %16llX\nCheckers: ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

popcnt enabled by default

I am compiling on 64bit linux and had to set popcnt = no in the make file or the program would crash with an illegal instruction error. Please disable this by default, not all 64bit CPUs have popcnt.

Cerebellum book support

Hello! It is not an issue.
I think I can speak on behalf of all the fans of Cfish: could you add support for the Cerebellum book as in Brainfish or ASMfish? I think all Cfish users would like this.

compiler warnings

I get a lot of warnings for various files...all same message:

benchmark.c:209:21: warning: ISO C does not support the 'I' ms_printf length modifier [-Wformat=]

and

benchmark.c:223:19: warning: ISO C does not support the 'I64' ms_printf length modifier [-Wformat=]

cfish for android

Hello. There was a problem. I compile
Cfish on android and until November all
versions worked fine. But since
cfish-031117 appeared bug. It shows up
when the engine exits the book and
does its own move. For example, in the
following example, cfish makes a black
move 9. ..d5 ?? , spends on it only 2
ms. 1. e4 d6 2. d4 g6 3. Nf3 Bg7 4.
Nc3 Nf6 5. h3 c6 6. a4 Qa5 7. Bd2
Nbd7 8. Bc4 OO 9. Qe2 {[15] 0.66 1.4s
796.9knps Qe2 Qd8} 9 .. . d5 ?? {[1]
0.05 2ms !! 81.0knps ..d5} 10. Nxd5
{[15] 2.39 1.8s 795.0knps Nxd5 Qd8}
10 ... Qd8 {[17] -2.47 2.1s 866.5knps
..Qd8 Nf4} This bug appears only when
you exit the book and (for example, 2m

  • 1s). In a fixed time control (1,2,3
    seconds per move) everything is in
    order. This bug only appears in versions
    released in November, starting from the
    3rd date. I'm checking Stockfish
    released in November, in the same
    numbers, it's all right. I tried different
    compilers, the result is the same. Error
    in Cfish. I specially compiled the last
    cfish of October and it works fine.

What happened with cfish nodes/second

Cfish : Src of 2018/02/15

Total time (ms) : 4365
Nodes searched : 5006365
Nodes/second : 1 146 933

Stockfish 9

Total time (ms) : 2445
Nodes searched : 5006365
Nodes/second : 2 047 593

Thank you!

Thank you very much that you continued to work on the engine!
I have no doubt that the "С" port of Stockfish must exist!
With respect to you and your work, Andrey.

Large pages not working.

Tested asmFish with LP and it's fine including numa. While cFish's numa seems to be working for me large pages are not. Using Win'2008 R2 Ent. with 64 GB ram, 2 x E5-2696v3.

Plain fixed-shift magics

I tested plain fixed-shift magics, MAGIC_BLACK still faster:
https://postimg.org/image/kyp070zmn/

But in match with 0.25 sec per move, 1 core, hash 16 mb - looks like MAGIC_PLAIN is a little stonger than MAGIC_BLACK:

Score of CFish_x64_120817_BM_modern_710gcc vs CFish_x64_130817_PM_710gcc: 53 - 67 - 217 [0.479]
ELO difference: -14.44 +/- 22.12

337 of 2000 games finished.

Both popcnt, comp=gcc, -flto

===
UPD
Score of CFish_x64_120817_BM_modern_710gcc vs CFish_x64_130817_PM_710gcc: 104 - 111 - 410 [0.494]
ELO difference: -3.89 +/- 15.96

625 of 2000 games finished.

====
UPD:
Score of CFish_x64_120817_BM_modern_710gcc vs CFish_x64_130817_PM_710gcc: 187 - 171 - 619 [0.508]
ELO difference: 5.69 +/- 13.17

977 of 2000 games finished.

Ram drive

Probing tablebases from ram drive make sense.

Is there any particular cons from probing tablebases from ram drives. E.g if analysing with 5-men gaviota/nalimov stored on RAM disk. Gaviota/nalimov does not get cached in RAM.

Multithread benchmark comparison on big machine

Hello,
This is not an "issue", only information, you can immediately close it after reading.
I compared with date of today 2016-Oct-10 Stockfish-Master, PedantFish, Asmfish and CFish.
Machine: 4way Opteron 6386SE. OS: Windows 2012 R2 Server.
Fish and Stockfish compiled with GCC6.2 under mingw64.
3 runs of "bench 1024 64 24", then averaged. before benchmarks were started for AsmFish/PedantFish, LargePages were turned on with the UCI-command.
Result:

  1. Stockfish-Master: 26.63MN/s
  2. AsmFish: 52.06MN/s
  3. PedantFish: 52.47MN/s
  4. CFish: 59.49MN/s
    The result speaks for itsself.
    Good job!

the current level of optimiation

Before I dive into your code, I would just like to know the extent to which you have optimized things. For example
have you used absolute indices in pieces lists?
have you used tail recursion to move SetCheckInfo to end of DoMove?
are domove, undomove, islegal, givescheck, ... fully optimized?

** Not an issue **

Sorry for posting here :)

Is there a way to pre-set the Syzygy options during compilation ?

Like path, probe depth and probe limit ?

Thanks...

Simplify KBPKB endgame with opposite bishops

Hello!
You forgot something:
official-stockfish/Stockfish@d9cac9a#diff-e88e03386a215910d76a232ae9603922L803

"-" // Endgame with opposite-colored bishops and no other pieces (ignoring pawns)
" -" // is almost a draw, in case of KBP vs KB, it is even more a draw.
"+ " // Endgame with opposite-colored bishops and no other pieces is almost a draw
if ( pos.non_pawn_material(WHITE) == BishopValueMg
&& pos.non_pawn_material(BLACK) == BishopValueMg)
"-" sf = more_than_one(pos.pieces(PAWN)) ? 31 : 9;
"+" sf = 31;

Question about parameter NUMA

Sorry to open another issue, it is only a question:
What are the possible values for the uci parameter NUMA? Is it only to turn off and on NUMA?

Revert to old time management

Hello!
Looks like you forgot to add
line 1500: - if ( (Limits.use_time_management() && elapsed > Time.maximum())
line 1500: + if ( (Limits.use_time_management() && elapsed > Time.maximum() - 10)"
from search.cpp
Or it's not needed?

x64 (no popcnt) support

I can not build base x64 exe:
bitboard.c: In function 'bitboards_init':
bitboard.c:175:29: warning: implicit declaration of function 'popcount16'; did you mean 'popcount'? [-Wimplicit-function-declaration]
PopCnt16[i] = (uint8_t) popcount16(i);
^~~~~~~~~~
popcount

=========================

Config:
debug: 'no'
optimize: 'yes'
arch: 'x86_64'
bits: '64'
prefetch: 'yes'
popcnt: 'no'
sse: 'yes'
pext: 'no'

Flags:
CC: gcc
CFLAGS: -Wall -std=c11 -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA
LDFLAGS: -lm

Testing config sanity. If this fails, try 'make help' ...

Step 1/4. Building instrumented executable ...
make ARCH=x86-64 COMP=mingw gcc-profile-make
make[1]: Entering directory /g/MinGW/CFish/Test_22/Cfish-master_x64_test/Cfish-master/src' make ARCH=x86-64 COMP=mingw \ EXTRACFLAGS='-fprofile-generate' \ EXTRALDFLAGS='-lgcov' \ all make[2]: Entering directory /g/MinGW/CFish/Test_22/Cfish-master_x64_test/Cfish-master/src'
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o benchmark.o benchmark.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o bitbase.o bitbase.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o bitboard.o bitboard.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o endgame.o endgame.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o evaluate.o evaluate.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o main.o main.c
bitboard.c: In function 'bitboards_init':
bitboard.c:175:29: warning: implicit declaration of function 'popcount16'; did you mean 'popcount'? [-Wimplicit-function-declaration]
PopCnt16[i] = (uint8_t) popcount16(i);
^~~~~~~~~~
popcount
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o material.o material.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o misc.o misc.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o movegen.o movegen.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o movepick.o movepick.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o pawns.o pawns.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o position.o position.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o psqt.o psqt.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o search.o search.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o tbprobe.o tbprobe.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o thread.o thread.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o timeman.o timeman.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o tt.o tt.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o uci.o uci.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o ucioption.o ucioption.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o numa.o numa.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o settings.o settings.c
gcc -Wall -std=c11 -fprofile-generate -D__USE_MINGW_ANSI_STDIO=1 -Wextra -Wshadow -DNDEBUG -O3 -DIS_64BIT -msse -march=native -DNUMA -c -o polybook.o polybook.c
gcc -o cfish benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o material.o misc.o movegen.o movepick.o pawns.o position.o psqt.o search.o tbprobe.o thread.o timeman.o tt.o uci.o ucioption.o numa.o settings.o polybook.o -lgcov -lm
bitboard.o:bitboard.c:(.text+0x2ca): undefined reference to popcount16' collect2.exe: error: ld returned 1 exit status make[2]: *** [cfish] Error 1 make[2]: Leaving directory /g/MinGW/CFish/Test_22/Cfish-master_x64_test/Cfish-master/src'
make[1]: *** [gcc-profile-make] Error 2
make[1]: Leaving directory `/g/MinGW/CFish/Test_22/Cfish-master_x64_test/Cfish-master/src'
make: *** [profile-build] Error 2
strip: 'CFish.exe': No such file

Please continue ;-)

CFish works much better than asmfish on my 8 node machine, I hope you find the time to keep updating CFish.

Fix contempt during analysis

Hi!
Looks like "Analysis Contempt" & "UCI_Analysis" does not work.
1-st PV: options unchecked, 2-nd PV: options checked. Contempt 20.
3-rd PV: options unchecked, contempt = 0.

1-st
[+1.87] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b5 13.h7 Nxh7 14.Nxh7 Rd8 15.Ng5 a5 16.Ne4 Kc6 17.Rg5 b4 18.Rxa5 b3 19.Rc5 Kb6 20.Rc3(0:00:21) 38426kN
[+1.81] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7(0:00:21) 37192kN
[+2.00] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7 Nxh7(0:00:20) 36466kN
[+1.92] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7 Nxh7 18.Nxh7(0:00:19) 33587kN
[+2.00] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7 Nxh7 18.Nxh7 Rg8(0:00:18) 32960kN
[+2.07] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7 Nxh7 18.Nxh7 Rg8 19.Kf4(0:00:17) 30659kN
[+2.21] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7(0:00:16) 29680kN
[+1.92] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7(0:00:15) 27852kN
[+1.70] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7(0:00:15) 26380kN
[+1.55] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7 20.h6(0:00:14) 25621kN
[+1.43] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7 20.h6 Ka6(0:00:14) 25111kN
[+1.36] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7 20.h6 Ka6 21.Rh4(0:00:13) 23822kN
[+1.43] d=25 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7 20.h6 Ka6 21.Rh4 Kb6(0:00:10) 18246kN
[+1.60] d=25 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.h5 Rh8 13.h6 Nb5 14.Rh4 Nxd6 15.h7 a5 16.Rg3 Rd2 17.Kh3 Kb6 18.Rh5(0:00:10) 17781kN
[+1.48] d=25 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.h5 Rh8 13.h6 Nb5 14.Rh4 Nxd6 15.h7 a5 16.Rg3 Rd2 17.Kh3 Kb6 18.Rh5 Kc6(0:00:10) 17498kN
[+1.41] d=25 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.h5 Rh8 13.h6 Nb5 14.Rh4 Nxd6 15.h7 a5 16.Rg3 Rd2 17.Kh3 Kb6 18.Rh5 Kc6 19.Rc3(0:00:09) 16964kN
[+1.48] d=24 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.h5 Rh8 13.h6 Nb5 14.Rh4 Nxd6 15.h7 a5 16.Rg3 Rd2 17.Kh3 Kb6 18.Rh5 Kc6 19.Rc3 Kd7(0:00:07) 13675kN
[+1.61] d=24 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Nb5 9.Kg2 Nxd6 10.h5 Kc7 11.Nd4 Kb8 12.Ne6 Rc2 13.Kh3 Rc3 14.Kh4 Rh8(0:00:07) 12551kN
[+1.45] d=24 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Nb5 9.Kg2 Nxd6 10.h5 Kc7 11.Nd4 Kb8 12.Ne6 Rc2 13.Kh3 Rc3 14.Kh4 Rh8 15.h6(0:00:07) 11987kN
[+1.34] d=24 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Nb5 9.Kg2 Nxd6 10.h5 Kc7 11.Nd4 Kb8 12.Ne6 Rc2 13.Kh3 Rc3 14.Kh4 Rh8 15.h6 Rxa3(0:00:06) 11701kN

2-nd

[+1.87] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b5 13.h7 Nxh7 14.Nxh7 Rd8 15.Ng5 a5 16.Ne4 Kc6 17.Rg5 b4 18.Rxa5 b3 19.Rc5 Kb6 20.Rc3(0:00:21) 38426kN
[+1.81] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7(0:00:21) 37192kN
[+2.00] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7 Nxh7(0:00:20) 36466kN
[+1.92] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7 Nxh7 18.Nxh7(0:00:19) 33587kN
[+2.00] d=27 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7 Nxh7 18.Nxh7 Rg8(0:00:18) 32960kN
[+2.07] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Nf7 Re8 8.Ng5 Rd5 9.Rxd5 Nxd5 10.h5 Rf8 11.h6 Nf6 12.Kh2 b6 13.Kh3 a5 14.Kg3 Kxd6 15.h7 Ke7 16.Rg7 Ke8 17.Rb7 Nxh7 18.Nxh7 Rg8 19.Kf4(0:00:17) 30659kN
[+2.21] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7(0:00:16) 29680kN
[+1.92] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7(0:00:15) 27852kN
[+1.70] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7(0:00:15) 26380kN
[+1.55] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7 20.h6(0:00:14) 25621kN
[+1.43] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7 20.h6 Ka6(0:00:14) 25111kN
[+1.36] d=26 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7 20.h6 Ka6 21.Rh4(0:00:13) 23822kN
[+1.43] d=25 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.Ne6 Re8 13.Rg7 Rd2 14.Kf3 Nb5 15.Nc7 Rh8 16.Nxb5 axb5 17.d7 Rd8 18.h5 R2xd7 19.Rxd7 Rxd7 20.h6 Ka6 21.Rh4 Kb6(0:00:10) 18246kN
[+1.60] d=25 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.h5 Rh8 13.h6 Nb5 14.Rh4 Nxd6 15.h7 a5 16.Rg3 Rd2 17.Kh3 Kb6 18.Rh5(0:00:10) 17781kN
[+1.48] d=25 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.h5 Rh8 13.h6 Nb5 14.Rh4 Nxd6 15.h7 a5 16.Rg3 Rd2 17.Kh3 Kb6 18.Rh5 Kc6(0:00:10) 17498kN
[+1.41] d=25 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.h5 Rh8 13.h6 Nb5 14.Rh4 Nxd6 15.h7 a5 16.Rg3 Rd2 17.Kh3 Kb6 18.Rh5 Kc6 19.Rc3(0:00:09) 16964kN
[+1.48] d=24 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Kb6 9.Kg2 Rf8 10.Rb4 Ka7 11.Ng7 Rd5 12.h5 Rh8 13.h6 Nb5 14.Rh4 Nxd6 15.h7 a5 16.Rg3 Rd2 17.Kh3 Kb6 18.Rh5 Kc6 19.Rc3 Kd7(0:00:07) 13675kN
[+1.61] d=24 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Nb5 9.Kg2 Nxd6 10.h5 Kc7 11.Nd4 Kb8 12.Ne6 Rc2 13.Kh3 Rc3 14.Kh4 Rh8(0:00:07) 12551kN
[+1.45] d=24 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Nb5 9.Kg2 Nxd6 10.h5 Kc7 11.Nd4 Kb8 12.Ne6 Rc2 13.Kh3 Rc3 14.Kh4 Rh8 15.h6(0:00:06) 11987kN
[+1.34] d=24 1.Bxg6 fxg6 2.Rxg6 Ke8 3.Bd4 Rxc5 4.Re1 Bxd4 5.Rxe4 Kd7 6.Rxd4 Nc3 7.Rf4 Kc6 8.Nf5 Nb5 9.Kg2 Nxd6 10.h5 Kc7 11.Nd4 Kb8 12.Ne6 Rc2 13.Kh3 Rc3 14.Kh4 Rh8 15.h6 Rxa3(0:00:06) 11701kN

3-rd

[+1.36] d=27 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Nxd6 6.Rd2 Nf7 7.Rxd8 Nxd8 8.Kg2 Ne4 9.Rd1 Ne6 10.Rd7 Nxf6 11.Rxb7 Nc5 12.Rg7 Nfd7 13.Rxg5 Ne6 14.Rg3 Kf7 15.Nh6 Ke7 16.Re3 Kd6 17.Kf3 Nd4 18.Ke4(0:00:22) 39911kN
[+1.45] d=27 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Rd7 6.Kg1 Nxd6 7.Rxg5 Nce4 8.Rh5 Nf7 9.Rh4 Nxf6 10.Ne3 Kg7 11.Rhf4 Nh5 12.Nf5 Kg6 13.Rg4 Kh7 14.Rg2 Nh6 15.Rff2 Rd5 16.Ne7 Rd3(0:00:21) 36890kN
[+1.34] d=27 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Rd7 6.Kg1 Nxd6 7.Rxg5 Nce4 8.Rh5 Nf7 9.Rh4 Nxf6 10.Ne3 Kg7 11.Rhf4 Nh5 12.Nf5 Kg6 13.Rg4 Kh7 14.Rg2 Nh6 15.Rff2 Rd5 16.Ne7 Rd3 17.Rh2(0:00:19) 34668kN
[+1.26] d=27 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Rd7 6.Kg1 Nxd6 7.Rxg5 Nce4 8.Rh5 Nf7 9.Rh4 Nxf6 10.Ne3 Kg7 11.Rhf4 Nh5 12.Nf5 Kg6 13.Rg4 Kh7 14.Rg2 Nh6 15.Rff2 Rd5 16.Ne7 Rd3 17.Rh2 Rg3(0:00:19) 33693kN
[+1.19] d=26 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Rd7 6.Kg1 Nxd6 7.Rxg5 Nce4 8.Rh5 Nf7 9.Rh4 Nxf6 10.Ne3 Kg7 11.Rhf4 Nh5 12.Nf5 Kg6 13.Rg4 Kh7 14.Rg2 Nh6 15.Rff2 Rd5 16.Ne7 Rd3 17.Rh2 Rg3 18.Kf1(0:00:17) 29813kN
[+1.25] d=26 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Kg6 7.f7 Kxf7 8.Rxe4 Nxe4 9.Ng3 Nf6 10.Ne4 Ke6 11.Nxg5 Kd7 12.Rxf6 Rh8 13.Kg1 Rg8 14.Rf5 Kxd6 15.Kf2 Re8 16.Rf7 Kc6 17.Kf3(0:00:16) 28043kN
[+1.40] d=26 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Kg6 7.f7 Kxf7 8.Rxe4 Nxe4 9.Ng3 Nf6 10.Ne4 Ke6 11.Nxg5 Kd7 12.Rxf6 Rh8 13.Kg1 Rg8 14.Rf5 Kxd6 15.Kf2 Re8 16.Rf7 Kc6 17.Kf3 Kb6(0:00:14) 25687kN
[+1.32] d=26 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Kg6 7.f7 Kxf7 8.Rxe4 Nxe4 9.Ng3 Nf6 10.Ne4 Ke6 11.Nxg5 Kd7 12.Rxf6 Rh8 13.Kg1 Rg8 14.Rf5 Kxd6 15.Kf2 Re8 16.Rf7 Kc6 17.Kf3 Kb6 18.Kf4(0:00:14) 24991kN
[+1.40] d=25 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Kg6 7.f7 Kxf7 8.Rxe4 Nxe4 9.Ng3 Nf6 10.Ne4 Ke6 11.Nxg5 Kd7 12.Rxf6 Rh8 13.Kg1 Rg8 14.Rf5 Kxd6 15.Kf2 Re8 16.Rf7 Kc6 17.Kf3 Kb6 18.Kf4 Re1(0:00:12) 20798kN
[+1.36] d=25 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 b6 7.Kg2 Rd7 8.Kh3 Nxf6 9.Rb2 b5 10.Re2 Nce4 11.Rxe4 Nxe4 12.Ng3 Nf6 13.Ne4 Ke6(0:00:11) 20288kN
[+1.19] d=25 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 b6 7.Kg2 Rd7 8.Kh3 Nxf6 9.Rb2 b5 10.Re2 Nce4 11.Rxe4 Nxe4 12.Ng3 Nf6 13.Ne4 Ke6 14.Nxf6(0:00:11) 19297kN
[+1.42] d=25 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 b6 7.Kg2 Rd7 8.Kh3 Nxf6 9.Rb2 b5 10.Re2 Nce4 11.Rxe4 Nxe4 12.Ng3 Nf6 13.Ne4 Ke6 14.Nxf6 Rxd6(0:00:09) 16828kN
[+1.34] d=25 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 b6 7.Kg2 Rd7 8.Kh3 Nxf6 9.Rb2 b5 10.Re2 Nce4 11.Rxe4 Nxe4 12.Ng3 Nf6 13.Ne4 Ke6 14.Nxf6 Rxd6 15.Kg4(0:00:09) 16249kN
[+1.27] d=24 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 b6 7.Kg2 Rd7 8.Kh3 Nxf6 9.Rb2 b5 10.Re2 Nce4 11.Rxe4 Nxe4 12.Ng3 Nf6 13.Ne4 Ke6 14.Nxf6 Rxd6 15.Kg4 Rd3(0:00:08) 14399kN
[+1.37] d=24 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Nxd6 7.Nxd6 Rxd6 8.Re7 Kf8 9.f7 Re6 10.Rc7 Rc6 11.Rxc6 bxc6 12.Rf6 Nd3 13.Rxc6 Kxf7 14.Rxa6 Nf4 15.Kg1 Nd3 16.Kg2 Ne5(0:00:07) 12536kN
[+1.29] d=24 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Nxd6 7.Nxd6 Rxd6 8.Re7 Kf8 9.f7 Re6 10.Rc7 Rc6 11.Rxc6 bxc6 12.Rf6 Nd3 13.Rxc6 Kxf7 14.Rxa6 Nf4 15.Kg1 Nd3 16.Kg2 Ne5 17.Kf2(0:00:07) 12157kN
[+1.37] d=23 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Nxd6 7.Nxd6 Rxd6 8.Re7 Kf8 9.f7 Re6 10.Rc7 Rc6 11.Rxc6 bxc6 12.Rf6 Nd3 13.Rxc6 Kxf7 14.Rxa6 Nf4 15.Kg1 Nd3 16.Kg2 Ne5 17.Kf2 Nc4(0:00:06) 11101kN
[+1.34] d=23 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Nxd6 7.Nxd6 Rxd6 8.Re7 Kf8 9.Rh7 Ne4 10.Rc1 Rc6 11.Rxc6 bxc6 12.Ra7 a5 13.Kg2 g4 14.Rxa5 c5 15.Ra6 Kf7(0:00:06) 10757kN
[+1.27] d=23 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Nxd6 7.Nxd6 Rxd6 8.Re7 Kf8 9.Rh7 Ne4 10.Rc1 Rc6 11.Rxc6 bxc6 12.Ra7 a5 13.Kg2 g4 14.Rxa5 c5 15.Ra6 Kf7 16.Rc6(0:00:06) 10340kN
[+1.34] d=23 1.Bg5 Naxc5 2.Bxg6 Rxg5 3.hxg5 fxg6 4.gxf6 g5 5.Nf5 Kf7 6.Re2 Nxd6 7.Nxd6 Rxd6 8.Re7 Kf8 9.Rh7 Ne4 10.Rc1 Rc6 11.Rxc6 bxc6 12.Ra7 a5 13.Kg2 g4 14.Rxa5 c5 15.Ra6 Kf7 16.Rc6 Nxf6(0:00:05) 9524kN

Fix Cfish for android

Hello, Mr. De Man.I do cfish compilations on Android and have to write code all the time.
You could add the following changes to the following file misc.h and misc.c:

misc.h

#define IO_UNLOCK pthread_mutex_unlock(&io_mutex)
#else

extern HANDLE io_mutex;
#define IO_LOCK WaitForSingleObject(io_mutex, INFINITE)
#define IO_UNLOCK ReleaseMutex(io_mutex)
int large_pages_supported(void);
extern size_t large_page_minimum;
#endif
#if defined __WIN32__||defined __ANDROID__
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
#endif

misc.c

#if defined __WIN32__||defined __ANDROID__
ssize_t getline(char **lineptr, size_t *n, FILE *stream)
{
  if (*n == 0)
    *lineptr = malloc(*n = 100);

Also in the bitbase file.c
when compiling the engine on Android using the compiler 4.9 + there is the following error: conflicting types with variable [index] .I fixed it this way [_index] (added an underscore).
There, this variable is used seven times.
Can this be fixed?
Thanks.

Cfish on Windows

From October compilations of Cfish doesn't work on Windows ("Couldn't load engine"), what can be the reason? Thank you

Large Pages are not that large

Cfish 404b260 bench

This is what I (Intel i7 4790K, Windows 10 Pro 64 bit) got

Base = No LP

Test = Large Pages

Results for 20 tests for each version:

        Base      Test      Diff      
Mean    2833006   2826956   6050      
StDev   20152     23290     33079     

p-value: 0.427
speedup: -0.002

Strange response to uci stop command

20 threads, 32 GB hash, 6-man tables:

info depth 66 seldepth 94 multipv 1 score cp -836 nodes 4603616284472 nps 53102871 hashfull 999 tbhits 31002107665 time 86692417 pv a7a8 a3a2 a8a5 e6e7 a5a8 e7d6 g2f3 g6g5 f3e2 d6e6 a8e8 e6d7 e8a8 g5h4 g3h4 f6f5 e2f3 d7c6 a8c8 c6b6 c8b8 b6c7 b8a8 c7b7 a8a3 b7c6 d2c4 c5d3 c4e3 d3c1 a3a8 a1b1 e3c2 b1b2 c2e3 b2b8 a8a5 b8b1 e3c2 b1b2 c2a1 c6b6 a5a8 b2b1 a1c2 b6c5 a8c8 c5d5 c8a8 b1b2 c2e3 d5c6 a8a3 c6c5 a3a5 b2b5 a5a8 b5b1 e3c2 b1b2 c2e1 c5c4 f3f4 b2b1 a8c8 c4b3 c8b8 b3c3 b8c8 c3b2 c8c2 b2b3 c2a2 c1a2 e1f3 b3b4 f4f5 b1d1 f5f4 b4c5 f4e3 a2b4 e3e2 d1b1 f3g5 b1b2 e2e1 b4d3 e1d1 d3f2 d1e1
info depth 67 currmove a7a8 currmovenumber 1
stop
info depth 67 seldepth 94 multipv 1 score cp -836 nodes 4939319895868 nps 53190320 hashfull 999 tbhits 33894567834 time 92861255 pv a7a8 a3a2 a8a5 e6e7 a5a8 e7d6 g2f3 g6g5 f3e2 d6e6 a8e8 e6d7 e8a8 g5h4 g3h4 f6f5 e2f3 d7c6 a8c8 c6b6 c8b8 b6c7 b8a8 c7b7 a8a3 b7c6 d2c4 c5d3 c4e3 d3c1 a3a8 a1b1 e3c2 b1b2 c2e3 b2b8 a8a5 b8b1 e3c2 b1b2 c2a1 c6b6 a5a8 b2b1 a1c2 b6c5 a8c8 c5d5 c8a8 b1b2 c2e3 d5c6 a8a3 c6c5 a3a5 b2b5 a5a8 b5b1 e3c2 b1b2 c2e1 c5c4 f3f4 b2b1 a8c8 c4b3 c8b8 b3c3 b8c8 c3b2 c8c2 b2b3 c2a2 c1a2 e1f3 b3b4 f4f5 b1d1 f5f4 b4c5 f4e3 a2b4 e3e2 d1b1 f3g5 b1b2 e2e1 b4d3 e1d1 d3f2 d1e1
info depth 69 seldepth 129 multipv 1 score cp -265 nodes 4939319895868 nps 53190319 hashfull 999 tbhits 33894567834 time 92861256 pv d2c4 a3a2 c4e3 c5d3 a7a6 e6d7 e3d5 d3e1 g2f1 f6f5 f1e2 e1d3 e2d3 a1d1 d3e3 a2a1q a6a1 d1a1 d5f4 a1a6 e3d2 d7e7 d2e2 a6a2 e2f3 a2a3 f3g2 a3a6 f4d5 e7f8 g2f3 a6a5 d5f4 a5a3 f3e2 f8f7 f4h3 f7f6 e2f1 a3a4 f1e2 a4e4 e2f3 e4b4 f3g2 f6e5 g2f3 b4c4 h3f4 c4c3 f3g2 c3c6 g2f3 c6d6 f3e3 d6b6 e3f3 b6a6 f3g2 e5e4 f4e2 a6f6 e2c3 e4d3 c3d5 f6d6 d5f4 d3e4 f4e2 d6a6 e2f4 a6b6 f4e2 b6d6 e2f4 d6f6 f4e2 e4e5 e2f4 f6d6 g2f3 d6c6 f3g2 e5d4
bestmove d2c4 ponder a3a2

"Update TB probing code."

Hello! After patch "Update TB probing code." CFish began to play worse.

Score of CFish_x64_150917_Make_ss_ply_720mingw vs CFish_x64_150917_V2_Update_TB_probing_code_720mingw: 161 - 115 - 454 [0.532]
Elo difference: 21.92 +/- 15.47

730 of 2000 games finished.


Do not pay attention to the date in the title - I just forgot to change it in the bat file...

TB hit reporting

Hi Ronald,
I'm using CFish with Arena and made a deep Analysis of one of the Google-Stockfish games. You may know that Arena "writes" a new line every ply. After 33 minutes I got depth 56, ~33 Billion nodes, 600+ Million TB hits....the next line was 1h11m, depth 57, ~ 128 Billion nodes and 1 TB hit. So I guess there was an error reporting more than 1 Billion TB hits....and I don't know if it is CFish or Arena that has this "bug". Can you check if your Cfish is able to report > 1 Billion TB hits correctly?

Saugi

PS: Any release date for (at least) 5-men DTM files?

Can probe depth 0 do probing in qsearch

With nvme drives like 960 pro and 900p optane being orders of magnitude faster than previous SSDs, and even 64/128GB of ram to cache most of the 6 pieces not being that expensive I would like the option to test strength of doing TB proving in qsearch since I think now it could give a strength gain when it couldn't before, and see how much NPS slowdown different storage mediums have.
I imagine the last time this was tested was at best with SATA3 SSD? Thanks!

Wtime Btime

May I make a question?

what code I must add to engine source codes or what line I can modify to make engine play in a specific time and not depending on the GUI like Fritz to set the clock?
I mean is: engine plays for example 1 minute game in every game and not need to set time in the GUI or even engine not follow time in the GUI. Or it is not possible?!?!? Like using a no-GUI option

Gracias!

Nodes/second output in command prompt

Hi!
I noticed that comparing speed of Cfish & Stockfish via "bench' command in Windows command promt shows only 4-5% speedup of Cfish, but in Build Tester and GUI (like Aquarium or Fritz) it shows about 10-15%. I compared your cfish_9_x64_modern_windows and official SF's popcnt versions.

Update

Hello. When will Cfish be updated?
Thanks.

NUMA is broken

I think numa is broken. I should be getting double the speed (kN/s). It's only half now. It's likely because I noticed that Task Manager is reporting the engine's cpu usage as only 50% instead of 100%. If I disable HT it then runs 100%. The same thing happens when I use the latest SF dev which I think it's because it's not numa aware.

Works fine in asmFish (100% cpu and speed is doubled).

Using dual e5-2696v3 (36 cores) with HT on (72 cores).

Long delay for hash initialization?

Dual 10-core Linux system with 64 GB RAM. There is a 35-second delay between the messages about binding threads and the info depth 1 message. The length of the delay increases with the size of the hash table, so I assume the delay is related to hash initialization.

I don't recall this happening in the past. Is this an artifact of the switch to arbitrary hash sizes? I note a similar (but smaller) delay with Stockfish 9 as well.

Thanks for offering Cfish!

Cfish 090218 64 POPCNT NUMA by Syzygy based on Stockfish
info string NUMA enabled.
setoption name Threads value 20
setoption name Hash value 32768
go infinite
info string Binding thread 0 to node 0.
info string Binding thread 1 to node 0.
info string Binding thread 2 to node 0.
info string Binding thread 3 to node 0.
info string Binding thread 4 to node 0.
info string Binding thread 5 to node 0.
info string Binding thread 6 to node 0.
info string Binding thread 7 to node 0.
info string Binding thread 8 to node 0.
info string Binding thread 9 to node 0.
info string Binding thread 10 to node 1.
info string Binding thread 11 to node 1.
info string Binding thread 12 to node 1.
info string Binding thread 13 to node 1.
info string Binding thread 14 to node 1.
info string Binding thread 15 to node 1.
info string Binding thread 16 to node 1.
info string Binding thread 17 to node 1.
info string Binding thread 18 to node 1.
info string Binding thread 19 to node 1.

**About 35 seconds pass between the above message and the one below.**

info depth 1 seldepth 1 multipv 1 score cp 102 nodes 1192 nps 397333 tbhits 0 time 3 pv e2e4
info depth 2 seldepth 2 multipv 1 score cp 38 nodes 4544 nps 1136000 tbhits 0 time 4 pv d2d4 d7d5

CFish with -march=native

For some reason CFish with Native=yes is worst than without, on my PC:

Phenom II x6 1090T @ 3.6 GHz
RR\1 core per engine\ 0.25 sec per move\ Cute Chess 0.9.4\ 16MB\ book:Hert500.pgn

 Program                           Elo    +    -   Games   Score   Av.Op.  Draws

1 CFish_x64_180817_popcnt __________ : 3207 __ 2 __ 2 __ 5000 __ 52.0 % __ 3193 __ 62.2 %
2 CFish_x64_180817_Native_popcnt __ : 3193 __ 2 __ 2 __ 5000 __ 48.0 % __ 3207 __ 62.2 %

Games: http://www24.zippyshare.com/v/zZgTIsqb/file.html

compiling with gcc 5.1 on linux 16 core

This is 2x8 system, I believe numa, so I don't know if that affects this? I had an error with GCC 4.8 missing a .h file which was GCCs fault, so I tried GCC 5.1 and got this error. I was able to compile fine on my windows box with 5.3 and 5.4, does it need a recent GCC just to compile?

gcc -Wall -std=c11 -fprofile-generate -pedantic -Wextra -Wshadow -m64 -DNDEBUG -O3 -DIS_64BIT -msse -msse3 -mpopcnt -DUSE_POPCNT -DNUMA -c -o benchmark.o benchmark.c
In file included from benchmark.c:32:0:
tt.h:101:23: error: expected declaration specifiers or ‘...’ before numeric constant
#define CacheLineSize 64
^
tt.h:111:15: note: in expansion of macro ‘CacheLineSize’
static_assert(CacheLineSize % sizeof(Cluster) == 0, "Cluster size incorrect");
^
tt.h:111:53: error: expected declaration specifiers or ‘...’ before string constant
static_assert(CacheLineSize % sizeof(Cluster) == 0, "Cluster size incorrect");
^
make[2]: *** [benchmark.o] Error 1

Bug

CFish crash upon "ucinewgame" command
cfish_bug

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.