Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

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

Moderator: Ras

mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by mcostalba »

zullil wrote:
Hi Jeorg, Marco, Tord, ...

Before starting the big mSD6--mSD7 (8 threads) match, I decided to spend some time benchmarking some 4 thread configurations. The data below seems to suggest that mSD=6 or 7 and MNTpSP=4 is good. Not sure how to reconcile this with Jeorg's results.
I see mSD5 and MNTpSP=4 is very good also, indeed the second run of mSD=7 is not so good and mSD5 always takes less time to finish the search.

...yes....I bet my 5 cents on mSD5 and MNTpSP=4 :-)
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by zullil »

mcostalba wrote:
zullil wrote:Stockfish-1.6.2-mSD7 (8 threads) defeated Stockfish-1.6.2-mSD4 (8 threads) by a score of 291 to 120, with 589 draws.
Thanks Louis !

this for me is _the_ news of this sunday :D


Waiting for mSD7 vs mSD6.....
You'll need to wait a bit longer than expected. Maybe mSD7 needed a cigarette break. :shock:

Code: Select all

Started game 377 of 1000 
Game 377 ended: 1-0 {Black disconnects}
Stockfish 1.6.2-mSD6 64bit wins the game as white
Score of Stockfish 1.6.2-mSD6 64bit vs Stockfish 1.6.2-mSD7 64bit: 62 - 81 - 234
Finished match 
I have no idea what happened.

I will start a 624 game match and add 61 - 81 - 234 to the results.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by zullil »

zullil wrote:
Maybe mSD7 needed a cigarette break. :shock:

Code: Select all

Started game 377 of 1000 
Game 377 ended: 1-0 {Black disconnects}
Stockfish 1.6.2-mSD6 64bit wins the game as white
Score of Stockfish 1.6.2-mSD6 64bit vs Stockfish 1.6.2-mSD7 64bit: 62 - 81 - 234
Finished match 
I have no idea what happened.
Here's the crash report. Looks like Thread 4 needed a smoke.

Code: Select all

LZsMacPro: /Library/Logs/CrashReporter] more stockfish-1.6.2-mSD7_2010-01-04-001724_LZsMacPro.crash 
Process:         stockfish-1.6.2-mSD7 [99245]
Path:            /Users/louis/Desktop/StockfishTests/stockfish-162-ja/src/stockf
ish-1.6.2-mSD7
Identifier:      stockfish-1.6.2-mSD7
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  cutechess-cli [99240]

Date/Time:       2010-01-04 00:17:24.333 -0500
OS Version:      Mac OS X 10.5.8 (9L30)
Report Version:  6
Anonymous UUID:  49C45F4F-7F87-48E0-A090-172D8B6B827D

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000140261b20
Crashed Thread:  4

