Stockfish 2.0 Available

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

Moderator: Ras

Joerg Oster
Posts: 969
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany
Full name: Jörg Oster

Re: Stockfish 2.0 Available

Post by Joerg Oster »

mcostalba wrote:
Dirt wrote:
Joerg Oster wrote:Nodes searched : 9105712

Is there something wrong with my compile?
This is under Xubuntu 10.10.
What command did you use to compile it?

I used "make popcnt-profile-build ARCH=x86-64-modern" or "make profile-build ARCH=x86-64-modern".
It should be ok. After this you run

./stockfish bench

right ?

Could you please post the full compile output together with the command line you use to test it ?

Thanks
Hi Marco,

I did a new compile. Here is the compile output.

Code: Select all

bully@Quad6600:~/Engines/mein_Stockfish-20/src$ make profile-build ARCH=x86-64
make ARCH=x86-64 COMP=gcc config-sanity
make[1]: Betrete Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'

Config:
debug: 'no'
optimize: 'yes'
arch: 'x86_64'
os: 'any'
bits: '64'
bigendian: 'no'
prefetch: 'yes'
bsfq: 'yes'
popcnt: 'no'

Flags:
CXX: g++
CXXFLAGS: -g -Wall -Wcast-qual -fno-exceptions -fno-rtti  -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ
LDFLAGS: -lpthread 

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

make[1]: Verlasse Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'

Step 0/4. Preparing for profile build.
make ARCH=x86-64 COMP=gcc gcc-profile-prepare
make[1]: Betrete Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
make ARCH=x86-64 COMP=gcc gcc-profile-clean
make[2]: Betrete Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
make[2]: Verlasse Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
make[1]: Verlasse Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'

Step 1/4. Building executable for benchmark ...
make ARCH=x86-64 COMP=gcc gcc-profile-make
make[1]: Betrete Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
make ARCH=x86-64 COMP=gcc \
	EXTRACXXFLAGS='-fprofile-generate' \
	EXTRALDFLAGS='-lgcov' \
	all
make[2]: Betrete Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o bitboard.o bitboard.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o pawns.o pawns.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o material.o material.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o endgame.o endgame.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o evaluate.o evaluate.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o main.o main.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o misc.o misc.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o move.o move.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o movegen.o movegen.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o history.o history.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o movepick.o movepick.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o search.o search.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o position.o position.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o tt.o tt.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o uci.o uci.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o ucioption.o ucioption.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o book.o book.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o bitbase.o bitbase.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o san.o san.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o benchmark.o benchmark.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-generate -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o timeman.o timeman.cpp
g++ -o stockfish_jo_20 bitboard.o pawns.o material.o endgame.o evaluate.o main.o misc.o move.o movegen.o history.o movepick.o search.o position.o tt.o uci.o ucioption.o book.o bitbase.o san.o benchmark.o timeman.o -lpthread -lgcov
make[2]: Verlasse Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
make[1]: Verlasse Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'

Step 2/4. Running benchmark for pgo-build ...

Bench position: 1/16


Bench position: 2/16


Bench position: 3/16


Bench position: 4/16


Bench position: 5/16


Bench position: 6/16


Bench position: 7/16


Bench position: 8/16


Bench position: 9/16


Bench position: 10/16


Bench position: 11/16


Bench position: 12/16


Bench position: 13/16


Bench position: 14/16


Bench position: 15/16


Bench position: 16/16

===============================
Total time (ms) : 3456
Nodes searched  : 2565728
Nodes/second    : 742398


Step 3/4. Building final executable ...
make ARCH=x86-64 COMP=gcc gcc-profile-use
make[1]: Betrete Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
make ARCH=x86-64 COMP=gcc \
	EXTRACXXFLAGS='-fprofile-use' \
	all
make[2]: Betrete Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o bitboard.o bitboard.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o pawns.o pawns.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o material.o material.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o endgame.o endgame.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o evaluate.o evaluate.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o main.o main.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o misc.o misc.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o move.o move.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o movegen.o movegen.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o history.o history.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o movepick.o movepick.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o search.o search.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o position.o position.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o tt.o tt.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o uci.o uci.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o ucioption.o ucioption.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o book.o book.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o bitbase.o bitbase.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o san.o san.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o benchmark.o benchmark.cpp
g++ -g -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-use -ansi -pedantic -Wno-long-long -Wextra -DNDEBUG -O3 -DIS_64BIT -msse -DUSE_BSFQ   -c -o timeman.o timeman.cpp
g++ -o stockfish_jo_20 bitboard.o pawns.o material.o endgame.o evaluate.o main.o misc.o move.o movegen.o history.o movepick.o search.o position.o tt.o uci.o ucioption.o book.o bitbase.o san.o benchmark.o timeman.o -lpthread 
make[2]: Verlasse Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
make[1]: Verlasse Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'

Step 4/4. Deleting profile data ...
make ARCH=x86-64 COMP=gcc gcc-profile-clean
make[1]: Betrete Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
make[1]: Verlasse Verzeichnis '/home/bully/Engines/mein_Stockfish-20/src'
bully@Quad6600:~/Engines/mein_Stockfish-20/src$ 
Still the same nodes:
Total time (ms) : 9665
Nodes searched : 9105712
Nodes/second : 942132

Hope this helps. :)
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish 2.0 Available

Post by mcostalba »

Thanks Joerg,

could you please try with (in the exact sequence you see below):

Code: Select all

make clean
make ARCH=x86-32
./stockfish bench
Thanks
Marco
Joerg Oster
Posts: 969
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany
Full name: Jörg Oster

Re: Stockfish 2.0 Available

Post by Joerg Oster »

mcostalba wrote:Thanks Joerg,

could you please try with (in the exact sequence you see below):

Code: Select all

make clean
make ARCH=x86-32
./stockfish bench
Thanks
Marco
Of course.

Unfortunately, still the same nodes searched.
Total time (ms) : 10536
Nodes searched : 9105712
Nodes/second : 864247

Ooops, just realizing that I changed some values in 'ucioption.cpp'.
With default values I get the exact same nodes.
Total time (ms) : 8290
Nodes searched : 7224363
Nodes/second : 871455

Sorry for wasting your time. :oops:
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish 2.0 Available

Post by mcostalba »

Joerg Oster wrote: Sorry for wasting your time. :oops:
No problem :-) better safe then sorry.
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 10:01 pm
Location: Irvine, CA, USA

Re: Stockfish 2.0 Available

Post by Dirt »

mcostalba wrote:
Joerg Oster wrote: ...better safe then sorry.
It's "better safe than sorry".
Oratios

Re: Stockfish 2.0 Available

Post by Oratios »

Thanks to Stockfish Team for the great engine :!:
Martin Thoresen
Posts: 1833
Joined: Thu Jun 22, 2006 12:07 am

Re: Stockfish 2.0 Available

Post by Martin Thoresen »

Here's the TCEC computer running a quick test (between game 52 and 53 in the current Division II).
Not sure how relevant the SMP tests are though since they are kind of "random". But still, the speed should be about the same even though the moves may not be.

DEPTH 27:

1CPU 64-bit | 4096 MB Hash
27/28 04:31 456 554 030 1 679 767 n/s
+0,16 1.Nf3 e6 2.c4 c5 3.e3 Nc6 4.d4 cxd4 5.exd4 Nf6 6.Nc3 d5 7.cxd5 exd5 8.Be2 Bd6 9.0-0 0-0 10.Bg5 Be6 11.Qb3 Na5 12.Qa4 Nc6 13.Nb5 Bf5 14.Nxd6 Qxd6

2CPU 64-bit | 4096 MB Hash | Sleeping Threads OFF
27/24- 02:42 536 068 143 nodes, 3 307 898 n/s
+0,08 1.e4 e6 2.Nf3 d5 3.Nc3 Nf6 4.exd5 exd5 5.d4 Bd6 6.Bd3 0-0 7.0-0 c6 8.a3 Re8 9.Re1 Bg4 10.Rxe8+ Qxe8 11.Bg5 Nbd7 12.h3 Bh5

2CPU 64-bit | 4096 MB Hash | Sleeping Threads ON
27/28- 01:52 371 485 201 3 310 152 n/s
+0,12 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bd3 Bd6 6.0-0 0-0 7.Nc3 Re8 8.Bg5 c6 9.Re1 Rxe1+ 10.Qxe1 Be6 11.Qe3 h6 12.Bxf6 Qxf6 13.Ne5 Nd7 14.Re1 Qh4