Thread 0:
0   stockfish-1.6.2-mSD7                0x000000010000b912 Position::do_move(Mov
e, StateInfo&, CheckInfo const&, bool) + 690
1   stockfish-1.6.2-mSD7                0x000000010000edec (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 3964
2   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
3   stockfish-1.6.2-mSD7                0x000000010000d0ab (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2587
4   stockfish-1.6.2-mSD7                0x000000010000d10e (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2686
5   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
6   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
7   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
8   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
9   stockfish-1.6.2-mSD7                0x0000000100010758 (anonymous namespace)
::sp_search_pv(SplitPoint*, int) + 1240
10  stockfish-1.6.2-mSD7                0x000000010001011c (anonymous namespace)
::split(Position const&, SearchStack*, int, Value*, Value*, Value*, Value, Value
, Depth, int*, MovePicker*, int, bool) + 1324
11  stockfish-1.6.2-mSD7                0x000000010000d47c (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 3564
12  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
13  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
14  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
15  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
16  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
17  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
18  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
19  stockfish-1.6.2-mSD7                0x0000000100009eae (anonymous namespace)
::root_search(Position&, SearchStack*, (anonymous namespace)::RootMoveList&, Val
ue, Value) + 1758
20  stockfish-1.6.2-mSD7                0x000000010000880c (anonymous namespace)
::id_loop(Position const&, Move*) + 1420
21  stockfish-1.6.2-mSD7                0x0000000100006335 think(Position const&
, bool, bool, int, int*, int*, int, int, int, int, Move*) + 3669
22  stockfish-1.6.2-mSD7                0x0000000100001b34 (anonymous namespace)
::go(std::basic_istringstream<char, std::char_traits<char>, std::allocator<char>
 >&) + 868
23  stockfish-1.6.2-mSD7                0x00000001000016bc (anonymous namespace)
::handle_command(std::basic_string<char, std::char_traits<char>, std::allocator<
char> > const&) + 1868
24  stockfish-1.6.2-mSD7                0x0000000100000b2a main + 330
25  stockfish-1.6.2-mSD7                0x00000001000009b4 start + 52

Thread 1:
0   stockfish-1.6.2-mSD7                0x0000000100017cd2 Position::attackers_t
o(Square) const + 162
1   ???                                 0x0000000100141360 (anonymous namespace)
::H + 0
2   ???                                 0x0000001000000010 0 + 68719476752

Thread 2:
0   stockfish-1.6.2-mSD7                0x0000000100028642 void (anonymous names
pace)::evaluate_pieces<(PieceType)4, (Color)1, true>(Position const&, EvalInfo&,
 unsigned long long) + 306
1   stockfish-1.6.2-mSD7                0x00000001000280d8 void (anonymous names
pace)::evaluate_pieces_of_color<(Color)1, true>(Position const&, EvalInfo&) + 40
8
2   stockfish-1.6.2-mSD7                0x0000000100026070 Value (anonymous name
space)::do_evaluate<true>(Position const&, EvalInfo&, int) + 560
3   stockfish-1.6.2-mSD7                0x00000001000154a0 (anonymous namespace)
::qsearch(Position&, SearchStack*, Value, Value, Depth, int, int) + 560
4   stockfish-1.6.2-mSD7                0x000000010000dedc (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 108
5   stockfish-1.6.2-mSD7                0x000000010000e379 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 1289
6   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
7   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
8   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
9   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
10  stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
11  stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
12  stockfish-1.6.2-mSD7                0x000000010001117c (anonymous namespace)
::sp_search(SplitPoint*, int) + 1852
13  stockfish-1.6.2-mSD7                0x000000010001e760 (anonymous namespace)
::init_thread(void*) + 128
14  libSystem.B.dylib                   0x00007fff83f9fe8b _pthread_start + 316
15  libSystem.B.dylib                   0x00007fff83f9fd4d thread_start + 13

Thread 3:
0   stockfish-1.6.2-mSD7                0x0000000100016c3e MovePicker::get_next_
move() + 1758
1   ???                                 0x0000000100141360 (anonymous namespace)
::H + 0
2   ???                                 0x0000001000000010 0 + 68719476752

Thread 4 Crashed:
0   stockfish-1.6.2-mSD7                0x0000000100015690 (anonymous namespace)
::qsearch(Position&, SearchStack*, Value, Value, Depth, int, int) + 1056
1   stockfish-1.6.2-mSD7                0x000000010000dedc (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 108
2   stockfish-1.6.2-mSD7                0x000000010000e379 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 1289
3   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
4   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
5   stockfish-1.6.2-mSD7                0x000000010001117c (anonymous namespace)
::sp_search(SplitPoint*, int) + 1852
6   stockfish-1.6.2-mSD7                0x000000010001e760 (anonymous namespace)
::init_thread(void*) + 128
7   libSystem.B.dylib                   0x00007fff83f9fe8b _pthread_start + 316
8   libSystem.B.dylib                   0x00007fff83f9fd4d thread_start + 13

Thread 5:
0   stockfish-1.6.2-mSD7                0x00000001000263db Value (anonymous name
space)::do_evaluate<true>(Position const&, EvalInfo&, int) + 1435
1   ???                                 0x0000000101f12390 0 + 4327547792

Thread 6:
0   stockfish-1.6.2-mSD7                0x00000001000114cf (anonymous namespace)
::scale_by_game_phase(Score const&, Phase, ScaleFactor const*) + 15
1   ???                                 0x0000000101f24210 0 + 4327621136

Thread 7:
0   stockfish-1.6.2-mSD7                0x0000000100028831 void (anonymous names
pace)::evaluate_king<(Color)0, true>(Position const&, EvalInfo&) + 49
1   stockfish-1.6.2-mSD7                0x000000010002607b Value (anonymous name
space)::do_evaluate<true>(Position const&, EvalInfo&, int) + 571
2   stockfish-1.6.2-mSD7                0x000000010000f128 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4792
3   stockfish-1.6.2-mSD7                0x000000010000d0ab (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2587
4   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
5   stockfish-1.6.2-mSD7                0x000000010000d10e (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2686
6   stockfish-1.6.2-mSD7                0x000000010000d10e (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2686
7   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
8   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
9   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
10  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
11  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
12  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
13  stockfish-1.6.2-mSD7                0x0000000100010758 (anonymous namespace)
::sp_search_pv(SplitPoint*, int) + 1240
14  stockfish-1.6.2-mSD7                0x000000010001e756 (anonymous namespace)
::init_thread(void*) + 118
15  libSystem.B.dylib                   0x00007fff83f9fe8b _pthread_start + 316
16  libSystem.B.dylib                   0x00007fff83f9fd4d thread_start + 13

Thread 4 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x000000000000000f  rcx: 0x0000000004032280  rdx
: 0x0000000100060b20
  rdi: 0x0000000000000040  rsi: 0x000080484040a000  rbp: 0x0000000000000a0f  rsp
: 0x0000000101b80ce0
   r8: 0x0000000000000418   r9: 0x0000000000000000  r10: 0x0000000008040200  r11
: 0x0000000000020400
  r12: 0x0000000000000a10  r13: 0x000000010047d3d8  r14: 0x0000000101b85fe0  r15
: 0x000000010005e620
  rip: 0x0000000100015690  rfl: 0x0000000000010206  cr2: 0x0000000140261b20

Binary Images:
       0x100000000 -        0x100051ff7 +stockfish-1.6.2-mSD7 ??? (???) <4b8b16d
2fea2e37dfdfe937c6164d8c4> /Users/louis/Desktop/StockfishTests/stockfish-162-ja/
src/stockfish-1.6.2-mSD7
       0x10172a000 -        0x10172affd  libmx.A.dylib ??? (???) /usr/lib/libmx.
A.dylib
    0x7fff5fc00000 -     0x7fff5fc2e643  dyld 97.1 (???) <1d1ba42c89e77cfe2558a3
c66129fff6> /usr/lib/dyld
    0x7fff81f8b000 -     0x7fff81f8ffff  libmathCommon.A.dylib ??? (???) /usr/li
b/system/libmathCommon.A.dylib
    0x7fff835fa000 -     0x7fff8366efe7  libstdc++.6.dylib ??? (???) <4c05223450
1252589cb46a124abc72d9> /usr/lib/libstdc++.6.dylib
    0x7fff83f3d000 -     0x7fff83f49ff1  libgcc_s.1.dylib ??? (???) <568895f7479
fefc4796748a618c6ec9f> /usr/lib/libgcc_s.1.dylib
    0x7fff83f71000 -     0x7fff840fcffb  libSystem.B.dylib ??? (???) <714d2608b5
acae3ad5364897c49868fa> /usr/lib/libSystem.B.dylib
    0x7fffffe00000 -     0x7fffffe01780  libSystem.B.dylib ??? (???) /usr/lib/li
bSystem.B.dylib

zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by zullil »

zullil wrote: Here's the crash report. Looks like Thread 4 needed a smoke.

Code: Select all

LZsMacPro: /Library/Logs/CrashReporter] more stockfish-1.6.2-mSD7_2010-01-04-001724_LZsMacPro.crash 
Process:         stockfish-1.6.2-mSD7 [99245]
Path:            /Users/louis/Desktop/StockfishTests/stockfish-162-ja/src/stockf
ish-1.6.2-mSD7
Identifier:      stockfish-1.6.2-mSD7
Version:         ??? (???)
Code Type:       X86-64 (Native)
Parent Process:  cutechess-cli [99240]

Date/Time:       2010-01-04 00:17:24.333 -0500
OS Version:      Mac OS X 10.5.8 (9L30)
Report Version:  6
Anonymous UUID:  49C45F4F-7F87-48E0-A090-172D8B6B827D

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000140261b20
Crashed Thread:  4

Thread 0:
0   stockfish-1.6.2-mSD7                0x000000010000b912 Position::do_move(Mov
e, StateInfo&, CheckInfo const&, bool) + 690
1   stockfish-1.6.2-mSD7                0x000000010000edec (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 3964
2   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
3   stockfish-1.6.2-mSD7                0x000000010000d0ab (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2587
4   stockfish-1.6.2-mSD7                0x000000010000d10e (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2686
5   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
6   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
7   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
8   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
9   stockfish-1.6.2-mSD7                0x0000000100010758 (anonymous namespace)
::sp_search_pv(SplitPoint*, int) + 1240
10  stockfish-1.6.2-mSD7                0x000000010001011c (anonymous namespace)
::split(Position const&, SearchStack*, int, Value*, Value*, Value*, Value, Value
, Depth, int*, MovePicker*, int, bool) + 1324
11  stockfish-1.6.2-mSD7                0x000000010000d47c (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 3564
12  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
13  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
14  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
15  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
16  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
17  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
18  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
19  stockfish-1.6.2-mSD7                0x0000000100009eae (anonymous namespace)
::root_search(Position&, SearchStack*, (anonymous namespace)::RootMoveList&, Val
ue, Value) + 1758
20  stockfish-1.6.2-mSD7                0x000000010000880c (anonymous namespace)
::id_loop(Position const&, Move*) + 1420
21  stockfish-1.6.2-mSD7                0x0000000100006335 think(Position const&
, bool, bool, int, int*, int*, int, int, int, int, Move*) + 3669
22  stockfish-1.6.2-mSD7                0x0000000100001b34 (anonymous namespace)
::go(std::basic_istringstream<char, std::char_traits<char>, std::allocator<char>
 >&) + 868
23  stockfish-1.6.2-mSD7                0x00000001000016bc (anonymous namespace)
::handle_command(std::basic_string<char, std::char_traits<char>, std::allocator<
char> > const&) + 1868
24  stockfish-1.6.2-mSD7                0x0000000100000b2a main + 330
25  stockfish-1.6.2-mSD7                0x00000001000009b4 start + 52

Thread 1:
0   stockfish-1.6.2-mSD7                0x0000000100017cd2 Position::attackers_t
o(Square) const + 162
1   ???                                 0x0000000100141360 (anonymous namespace)
::H + 0
2   ???                                 0x0000001000000010 0 + 68719476752

Thread 2:
0   stockfish-1.6.2-mSD7                0x0000000100028642 void (anonymous names
pace)::evaluate_pieces<(PieceType)4, (Color)1, true>(Position const&, EvalInfo&,
 unsigned long long) + 306
1   stockfish-1.6.2-mSD7                0x00000001000280d8 void (anonymous names
pace)::evaluate_pieces_of_color<(Color)1, true>(Position const&, EvalInfo&) + 40
8
2   stockfish-1.6.2-mSD7                0x0000000100026070 Value (anonymous name
space)::do_evaluate<true>(Position const&, EvalInfo&, int) + 560
3   stockfish-1.6.2-mSD7                0x00000001000154a0 (anonymous namespace)
::qsearch(Position&, SearchStack*, Value, Value, Depth, int, int) + 560
4   stockfish-1.6.2-mSD7                0x000000010000dedc (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 108
5   stockfish-1.6.2-mSD7                0x000000010000e379 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 1289
6   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
7   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
8   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
9   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
10  stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
11  stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
12  stockfish-1.6.2-mSD7                0x000000010001117c (anonymous namespace)
::sp_search(SplitPoint*, int) + 1852
13  stockfish-1.6.2-mSD7                0x000000010001e760 (anonymous namespace)
::init_thread(void*) + 128
14  libSystem.B.dylib                   0x00007fff83f9fe8b _pthread_start + 316
15  libSystem.B.dylib                   0x00007fff83f9fd4d thread_start + 13

Thread 3:
0   stockfish-1.6.2-mSD7                0x0000000100016c3e MovePicker::get_next_
move() + 1758
1   ???                                 0x0000000100141360 (anonymous namespace)
::H + 0
2   ???                                 0x0000001000000010 0 + 68719476752

Thread 4 Crashed:
0   stockfish-1.6.2-mSD7                0x0000000100015690 (anonymous namespace)
::qsearch(Position&, SearchStack*, Value, Value, Depth, int, int) + 1056
1   stockfish-1.6.2-mSD7                0x000000010000dedc (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 108
2   stockfish-1.6.2-mSD7                0x000000010000e379 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 1289
3   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
4   stockfish-1.6.2-mSD7                0x000000010000ef02 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4242
5   stockfish-1.6.2-mSD7                0x000000010001117c (anonymous namespace)
::sp_search(SplitPoint*, int) + 1852
6   stockfish-1.6.2-mSD7                0x000000010001e760 (anonymous namespace)
::init_thread(void*) + 128
7   libSystem.B.dylib                   0x00007fff83f9fe8b _pthread_start + 316
8   libSystem.B.dylib                   0x00007fff83f9fd4d thread_start + 13

Thread 5:
0   stockfish-1.6.2-mSD7                0x00000001000263db Value (anonymous name
space)::do_evaluate<true>(Position const&, EvalInfo&, int) + 1435
1   ???                                 0x0000000101f12390 0 + 4327547792

Thread 6:
0   stockfish-1.6.2-mSD7                0x00000001000114cf (anonymous namespace)
::scale_by_game_phase(Score const&, Phase, ScaleFactor const*) + 15
1   ???                                 0x0000000101f24210 0 + 4327621136

Thread 7:
0   stockfish-1.6.2-mSD7                0x0000000100028831 void (anonymous names
pace)::evaluate_king<(Color)0, true>(Position const&, EvalInfo&) + 49
1   stockfish-1.6.2-mSD7                0x000000010002607b Value (anonymous name
space)::do_evaluate<true>(Position const&, EvalInfo&, int) + 571
2   stockfish-1.6.2-mSD7                0x000000010000f128 (anonymous namespace)
::search(Position&, SearchStack*, Value, Depth, int, bool, int, Move) + 4792
3   stockfish-1.6.2-mSD7                0x000000010000d0ab (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2587
4   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
5   stockfish-1.6.2-mSD7                0x000000010000d10e (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2686
6   stockfish-1.6.2-mSD7                0x000000010000d10e (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2686
7   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
8   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
9   stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
10  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
11  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
12  stockfish-1.6.2-mSD7                0x000000010000cf6a (anonymous namespace)
::search_pv(Position&, SearchStack*, Value, Value, Depth, int, int) + 2266
13  stockfish-1.6.2-mSD7                0x0000000100010758 (anonymous namespace)
::sp_search_pv(SplitPoint*, int) + 1240
14  stockfish-1.6.2-mSD7                0x000000010001e756 (anonymous namespace)
::init_thread(void*) + 118
15  libSystem.B.dylib                   0x00007fff83f9fe8b _pthread_start + 316
16  libSystem.B.dylib                   0x00007fff83f9fd4d thread_start + 13

Thread 4 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x000000000000000f  rcx: 0x0000000004032280  rdx
: 0x0000000100060b20
  rdi: 0x0000000000000040  rsi: 0x000080484040a000  rbp: 0x0000000000000a0f  rsp
: 0x0000000101b80ce0
   r8: 0x0000000000000418   r9: 0x0000000000000000  r10: 0x0000000008040200  r11
: 0x0000000000020400
  r12: 0x0000000000000a10  r13: 0x000000010047d3d8  r14: 0x0000000101b85fe0  r15
: 0x000000010005e620
  rip: 0x0000000100015690  rfl: 0x0000000000010206  cr2: 0x0000000140261b20

Binary Images:
       0x100000000 -        0x100051ff7 +stockfish-1.6.2-mSD7 ??? (???) <4b8b16d
2fea2e37dfdfe937c6164d8c4> /Users/louis/Desktop/StockfishTests/stockfish-162-ja/
src/stockfish-1.6.2-mSD7
       0x10172a000 -        0x10172affd  libmx.A.dylib ??? (???) /usr/lib/libmx.
A.dylib
    0x7fff5fc00000 -     0x7fff5fc2e643  dyld 97.1 (???) <1d1ba42c89e77cfe2558a3
c66129fff6> /usr/lib/dyld
    0x7fff81f8b000 -     0x7fff81f8ffff  libmathCommon.A.dylib ??? (???) /usr/li
b/system/libmathCommon.A.dylib
    0x7fff835fa000 -     0x7fff8366efe7  libstdc++.6.dylib ??? (???) <4c05223450
1252589cb46a124abc72d9> /usr/lib/libstdc++.6.dylib
    0x7fff83f3d000 -     0x7fff83f49ff1  libgcc_s.1.dylib ??? (???) <568895f7479
fefc4796748a618c6ec9f> /usr/lib/libgcc_s.1.dylib
    0x7fff83f71000 -     0x7fff840fcffb  libSystem.B.dylib ??? (???) <714d2608b5
acae3ad5364897c49868fa> /usr/lib/libSystem.B.dylib
    0x7fffffe00000 -     0x7fffffe01780  libSystem.B.dylib ??? (???) /usr/lib/li
bSystem.B.dylib

From http://developer.apple.com/mac/library/ ... n2123.html

"If eip is not equal to the exception address, the exception was caused by a memory access instruction (in terms of C, this means that you're dereferencing an invalid pointer)."

(Since this is Intel-64, the program counter is rip, not eip.)
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by mcostalba »

zullil wrote: Thread 4 Crashed:
0 stockfish-1.6.2-mSD7 0x0000000100015690 (anonymous namespace)
::qsearch(Position&, SearchStack*, Value, Value, Depth, int, int) + 1056
It crashed somewhere in qsearch() (at offset 1056 ?) It would be interesting on which instuction it crashed, if you have compiled with debug info (as is the default) perhaps it is possible that the debugger finds out what we have at +1056
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by zullil »

mcostalba wrote:
zullil wrote: Thread 4 Crashed:
0 stockfish-1.6.2-mSD7 0x0000000100015690 (anonymous namespace)
::qsearch(Position&, SearchStack*, Value, Value, Depth, int, int) + 1056
It crashed somewhere in qsearch() (at offset 1056 ?) It would be interesting on which instuction it crashed, if you have compiled with debug info (as is the default) perhaps it is possible that the debugger finds out what we have at +1056
Hi Marco,

Bad news. Crashed again, same place. More bad news:

Code: Select all

# Stockfish, a UCI chess playing engine derived from Glaurung 2.1
# Copyright (C) 2004-2007 Tord Romstad
# Copyright (C) 2008 Marco Costalba

# This file is part of Stockfish.
#
# Stockfish is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Stockfish is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.


### Executable name. Do not change
EXE = stockfish-1.6.2-mSD6


### ==========================================================================
### Compiler speed switches for both GCC and ICC. These settings are generally
### fast on a broad range of systems, but may be changed experimentally
### ==========================================================================
GCCFLAGS = -O3 -msse
ICCFLAGS = -fast -msse
ICCFLAGS-OSX = -fast


### ==========================================================================
### Enable/disable debugging, disabled by default
### ==========================================================================
GCCFLAGS += -DNDEBUG
ICCFLAGS += -DNDEBUG
ICCFLAGS-OSX += -DNDEBUG
Suggestions for me?
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by mcostalba »

zullil wrote: Suggestions for me?
Could you disassemble what we have at qsearch() +1056 ?

eventually with objdump -C -S

I don't know CrashReporter, perhaps it has some already built-in disassembling facilities.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by zullil »

mcostalba wrote:
zullil wrote: Suggestions for me?
Could you disassemble what we have at qsearch() +1056 ?

eventually with objdump -C -S

I don't know CrashReporter, perhaps it has some already built-in disassembling facilities.
Hi Marco,

I have no experience with this.

I used

Code: Select all

otool -tV ./stockfish-1.6.2-mSD7
and searched the assembly code to find

Code: Select all

0000000100015690	movq	(%rdx,%r10,8),%rdx
Is this helpful?

Here's a larger portion

Code: Select all

000000010001546a	cmpl	$0xffff8b34,%edx
0000000100015470	cmovgl	%edx,%r8d
0000000100015474	jmp	0x000154c7
0000000100015476	movl	%edx,%r8d
0000000100015479	subl	%ebx,%r8d
000000010001547c	jmp	0x000154c7
000000010001547e	movzbl	0x016f6d7b(%rip),%eax
0000000100015485	testl	%eax,%eax
0000000100015487	je	0x000154a5
0000000100015489	movl	0x00000cb0(%rsp),%edx
0000000100015490	movq	%r14,%rdi
0000000100015493	leaq	0x00000b18(%rsp),%rsi
000000010001549b	callq	__ZN36_GLOBAL__N__12_evaluate_cpp_be703c3b11do_evaluateILb1EEE5ValueRK8PositionR8EvalInfoi
00000001000154a0	movl	%eax,%r8d
00000001000154a3	jmp	0x000154c7
00000001000154a5	movl	0x00000cb0(%rsp),%edx
00000001000154ac	movq	%r14,%rdi
00000001000154af	leaq	0x00000b18(%rsp),%rsi
00000001000154b7	callq	__ZN36_GLOBAL__N__12_evaluate_cpp_be703c3b11do_evaluateILb0EEE5ValueRK8PositionR8EvalInfoi
00000001000154bc	movl	%eax,%r8d
00000001000154bf	jmp	0x000154c7
00000001000154c1	movl	$0xffff8acf,%r8d
00000001000154c7	cmpl	$0x63,%ebx
00000001000154ca	jgeq	0x00015a71
00000001000154d0	movl	%r8d,0x00000c50(%rsp)
00000001000154d8	cmpl	%r12d,%r8d
00000001000154db	jl	0x00015505
00000001000154dd	cmpl	$USE_REG,0x00000c58(%rsp)
00000001000154e5	jne	0x000154f0
00000001000154e7	testq	%r15,%r15
00000001000154ea	jeq	0x00015b4a
00000001000154f0	movl	%r8d,%eax
00000001000154f3	addq	$0x00000c78,%rsp
00000001000154fa	popq	%rbx
00000001000154fb	popq	%rbp
00000001000154fc	popq	%r12
00000001000154fe	popq	%r13
0000000100015500	popq	%r14
0000000100015502	popq	%r15
0000000100015504	ret
0000000100015505	movl	0x00000c48(%rsp),%ecx
000000010001550c	cmpl	%ebp,%r8d
000000010001550f	cmovgel	%r8d,%ebp
0000000100015513	movq	%r14,0x18(%rsp)
0000000100015518	leaq	0x0012be41(%rip),%rdx
000000010001551f	movq	%rdx,0x20(%rsp)
0000000100015524	leaq	0x00000878(%rsp),%r9
000000010001552c	movq	%r14,%rdi
000000010001552f	movl	%ecx,0x28(%rsp)
0000000100015533	movb	$USE_REG,0x48(%rsp)
0000000100015538	movq	%r9,0x68(%rsp)
000000010001553d	movl	0x00000690(%r14),%esi
0000000100015544	movl	%r8d,0x00000c10(%rsp)
000000010001554c	callq	__ZNK8Position13pinned_piecesE5Color
0000000100015551	movl	0x00000c10(%rsp),%r8d
0000000100015559	movq	0x00000dd8(%r14),%rdi
0000000100015560	movq	%rax,0x70(%rsp)
0000000100015565	xorl	%edx,%edx
0000000100015567	movl	%edx,0x38(%rsp)
000000010001556b	movl	%edx,0x40(%rsp)
000000010001556f	movl	%edx,0x30(%rsp)
0000000100015573	movq	0x40(%rdi),%r9
0000000100015577	testq	%r9,%r9
000000010001557a	je	0x00015585
000000010001557c	leaq	0x00040821(%rip),%rsi
0000000100015583	jmp	0x0001559a
0000000100015585	cmpl	$USE_REG,0x00000c68(%rsp)
000000010001558d	jleq	0x0001604d
0000000100015593	leaq	0x0003cfa6(%rip),%rsi
000000010001559a	xorl	%ecx,%ecx
000000010001559c	movl	$USE_MMX,%edx
00000001000155a1	cmpl	$USE_REG,0x00000c48(%rsp)
00000001000155a9	movl	%r8d,0x00000c10(%rsp)
00000001000155b1	cmovel	%edx,%ecx
00000001000155b4	leaq	0xff(%rcx,%rsi),%rsi
00000001000155b9	movq	%rsi,0x50(%rsp)
00000001000155be	leaq	0x18(%rsp),%rdi
00000001000155c3	callq	__ZN10MovePicker13go_next_phaseEv
00000001000155c8	movq	%r14,%rdi
00000001000155cb	movl	0x00000690(%r14),%esi
00000001000155d2	movl	%esi,%edx
00000001000155d4	xorl	$USE_MMX,%edx
00000001000155d7	movl	%edx,0x10(%rsp)
00000001000155db	movslq	%edx,%rdx
00000001000155de	shlq	$0x09,%rdx
00000001000155e2	movl	0x00000310(%rdx,%r14),%ecx
00000001000155ea	movl	%ecx,0x00000a78(%rsp)
00000001000155f1	callq	__ZNK8Position27discovered_check_candidatesE5Color
00000001000155f6	movl	0x00000c10(%rsp),%r8d
00000001000155fe	movslq	0x00000a78(%rsp),%rdi
0000000100015606	movl	0x10(%rsp),%r9d
000000010001560b	movq	0x00000100(%r14),%rsi
0000000100015612	movq	%rax,0x00000a80(%rsp)
000000010001561a	shll	$0x03,%r9d
000000010001561e	orl	$USE_MMX,%r9d
0000000100015622	movslq	%r9d,%r9
0000000100015625	shlq	$0x09,%r9
0000000100015629	leaq	(%r9,%rdi,8),%r10
000000010001562d	leaq	0x00048fec(%rip),%r15
0000000100015634	movq	(%r15,%r10),%r11
0000000100015638	movq	0x00000400(%r15,%rdi,8),%rdx
0000000100015640	movq	%r11,0x00000a90(%rsp)
0000000100015648	leaq	0x0003d031(%rip),%rcx
000000010001564f	movq	%rdx,0x00000a98(%rsp)
0000000100015657	leaq	0x0004b1c2(%rip),%rdx
000000010001565e	movslq	(%rdx,%rdi,4),%r10
0000000100015662	leaq	0x0004b2b7(%rip),%rdx
0000000100015669	movq	(%rdx,%rdi,8),%r9
000000010001566d	andq	0x00000100(%r14),%r9
0000000100015674	imulq	(%rcx,%rdi,8),%r9
0000000100015679	leaq	0x0003cf00(%rip),%rdx
0000000100015680	movl	(%rdx,%rdi,4),%ecx
0000000100015683	shrq	%cl,%r9
0000000100015686	addq	%r9,%r10
0000000100015689	leaq	0x0004b490(%rip),%rdx
0000000100015690	movq	(%rdx,%r10,8),%rdx
0000000100015694	movq	%rdx,0x00000aa0(%rsp)
000000010001569c	leaq	0x0005587d(%rip),%rcx
00000001000156a3	movslq	(%rcx,%rdi,4),%r9
00000001000156a7	leaq	0x00055972(%rip),%rcx
00000001000156ae	andq	(%rcx,%rdi,8),%rsi
00000001000156b2	leaq	0x0003d2c7(%rip),%rcx
00000001000156b9	imulq	(%rcx,%rdi,8),%rsi
00000001000156be	movq	$USE_REG,0x00000ab8(%rsp)
00000001000156ca	leaq	0x0003d1af(%rip),%rcx
00000001000156d1	movl	(%rcx,%rdi,4),%ecx
00000001000156d4	shrq	%cl,%rsi
00000001000156d7	addq	%rsi,%r9
00000001000156da	leaq	0x00055b3f(%rip),%rcx
00000001000156e1	movq	(%rcx,%r9,8),%rcx
00000001000156e5	movq	%rcx,0x00000aa8(%rsp)
00000001000156ed	orq	%rcx,%rdx
00000001000156f0	movq	0x00000dd8(%r14),%rcx
00000001000156f7	movq	%rdx,0x00000ab0(%rsp)
00000001000156ff	movslq	0x00000690(%r14),%rdx
0000000100015706	movl	0x24(%rcx,%rdx,4),%edx
000000010001570a	cmpl	%r12d,%ebp
Joerg Oster
Posts: 971
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany
Full name: Jörg Oster

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by Joerg Oster »

Hi,

thanks for doing all these Benchmarks, Louis.
This points me to MNTpSP=4 and MSD=5 or 6, but also MNTpSP=3 with MSD=5 and MNTpSP=5 is maybe worth a try.

Problem I have with these numbers is, you don't know exactly what is causing these differences.

Please have a look at my approach.
I took 8 opening positions(4 full moves from the starting position) and 8 endgames, and let them all calculate by SF 1.6.2 default with 1 Thread and with 4 Threads.
I calculated the scaling factor (nps_4T / nps_1T) and summed up the time to reach a certain depth.

Code: Select all

        MNTpSP=5	MSD=4		MNTpSP=5	MSD=4		MNTpSP=5	MSD=7
       Scal.Factor	Time d19	Scal.Factor	Time d19	Scal.Factor	Time d19
                   1 Thread			4 Threads			4 Threads	
	Opening 1	1	55		    2,93	30		    3,54	43
	Opening 2	1	92		    3,16	32		    3,18	27
	Opening 3	1	111		   3,49	44		    3,52	60
	Opening 4	1	111		    3,6	63		    3,17	45
	Opening 5	1	82		    3,49	31		    3,57	23
	Opening 6	1	169		   3,72	36		    3,72	42
	Opening 7	1	232		   3,73	34		    3,19	70
	Opening 8	1	63		    3,54	44		    3,08	46
									
Av. ScF	 time	1	915		    3,46	314		    3,37	356
									
									
	Endgame 1	1	52		    2,81	33		    3,46	31
	Endgame 2	1	77		     3,1	29		    3,38	25
	Endgame 3	1	27		    2,57	33		    3,45	10
	Endgame 4	1	81		     2,9	54		    3,54	76
	Endgame 5	1	91		    2,84	27		    3,39	20
	Endgame 6	1	218		   3,55	39		    3,47	32
	Endgame 7	1	60		    2,61	32		    2,95	47
	Endgame 8	1	89		     3,2	33		     3,4	38
									
Av. ScF	 time	1	695		    2,95	280		    3,38	279
You can find some pretty interesting details. :D
The default setting scales quite well in the opening, but not so good in endgames.
While the MSD=7 scales better in endgames, things get worse a bit in the opening. Especially the total time is much worse. That might explain why this setting seems to do a bit worse in my test match.

As you can see, I'm just at the beginning. I'd like to do some more testing with MNTpSP=5, 4 and even 3, before picking the 2 or 3 most promising settings for test matches.

So Marco, I have a question: can you provide a Stockfish version, where I can set this value (MNTpSP) down to 3? Maybe compiled by Jim Abblett again? :oops:
Unfortunately I have no experience in compiling source code.
In case you need my e-mail address I will pm it to you.

Any comments welcome, of course.

Joerg.

Some notes: the above numbers are all rounded.
Av. ScF = Average scaling factor
Times in seconds
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Stockfish-1.6.2 Benchmarks for 1 to 8 Threads

Post by zullil »

Is this better?

0x0000000100015690 - 0x0000000100015270 = 0x420 = 1056 in base 10.

Code: Select all

__ZN34_GLOBAL__N__10_search_cpp_ed1accb97qsearchER8PositionP11SearchStack5ValueS4_5Depthii:
0000000100015270	pushq	%r15
0000000100015272	pushq	%r14
0000000100015274	pushq	%r13
0000000100015276	pushq	%r12
0000000100015278	pushq	%rbp
0000000100015279	pushq	%rbx
000000010001527a	subq	$0x00000c78,%rsp
0000000100015281	movl	%r9d,%ebx
0000000100015284	movl	%ecx,%r12d
0000000100015287	movl	%r8d,0x00000c68(%rsp)
000000010001528f	movl	%edx,%ebp
0000000100015291	movl	0x00000cb0(%rsp),%edx
0000000100015298	movq	%rsi,%r13
000000010001529b	movq	%rdi,%r14
000000010001529e	xorl	%r15d,%r15d
00000001000152a1	movl	$USE_REG,0x00000c60(%rsp)
00000001000152ac	movl	$USE_MMX,%r10d
00000001000152b2	movl	%r12d,%eax
00000001000152b5	subl	%ebp,%eax
00000001000152b7	xorl	%r11d,%r11d
00000001000152ba	cmpl	$USE_MMX,%eax
00000001000152bd	cmovnel	%r10d,%r11d
00000001000152c1	movl	%r11d,0x00000c70(%rsp)
00000001000152c9	movq	%r13,%rdi
00000001000152cc	movl	%ebx,%esi
00000001000152ce	callq	__ZN34_GLOBAL__N__10_search_cpp_ed1accb99init_nodeEP11SearchStackii
00000001000152d3	movzbl	0x016f6f3a(%rip),%eax
00000001000152da	testl	%eax,%eax
00000001000152dc	je	0x000152f2
00000001000152de	xorl	%eax,%eax
00000001000152e0	addq	$0x00000c78,%rsp
00000001000152e7	popq	%rbx
00000001000152e8	popq	%rbp
00000001000152e9	popq	%r12
00000001000152eb	popq	%r13
00000001000152ed	popq	%r14
00000001000152ef	popq	%r15
00000001000152f1	ret
00000001000152f2	movl	0x00000cb0(%rsp),%edi
00000001000152f9	callq	__ZN34_GLOBAL__N__10_search_cpp_ed1accb918thread_should_stopEi
00000001000152fe	movzbl	%al,%eax
0000000100015301	testl	%eax,%eax
0000000100015303	jne	0x000152de
0000000100015305	movq	0x00000dd8(%r14),%r8
000000010001530c	movq	0x00000108(%r14),%rax
0000000100015313	testq	%rax,%rax
0000000100015316	jne	0x00015327
0000000100015318	movl	0x24(%r8),%eax
000000010001531c	addl	0x28(%r8),%eax
0000000100015320	cmpl	$0x00000344,%eax
0000000100015325	jle	0x0001538a
0000000100015327	movl	0x14(%r8),%ecx
000000010001532b	cmpl	$0x64,%ecx
000000010001532e	jg	0x0001538a
0000000100015330	jeq	0x00015afc
0000000100015336	movl	0x00000694(%r14),%r9d
000000010001533d	movl	$USE_SSE2,%eax
0000000100015342	cmpl	%r9d,%ecx
0000000100015345	cmovgel	%r9d,%ecx
0000000100015349	movl	0x18(%r8),%edx
000000010001534d	cmpl	%ecx,%edx
000000010001534f	cmovll	%edx,%ecx
0000000100015352	movq	$0xfffffffffffffff0,%rdi
000000010001535c	cmpl	$USE_SSE2,%ecx
000000010001535f	jle	0x00015386
0000000100015361	movq	0x30(%r8),%rsi
0000000100015365	movslq	%ecx,%rcx
0000000100015368	movslq	%r9d,%r9
000000010001536b	leaq	(%r14,%r9,8),%rdx
000000010001536f	cmpq	0x00000698(%rdi,%rdx),%rsi
0000000100015377	je	0x0001538a
0000000100015379	addq	$0xf0,%rdi
000000010001537d	addq	$USE_SSE2,%rax
0000000100015381	cmpq	%rcx,%rax
0000000100015384	jl	0x0001536f
0000000100015386	xorl	%eax,%eax
0000000100015388	jmp	0x0001538f
000000010001538a	movl	$USE_MMX,%eax
000000010001538f	testl	%eax,%eax
0000000100015391	jneq	0x000152de
0000000100015397	cmpl	$USE_REG,0x00000c70(%rsp)
000000010001539f	jne	0x00015417
00000001000153a1	movq	0x30(%r8),%r15
00000001000153a5	movq	%r15,%rdx
00000001000153a8	shrq	$0x20,%rdx
00000001000153ac	movl	0x016f623e(%rip),%eax
00000001000153b2	decl	%eax
00000001000153b4	andl	%eax,%r15d
00000001000153b7	xorl	%eax,%eax
00000001000153b9	shlq	$0x06,%r15
00000001000153bd	addq	0x016f6234(%rip),%r15
00000001000153c4	cmpl	(%r15),%edx
00000001000153c7	je	0x000153d7
00000001000153c9	incl	%eax
00000001000153cb	addq	$0x0c,%r15
00000001000153cf	cmpl	$0x05,%eax
00000001000153d2	jl	0x000153c4
00000001000153d4	xorl	%r15d,%r15d
00000001000153d7	testq	%r15,%r15
00000001000153da	je	0x00015417
00000001000153dc	movl	0x00000c68(%rsp),%esi
00000001000153e3	movq	%r15,%rdi
00000001000153e6	movl	%r12d,%edx
00000001000153e9	movl	%ebx,%ecx
00000001000153eb	movq	%r8,0x10(%rsp)
00000001000153f0	callq	__ZN34_GLOBAL__N__10_search_cpp_ed1accb912ok_to_use_TTEPK7TTEntry5Depth5Valuei
00000001000153f5	movq	0x10(%rsp),%r8
00000001000153fa	movzbl	%al,%eax
00000001000153fd	testl	%eax,%eax
00000001000153ff	jneq	0x00015b0e
0000000100015405	movl	0x04(%r15),%eax
0000000100015409	andl	$0x0001ffff,%eax
000000010001540e	movl	%eax,0x00000c48(%rsp)
0000000100015415	jmp	0x00015422
0000000100015417	movl	$USE_REG,0x00000c48(%rsp)
0000000100015422	movq	0x40(%r8),%rax
0000000100015426	xorl	%ecx,%ecx
0000000100015428	movl	$USE_MMX,%edx
000000010001542d	testq	%rax,%rax
0000000100015430	movl	$USE_REG,0x00000be4(%rsp)
000000010001543b	cmovnel	%edx,%ecx
000000010001543e	movl	%ecx,0x00000c58(%rsp)
0000000100015445	testl	%ecx,%ecx
0000000100015447	jne	0x000154c1
0000000100015449	testq	%r15,%r15
000000010001544c	je	0x0001547e
000000010001544e	movl	0x04(%r15),%eax
0000000100015452	shrl	$0x14,%eax
0000000100015455	testb	$0x04,%al
0000000100015457	je	0x0001547e
0000000100015459	movswl	0x08(%r15),%edx
000000010001545e	cmpl	$0x000074cc,%edx
0000000100015464	jge	0x00015476
0000000100015466	leal	(%rbx,%rdx),%r8d
000000010001546a	cmpl	$0xffff8b34,%edx
0000000100015470	cmovgl	%edx,%r8d
0000000100015474	jmp	0x000154c7
0000000100015476	movl	%edx,%r8d
0000000100015479	subl	%ebx,%r8d
000000010001547c	jmp	0x000154c7
000000010001547e	movzbl	0x016f6d7b(%rip),%eax
0000000100015485	testl	%eax,%eax
0000000100015487	je	0x000154a5
0000000100015489	movl	0x00000cb0(%rsp),%edx
0000000100015490	movq	%r14,%rdi
0000000100015493	leaq	0x00000b18(%rsp),%rsi
000000010001549b	callq	__ZN36_GLOBAL__N__12_evaluate_cpp_be703c3b11do_evaluateILb1EEE5ValueRK8PositionR8EvalInfoi
00000001000154a0	movl	%eax,%r8d
00000001000154a3	jmp	0x000154c7
00000001000154a5	movl	0x00000cb0(%rsp),%edx
00000001000154ac	movq	%r14,%rdi
00000001000154af	leaq	0x00000b18(%rsp),%rsi
00000001000154b7	callq	__ZN36_GLOBAL__N__12_evaluate_cpp_be703c3b11do_evaluateILb0EEE5ValueRK8PositionR8EvalInfoi
00000001000154bc	movl	%eax,%r8d
00000001000154bf	jmp	0x000154c7
00000001000154c1	movl	$0xffff8acf,%r8d
00000001000154c7	cmpl	$0x63,%ebx
00000001000154ca	jgeq	0x00015a71
00000001000154d0	movl	%r8d,0x00000c50(%rsp)
00000001000154d8	cmpl	%r12d,%r8d
00000001000154db	jl	0x00015505
00000001000154dd	cmpl	$USE_REG,0x00000c58(%rsp)
00000001000154e5	jne	0x000154f0
00000001000154e7	testq	%r15,%r15
00000001000154ea	jeq	0x00015b4a
00000001000154f0	movl	%r8d,%eax
00000001000154f3	addq	$0x00000c78,%rsp
00000001000154fa	popq	%rbx
00000001000154fb	popq	%rbp
00000001000154fc	popq	%r12
00000001000154fe	popq	%r13
0000000100015500	popq	%r14
0000000100015502	popq	%r15
0000000100015504	ret
0000000100015505	movl	0x00000c48(%rsp),%ecx
000000010001550c	cmpl	%ebp,%r8d
000000010001550f	cmovgel	%r8d,%ebp
0000000100015513	movq	%r14,0x18(%rsp)
0000000100015518	leaq	0x0012be41(%rip),%rdx
000000010001551f	movq	%rdx,0x20(%rsp)
0000000100015524	leaq	0x00000878(%rsp),%r9
000000010001552c	movq	%r14,%rdi
000000010001552f	movl	%ecx,0x28(%rsp)
0000000100015533	movb	$USE_REG,0x48(%rsp)
0000000100015538	movq	%r9,0x68(%rsp)
000000010001553d	movl	0x00000690(%r14),%esi
0000000100015544	movl	%r8d,0x00000c10(%rsp)
000000010001554c	callq	__ZNK8Position13pinned_piecesE5Color
0000000100015551	movl	0x00000c10(%rsp),%r8d
0000000100015559	movq	0x00000dd8(%r14),%rdi
0000000100015560	movq	%rax,0x70(%rsp)
0000000100015565	xorl	%edx,%edx
0000000100015567	movl	%edx,0x38(%rsp)
000000010001556b	movl	%edx,0x40(%rsp)
000000010001556f	movl	%edx,0x30(%rsp)
0000000100015573	movq	0x40(%rdi),%r9
0000000100015577	testq	%r9,%r9
000000010001557a	je	0x00015585
000000010001557c	leaq	0x00040821(%rip),%rsi
0000000100015583	jmp	0x0001559a
0000000100015585	cmpl	$USE_REG,0x00000c68(%rsp)
000000010001558d	jleq	0x0001604d
0000000100015593	leaq	0x0003cfa6(%rip),%rsi
000000010001559a	xorl	%ecx,%ecx
000000010001559c	movl	$USE_MMX,%edx
00000001000155a1	cmpl	$USE_REG,0x00000c48(%rsp)
00000001000155a9	movl	%r8d,0x00000c10(%rsp)
00000001000155b1	cmovel	%edx,%ecx
00000001000155b4	leaq	0xff(%rcx,%rsi),%rsi
00000001000155b9	movq	%rsi,0x50(%rsp)
00000001000155be	leaq	0x18(%rsp),%rdi
00000001000155c3	callq	__ZN10MovePicker13go_next_phaseEv
00000001000155c8	movq	%r14,%rdi
00000001000155cb	movl	0x00000690(%r14),%esi
00000001000155d2	movl	%esi,%edx
00000001000155d4	xorl	$USE_MMX,%edx
00000001000155d7	movl	%edx,0x10(%rsp)
00000001000155db	movslq	%edx,%rdx
00000001000155de	shlq	$0x09,%rdx
00000001000155e2	movl	0x00000310(%rdx,%r14),%ecx
00000001000155ea	movl	%ecx,0x00000a78(%rsp)
00000001000155f1	callq	__ZNK8Position27discovered_check_candidatesE5Color
00000001000155f6	movl	0x00000c10(%rsp),%r8d
00000001000155fe	movslq	0x00000a78(%rsp),%rdi
0000000100015606	movl	0x10(%rsp),%r9d
000000010001560b	movq	0x00000100(%r14),%rsi
0000000100015612	movq	%rax,0x00000a80(%rsp)
000000010001561a	shll	$0x03,%r9d
000000010001561e	orl	$USE_MMX,%r9d
0000000100015622	movslq	%r9d,%r9
0000000100015625	shlq	$0x09,%r9
0000000100015629	leaq	(%r9,%rdi,8),%r10
000000010001562d	leaq	0x00048fec(%rip),%r15
0000000100015634	movq	(%r15,%r10),%r11
0000000100015638	movq	0x00000400(%r15,%rdi,8),%rdx
0000000100015640	movq	%r11,0x00000a90(%rsp)
0000000100015648	leaq	0x0003d031(%rip),%rcx
000000010001564f	movq	%rdx,0x00000a98(%rsp)
0000000100015657	leaq	0x0004b1c2(%rip),%rdx
000000010001565e	movslq	(%rdx,%rdi,4),%r10
0000000100015662	leaq	0x0004b2b7(%rip),%rdx
0000000100015669	movq	(%rdx,%rdi,8),%r9
000000010001566d	andq	0x00000100(%r14),%r9
0000000100015674	imulq	(%rcx,%rdi,8),%r9
0000000100015679	leaq	0x0003cf00(%rip),%rdx
0000000100015680	movl	(%rdx,%rdi,4),%ecx
0000000100015683	shrq	%cl,%r9
0000000100015686	addq	%r9,%r10
0000000100015689	leaq	0x0004b490(%rip),%rdx
0000000100015690	movq	(%rdx,%r10,8),%rdx