4CPU 64-bit | 4096 MB Hash | Sleeping Threads OFF
27/32 01:13 474 810 670 6 445 714 n/s
+0,32 1.d4 Nf6 2.Nf3 e6 3.c4 Bb4+ 4.Nc3 d5 5.e3 0-0 6.Bd3 c5 7.0-0 Nc6 8.a3 Bxc3 9.bxc3 b6 10.Re1 dxc4 11.Bxc4 Na5 12.Bd3 Bb7 13.Ne5 Nc6 14.f3 Nd5 15.Qc2 Nxe5 16.Bxh7+ Kh8

4CPU 64-bit | 4096 MB Hash | Sleeping Threads ON
27/32 01:37 627 661 913 6 427 274 n/s
+0,08 1.e4 e6 2.Nf3 d5 3.exd5 exd5 4.d4 Nf6 5.Bd3 Bd6 6.0-0 0-0 7.Na3 Nc6 8.Nb5 Re8 9.c3 a6 10.Nxd6 Qxd6 11.Be3 Ne4 12.Qb3 Rb8 13.Rfe1 Bf5 14.Ng5 Bg6 15.Be2 Bf5 16.Nxe4 Bxe4

6CPU 64-bit | 4096 MB Hash | Sleeping Threads OFF
27/29 00:54 503 136 285 9 265 179 n/s
+0,36 1.Nf3 Nf6 2.d4 e6 3.c4 Bb4+ 4.Nc3 0-0 5.e3 d6 6.Bd2 Nc6 7.Be2 e5 8.0-0 e4 9.Ne1 a5 10.Nc2 Bxc3 11.Bxc3 Bd7 12.Na3 Qb8 13.Nb5 Nb4 14.a3 Bxb5 15.axb4

6CPU 64-bit | 4096 MB Hash | Sleeping Threads ON
27/21+ 00:38 351 869 752 9 165 184 n/s
+0,28 1.Nf3 Nf6 2.d4 e6 3.c4 Bb4+ 4.Nc3 0-0 5.e3 d5 6.Bd3 c5 7.0-0 Nc6 8.a3 Bxc3 9.bxc3 Ne4 10.Qc2 cxd4 11.cxd4
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish 2.0 Available

Post by mcostalba »

Martin Thoresen wrote: 6CPU 64-bit | 4096 MB Hash | Sleeping Threads OFF
27/29 00:54 503 136 285 9 265 179 n/s
+0,36 1.Nf3 Nf6 2.d4 e6 3.c4 Bb4+ 4.Nc3 0-0 5.e3 d6 6.Bd2 Nc6 7.Be2 e5 8.0-0 e4 9.Ne1 a5 10.Nc2 Bxc3 11.Bxc3 Bd7 12.Na3 Qb8 13.Nb5 Nb4 14.a3 Bxb5 15.axb4

6CPU 64-bit | 4096 MB Hash | Sleeping Threads ON
27/21+ 00:38 351 869 752 9 165 184 n/s
+0,28 1.Nf3 Nf6 2.d4 e6 3.c4 Bb4+ 4.Nc3 0-0 5.e3 d5 6.Bd3 c5 7.0-0 Nc6 8.a3 Bxc3 9.bxc3 Ne4 10.Qc2 cxd4 11.cxd4
Thanks Martin ! This is very interesting it seems Sleeping Threads OFF is slightly better going up with CPU cores.

In case your machine supports Hyper Threading could you please test with:

Code: Select all

12 CPU 64-bit | 4096 MB Hash | Sleeping Threads ON
CatPower
Posts: 19
Joined: Tue Dec 21, 2010 7:49 pm

Re: Stockfish 2.0 Available

Post by CatPower »

I find that SF 2.0 has approx. 20% lower kN/s than version 1.9.

Depth is the same as version 1.9 and 700 lines of code less?

How can this be?

See: http://rybkaforum.net/cgi-bin/rybkaforu ... ?tid=20109

I tested on i7 920 4 threads, sleeping threads off (ht is off on my machine).
Sarciness
Posts: 43
Joined: Tue Nov 23, 2010 4:22 pm

Re: Stockfish 2.0 Available

Post by Sarciness »

Hi Marco,

I did a test to depth 25 on my i3 laptop (which supports hyperthreading).

It took 342 seconds to depth 25 with sleeping threads on and only 194 seconds with sleeping threads off. I will repeat to reduce errors.