Stockfish 1.5 64-bit and 32-bit do not behave the same.

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

Moderators: hgm, Rebel, chrisw

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

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by bob »

mcostalba wrote:
Tord Romstad wrote:
bob wrote:That will probably help them. It really is a bug, plain and simple.
Quite possibly. If it is, it is probably a very minor and insignificant bug, but even very minor bugs need to be fixed. It's certainly worth looking at -- thanks for bringing it to our attention, Ernest!

It's not immediately clear whether it is a bug, though. Stockfish relies on C++ library functions for things like move sorting, and these functions could conceivably differ between 32 bit and 64 bit versions of the libraries. For this reason, it might be better to avoid using library functions for sorting. Actually I seem to recall that we originally used our own sorting functions; I don't remember when or why we switched to the library versions.
Well in Glaurung, if I remember correctly, the move list is scanned and the highest score is picked each time we need a move until, if I remember correctly, up to the 12-th.

I changed to std::sort() of all the moves before picking because it proved stronger and code is cleaner.

It is correct that std::sort() is not stable (to have maximum speed), but if we need a stable sort there is std::stable_sort() :-)

We could replace sort() with stable_sort() everywhere and see if that's the problem. If it is we can happily come back to the faster std::sort() because it means the bug is actually not a bug. Unfortunatly I don't have a 64 bit system to test.

Function std::stable_sort() gives the same results for _any_ library because specification does not leave anything undocumented.

Intead std::sort() can be application specific. In our case I don't think the problem is 32 / 64 bit but perhaps that Jim uses MSVC on 32 bit and Intel compiler on 64 bit (if I remember correctly, but I can be wrong).

Tomorrow I can test with std::stable_sort() on Windows with MSVC and on Linux with gcc and see if node count is the same with std::stable_sort() while differs with std::sort()
That still has to be a bug. How can two different compilers produce different results unless something is broken, either in the source, or in one of the compilers? I occasionally test Crafty using gcc (I generally use the intel compiler) and others on our team test on windows. We never see node counts that are different, whether we run on 32 or 64 bit. I have a 32 bit linux box in my office, a core-2 duo laptop (64 bit), plus the usual large 64 bit clusters. It is a good stress test and when something shows up as different, it is time for debugging, since it is almost never a compiler issue.
zamar
Posts: 613
Joined: Sun Jan 18, 2009 7:03 am

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by zamar »

Unfortunately I'm not able to reproduce this problem in Linux.

I've access to both 32-bit & 64-bit machines and I'm using self-compiled binaries by ICC:

./stockfish
uci
setoption name Threads value 1
setoption name Hash value 512
ucinewgame
position fen 2rr2k1/pp2b1pp/1nb1p3/5p2/1P1B4/P2BPP2/3NK1PP/R6R b - - 0 1
go depth 21

Both 32-bit & 64-bit binaries give same node count:
info nodes 517025258

Maybe this has sth do with differences between MSVC/ICC?
Joona Kiiski
Dann Corbit
Posts: 12542
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by Dann Corbit »

zamar wrote:Unfortunately I'm not able to reproduce this problem in Linux.

I've access to both 32-bit & 64-bit machines and I'm using self-compiled binaries by ICC:

./stockfish
uci
setoption name Threads value 1
setoption name Hash value 512
ucinewgame
position fen 2rr2k1/pp2b1pp/1nb1p3/5p2/1P1B4/P2BPP2/3NK1PP/R6R b - - 0 1
go depth 21

Both 32-bit & 64-bit binaries give same node count:
info nodes 517025258

Maybe this has sth do with differences between MSVC/ICC?
JA 32 bit Intel build (other runs will follow shortly):

Code: Select all

info depth 21 score cp 101 time 553384 nodes 648598016 nps 1172057 pv e6e5 d4c5 b6a4 h1c1 d8d3 c5e7 d3d7 e7h4 a4b2 a3a4 b7b5 a4a5 b2d3 c1b1 c6d5 g2g4 f5g4 f3g4 e5e4 h4g3 a7a6
info currmove b6d5 currmovenumber 2
info nodes 648990000 nps 1172081 time 553707 hashfull 999
info nodes 650190000 nps 1172113 time 554716 hashfull 999
info nodes 651360000 nps 1172054 time 555742 hashfull 999
info nodes 652500000 nps 1171992 time 556744 hashfull 999
info nodes 653730000 nps 1172048 time 557767 hashfull 999
info nodes 654840000 nps 1171918 time 558776 hashfull 999
info nodes 656010000 nps 1171887 time 559789 hashfull 999
info nodes 657150000 nps 1171824 time 560792 hashfull 999
info nodes 658290000 nps 1171751 time 561800 hashfull 999
info nodes 659400000 nps 1171635 time 562803 hashfull 999
info nodes 660540000 nps 1171575 time 563805 hashfull 999
info nodes 661740000 nps 1171596 time 564819 hashfull 999
info nodes 662910000 nps 1171568 time 565831 hashfull 999
info currmove d8d5 currmovenumber 3
info nodes 664110000 nps 1171585 time 566847 hashfull 999
info nodes 665280000 nps 1171577 time 567850 hashfull 999
info nodes 666420000 nps 1171513 time 568854 hashfull 999
info nodes 667590000 nps 1171504 time 569857 hashfull 999
info nodes 668760000 nps 1171473 time 570871 hashfull 999
info nodes 669930000 nps 1171445 time 571883 hashfull 999
info nodes 671160000 nps 1171535 time 572889 hashfull 999
info nodes 672330000 nps 1171490 time 573910 hashfull 999
info nodes 673530000 nps 1171495 time 574932 hashfull 999
info nodes 674700000 nps 1171486 time 575935 hashfull 999
info currmove b6a4 currmovenumber 4
info nodes 675900000 nps 1171509 time 576948 hashfull 999
info nodes 677070000 nps 1171502 time 577950 hashfull 999
info nodes 678270000 nps 1171515 time 578968 hashfull 999
info nodes 679530000 nps 1171625 time 579989 hashfull 999
info nodes 680760000 nps 1171683 time 581010 hashfull 999
info nodes 681930000 nps 1171642 time 582029 hashfull 999
info nodes 683130000 nps 1171661 time 583044 hashfull 999
info currmove g8f7 currmovenumber 5
info nodes 684270000 nps 1171602 time 584046 hashfull 999
info nodes 685440000 nps 1171586 time 585053 hashfull 999
info nodes 686640000 nps 1171588 time 586076 hashfull 999
info nodes 687900000 nps 1171689 time 587100 hashfull 999
info nodes 689160000 nps 1171803 time 588119 hashfull 999
info nodes 690360000 nps 1171815 time 589137 hashfull 999
info nodes 691500000 nps 1171737 time 590149 hashfull 999
info nodes 692640000 nps 1171652 time 591165 hashfull 999
info nodes 693810000 nps 1171645 time 592167 hashfull 999
info currmove g7g6 currmovenumber 6
info nodes 695010000 nps 1171665 time 593181 hashfull 999
info currmove e7f6 currmovenumber 7
info nodes 696240000 nps 1171746 time 594190 hashfull 999
info nodes 697530000 nps 1171913 time 595206 hashfull 999
info nodes 698790000 nps 1172029 time 596222 hashfull 999
info nodes 700110000 nps 1172236 time 597243 hashfull 999
info currmove c6f3 currmovenumber 8
info nodes 701340000 nps 1172315 time 598252 hashfull 999
info nodes 702570000 nps 1172403 time 599256 hashfull 999
info nodes 703770000 nps 1172447 time 600257 hashfull 999
info nodes 705120000 nps 1172715 time 601271 hashfull 999
info nodes 706350000 nps 1172779 time 602287 hashfull 999
info currmove f5f4 currmovenumber 9
info nodes 707580000 nps 1172855 time 603297 hashfull 999
info nodes 708750000 nps 1172805 time 604320 hashfull 999
info nodes 709920000 nps 1172775 time 605333 hashfull 999
info nodes 711060000 nps 1172721 time 606333 hashfull 999
info currmove a7a5 currmovenumber 10
info nodes 712230000 nps 1172690 time 607347 hashfull 999
info nodes 713400000 nps 1172660 time 608360 hashfull 999
info nodes 714540000 nps 1172603 time 609362 hashfull 999
info nodes 715680000 nps 1172509 time 610383 hashfull 999
info currmove c6a4 currmovenumber 11
info nodes 716880000 nps 1172506 time 611408 hashfull 999
info nodes 718080000 nps 1172513 time 612428 hashfull 999
info nodes 719340000 nps 1172623 time 613445 hashfull 999
info nodes 720540000 nps 1172626 time 614467 hashfull 999
info nodes 721800000 nps 1172731 time 615486 hashfull 999
info currmove d8d4 currmovenumber 12
info nodes 723000000 nps 1172753 time 616498 hashfull 999
info nodes 724290000 nps 1172905 time 617518 hashfull 999
info currmove c6e8 currmovenumber 13
info nodes 725580000 nps 1173067 time 618531 hashfull 999
info nodes 726840000 nps 1173177 time 619548 hashfull 999
info currmove h7h6 currmovenumber 14
info currmove h7h5 currmovenumber 15
info currmove e7b4 currmovenumber 16
info nodes 728010000 nps 1173165 time 620551 hashfull 999
info nodes 729210000 nps 1173180 time 621567 hashfull 999
info currmove e7g5 currmovenumber 17
info nodes 730350000 nps 1173107 time 622577 hashfull 999
info currmove c6e4 currmovenumber 18
info currmove g8f8 currmovenumber 19
info currmove b6c4 currmovenumber 20
info currmove e7h4 currmovenumber 21
info nodes 731550000 nps 1173102 time 623603 hashfull 999
info currmove d8d7 currmovenumber 22
info currmove g7g5 currmovenumber 23
info nodes 732720000 nps 1173050 time 624628 hashfull 999
info nodes 733860000 nps 1172969 time 625643 hashfull 999
info currmove e7f8 currmovenumber 24
info currmove c8c7 currmovenumber 25
info currmove c8a8 currmovenumber 26
info nodes 735000000 nps 1172896 time 626654 hashfull 999
info currmove b6d7 currmovenumber 27
info currmove c6b5 currmovenumber 28
info currmove e7d6 currmovenumber 29
info currmove c8b8 currmovenumber 30
info nodes 736170000 nps 1172872 time 627664 hashfull 999
info currmove d8d6 currmovenumber 31
info currmove a7a6 currmovenumber 32
info currmove g8h8 currmovenumber 33
info currmove c6d5 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info currmove d8e8 currmovenumber 37
info nodes 737340000 nps 1172843 time 628677 hashfull 999
info currmove c6d7 currmovenumber 38
info currmove d8f8 currmovenumber 39
info nodes 737572099 nps 1172826 time 628884 hashfull 999
bestmove e6e5 ponder d4c5
Dann Corbit
Posts: 12542
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by Dann Corbit »

Dann Corbit wrote:
zamar wrote:Unfortunately I'm not able to reproduce this problem in Linux.

I've access to both 32-bit & 64-bit machines and I'm using self-compiled binaries by ICC:

./stockfish
uci
setoption name Threads value 1
setoption name Hash value 512
ucinewgame
position fen 2rr2k1/pp2b1pp/1nb1p3/5p2/1P1B4/P2BPP2/3NK1PP/R6R b - - 0 1
go depth 21

Both 32-bit & 64-bit binaries give same node count:
info nodes 517025258

Maybe this has sth do with differences between MSVC/ICC?
JA 32 bit Intel build (other runs will follow shortly):

Code: Select all

info depth 21 score cp 101 time 553384 nodes 648598016 nps 1172057 pv e6e5 d4c5 b6a4 h1c1 d8d3 c5e7 d3d7 e7h4 a4b2 a3a4 b7b5 a4a5 b2d3 c1b1 c6d5 g2g4 f5g4 f3g4 e5e4 h4g3 a7a6
info currmove b6d5 currmovenumber 2
info nodes 648990000 nps 1172081 time 553707 hashfull 999
info nodes 650190000 nps 1172113 time 554716 hashfull 999
info nodes 651360000 nps 1172054 time 555742 hashfull 999
info nodes 652500000 nps 1171992 time 556744 hashfull 999
info nodes 653730000 nps 1172048 time 557767 hashfull 999
info nodes 654840000 nps 1171918 time 558776 hashfull 999
info nodes 656010000 nps 1171887 time 559789 hashfull 999
info nodes 657150000 nps 1171824 time 560792 hashfull 999
info nodes 658290000 nps 1171751 time 561800 hashfull 999
info nodes 659400000 nps 1171635 time 562803 hashfull 999
info nodes 660540000 nps 1171575 time 563805 hashfull 999
info nodes 661740000 nps 1171596 time 564819 hashfull 999
info nodes 662910000 nps 1171568 time 565831 hashfull 999
info currmove d8d5 currmovenumber 3
info nodes 664110000 nps 1171585 time 566847 hashfull 999
info nodes 665280000 nps 1171577 time 567850 hashfull 999
info nodes 666420000 nps 1171513 time 568854 hashfull 999
info nodes 667590000 nps 1171504 time 569857 hashfull 999
info nodes 668760000 nps 1171473 time 570871 hashfull 999
info nodes 669930000 nps 1171445 time 571883 hashfull 999
info nodes 671160000 nps 1171535 time 572889 hashfull 999
info nodes 672330000 nps 1171490 time 573910 hashfull 999
info nodes 673530000 nps 1171495 time 574932 hashfull 999
info nodes 674700000 nps 1171486 time 575935 hashfull 999
info currmove b6a4 currmovenumber 4
info nodes 675900000 nps 1171509 time 576948 hashfull 999
info nodes 677070000 nps 1171502 time 577950 hashfull 999
info nodes 678270000 nps 1171515 time 578968 hashfull 999
info nodes 679530000 nps 1171625 time 579989 hashfull 999
info nodes 680760000 nps 1171683 time 581010 hashfull 999
info nodes 681930000 nps 1171642 time 582029 hashfull 999
info nodes 683130000 nps 1171661 time 583044 hashfull 999
info currmove g8f7 currmovenumber 5
info nodes 684270000 nps 1171602 time 584046 hashfull 999
info nodes 685440000 nps 1171586 time 585053 hashfull 999
info nodes 686640000 nps 1171588 time 586076 hashfull 999
info nodes 687900000 nps 1171689 time 587100 hashfull 999
info nodes 689160000 nps 1171803 time 588119 hashfull 999
info nodes 690360000 nps 1171815 time 589137 hashfull 999
info nodes 691500000 nps 1171737 time 590149 hashfull 999
info nodes 692640000 nps 1171652 time 591165 hashfull 999
info nodes 693810000 nps 1171645 time 592167 hashfull 999
info currmove g7g6 currmovenumber 6
info nodes 695010000 nps 1171665 time 593181 hashfull 999
info currmove e7f6 currmovenumber 7
info nodes 696240000 nps 1171746 time 594190 hashfull 999
info nodes 697530000 nps 1171913 time 595206 hashfull 999
info nodes 698790000 nps 1172029 time 596222 hashfull 999
info nodes 700110000 nps 1172236 time 597243 hashfull 999
info currmove c6f3 currmovenumber 8
info nodes 701340000 nps 1172315 time 598252 hashfull 999
info nodes 702570000 nps 1172403 time 599256 hashfull 999
info nodes 703770000 nps 1172447 time 600257 hashfull 999
info nodes 705120000 nps 1172715 time 601271 hashfull 999
info nodes 706350000 nps 1172779 time 602287 hashfull 999
info currmove f5f4 currmovenumber 9
info nodes 707580000 nps 1172855 time 603297 hashfull 999
info nodes 708750000 nps 1172805 time 604320 hashfull 999
info nodes 709920000 nps 1172775 time 605333 hashfull 999
info nodes 711060000 nps 1172721 time 606333 hashfull 999
info currmove a7a5 currmovenumber 10
info nodes 712230000 nps 1172690 time 607347 hashfull 999
info nodes 713400000 nps 1172660 time 608360 hashfull 999
info nodes 714540000 nps 1172603 time 609362 hashfull 999
info nodes 715680000 nps 1172509 time 610383 hashfull 999
info currmove c6a4 currmovenumber 11
info nodes 716880000 nps 1172506 time 611408 hashfull 999
info nodes 718080000 nps 1172513 time 612428 hashfull 999
info nodes 719340000 nps 1172623 time 613445 hashfull 999
info nodes 720540000 nps 1172626 time 614467 hashfull 999
info nodes 721800000 nps 1172731 time 615486 hashfull 999
info currmove d8d4 currmovenumber 12
info nodes 723000000 nps 1172753 time 616498 hashfull 999
info nodes 724290000 nps 1172905 time 617518 hashfull 999
info currmove c6e8 currmovenumber 13
info nodes 725580000 nps 1173067 time 618531 hashfull 999
info nodes 726840000 nps 1173177 time 619548 hashfull 999
info currmove h7h6 currmovenumber 14
info currmove h7h5 currmovenumber 15
info currmove e7b4 currmovenumber 16
info nodes 728010000 nps 1173165 time 620551 hashfull 999
info nodes 729210000 nps 1173180 time 621567 hashfull 999
info currmove e7g5 currmovenumber 17
info nodes 730350000 nps 1173107 time 622577 hashfull 999
info currmove c6e4 currmovenumber 18
info currmove g8f8 currmovenumber 19
info currmove b6c4 currmovenumber 20
info currmove e7h4 currmovenumber 21
info nodes 731550000 nps 1173102 time 623603 hashfull 999
info currmove d8d7 currmovenumber 22
info currmove g7g5 currmovenumber 23
info nodes 732720000 nps 1173050 time 624628 hashfull 999
info nodes 733860000 nps 1172969 time 625643 hashfull 999
info currmove e7f8 currmovenumber 24
info currmove c8c7 currmovenumber 25
info currmove c8a8 currmovenumber 26
info nodes 735000000 nps 1172896 time 626654 hashfull 999
info currmove b6d7 currmovenumber 27
info currmove c6b5 currmovenumber 28
info currmove e7d6 currmovenumber 29
info currmove c8b8 currmovenumber 30
info nodes 736170000 nps 1172872 time 627664 hashfull 999
info currmove d8d6 currmovenumber 31
info currmove a7a6 currmovenumber 32
info currmove g8h8 currmovenumber 33
info currmove c6d5 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info currmove d8e8 currmovenumber 37
info nodes 737340000 nps 1172843 time 628677 hashfull 999
info currmove c6d7 currmovenumber 38
info currmove d8f8 currmovenumber 39
info nodes 737572099 nps 1172826 time 628884 hashfull 999
bestmove e6e5 ponder d4c5
Microsoft VC++ 32 bit build (other runs will follow shortly):

Code: Select all

info depth 21 score cp 101 time 558108 nodes 648598016 nps 1162137 pv e6e5 d4c5 b6a4 h1c1 d8d3 c5e7 d3d7 e7h4 a4b2 a3a4 b7b5 a4a5 b2d3 c1b1 c6d5 g2g4 f5g4 f3g4 e5e4 h4g3 a7a6
info currmove b6d5 currmovenumber 2
info nodes 649740000 nps 1162159 time 559079 hashfull 999
info nodes 650910000 nps 1162175 time 560079 hashfull 999
info nodes 652020000 nps 1162069 time 561085 hashfull 999
info nodes 653220000 nps 1162098 time 562104 hashfull 999
info nodes 654360000 nps 1162013 time 563126 hashfull 999
info nodes 655530000 nps 1161990 time 564144 hashfull 999
info nodes 656670000 nps 1161937 time 565151 hashfull 999
info nodes 657810000 nps 1161863 time 566168 hashfull 999
info nodes 658950000 nps 1161796 time 567182 hashfull 999
info nodes 660090000 nps 1161704 time 568208 hashfull 999
info nodes 661260000 nps 1161684 time 569225 hashfull 999
info nodes 662460000 nps 1161741 time 570230 hashfull 999
info currmove d8d5 currmovenumber 3
info nodes 663690000 nps 1161820 time 571250 hashfull 999
info nodes 664890000 nps 1161846 time 572270 hashfull 999
info nodes 666060000 nps 1161806 time 573297 hashfull 999
info nodes 667230000 nps 1161792 time 574311 hashfull 999
info nodes 668400000 nps 1161763 time 575331 hashfull 999
info nodes 669570000 nps 1161727 time 576357 hashfull 999
info nodes 670770000 nps 1161784 time 577362 hashfull 999
info nodes 671940000 nps 1161766 time 578378 hashfull 999
info nodes 673080000 nps 1161726 time 579379 hashfull 999
info nodes 674250000 nps 1161716 time 580391 hashfull 999
info currmove b6a4 currmovenumber 4
info nodes 675390000 nps 1161679 time 581391 hashfull 999
info nodes 676560000 nps 1161649 time 582413 hashfull 999
info nodes 677670000 nps 1161531 time 583428 hashfull 999
info nodes 678870000 nps 1161587 time 584433 hashfull 999
info nodes 680100000 nps 1161674 time 585448 hashfull 999
info nodes 681270000 nps 1161647 time 586468 hashfull 999
info nodes 682380000 nps 1161551 time 587472 hashfull 999
info nodes 683520000 nps 1161508 time 588476 hashfull 999
info currmove g8f7 currmovenumber 5
info nodes 684690000 nps 1161469 time 589503 hashfull 999
info nodes 685830000 nps 1161411 time 590514 hashfull 999
info nodes 687000000 nps 1161400 time 591527 hashfull 999
info nodes 688230000 nps 1161475 time 592548 hashfull 999
info nodes 689460000 nps 1161569 time 593559 hashfull 999
info nodes 690600000 nps 1161496 time 594578 hashfull 999
info nodes 691710000 nps 1161403 time 595581 hashfull 999
info nodes 692850000 nps 1161350 time 596590 hashfull 999
info nodes 694020000 nps 1161360 time 597591 hashfull 999
info currmove g7g6 currmovenumber 6
info nodes 695190000 nps 1161334 time 598613 hashfull 999
info currmove e7f6 currmovenumber 7
info nodes 696390000 nps 1161383 time 599621 hashfull 999
info nodes 697680000 nps 1161553 time 600644 hashfull 999
info nodes 698940000 nps 1161678 time 601664 hashfull 999
info nodes 700230000 nps 1161856 time 602682 hashfull 999
info currmove c6f3 currmovenumber 8
info nodes 701430000 nps 1161902 time 603691 hashfull 999
info nodes 702660000 nps 1161993 time 604702 hashfull 999
info nodes 703860000 nps 1162043 time 605709 hashfull 999
info nodes 705180000 nps 1162274 time 606724 hashfull 999
info nodes 706380000 nps 1162327 time 607729 hashfull 999
info currmove f5f4 currmovenumber 9
info nodes 707580000 nps 1162381 time 608733 hashfull 999
info nodes 708720000 nps 1162316 time 609748 hashfull 999
info nodes 709860000 nps 1162258 time 610759 hashfull 999
info nodes 711000000 nps 1162191 time 611775 hashfull 999
info currmove a7a5 currmovenumber 10
info nodes 712140000 nps 1162148 time 612779 hashfull 999
info nodes 713280000 nps 1162100 time 613785 hashfull 999
info nodes 714420000 nps 1162053 time 614791 hashfull 999
info nodes 715530000 nps 1161950 time 615801 hashfull 999
info currmove c6a4 currmovenumber 11
info nodes 716700000 nps 1161931 time 616818 hashfull 999
info nodes 717870000 nps 1161938 time 617820 hashfull 999
info nodes 719100000 nps 1162027 time 618832 hashfull 999
info nodes 720330000 nps 1162094 time 619855 hashfull 999
info nodes 721500000 nps 1162088 time 620865 hashfull 999
info nodes 722700000 nps 1162147 time 621866 hashfull 999
info currmove d8d4 currmovenumber 12
info nodes 723930000 nps 1162228 time 622881 hashfull 999
info currmove c6e8 currmovenumber 13
info nodes 725220000 nps 1162397 time 623899 hashfull 999
info nodes 726480000 nps 1162531 time 624912 hashfull 999
info currmove h7h6 currmovenumber 14
info currmove h7h5 currmovenumber 15
info currmove e7b4 currmovenumber 16
info nodes 727650000 nps 1162532 time 625918 hashfull 999
info nodes 728820000 nps 1162536 time 626922 hashfull 999
info currmove e7g5 currmovenumber 17
info nodes 729960000 nps 1162499 time 627923 hashfull 999
info currmove c6e4 currmovenumber 18
info currmove g8f8 currmovenumber 19
info currmove b6c4 currmovenumber 20
info nodes 731130000 nps 1162487 time 628936 hashfull 999
info currmove e7h4 currmovenumber 21
info currmove d8d7 currmovenumber 22
info nodes 732270000 nps 1162423 time 629951 hashfull 999
info currmove g7g5 currmovenumber 23
info nodes 733410000 nps 1162340 time 630977 hashfull 999
info currmove e7f8 currmovenumber 24
info currmove c8c7 currmovenumber 25
info nodes 734520000 nps 1162248 time 631982 hashfull 999
info currmove c8a8 currmovenumber 26
info currmove b6d7 currmovenumber 27
info currmove c6b5 currmovenumber 28
info nodes 735660000 nps 1162200 time 632989 hashfull 999
info currmove e7d6 currmovenumber 29
info currmove c8b8 currmovenumber 30
info currmove d8d6 currmovenumber 31
info currmove a7a6 currmovenumber 32
info currmove g8h8 currmovenumber 33
info nodes 736800000 nps 1162165 time 633989 hashfull 999
info currmove c6d5 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info currmove d8e8 currmovenumber 37
info currmove c6d7 currmovenumber 38
info currmove d8f8 currmovenumber 39
info nodes 737572099 nps 1162131 time 634672 hashfull 999
bestmove e6e5 ponder d4c5
Dann Corbit
Posts: 12542
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by Dann Corbit »

Dann Corbit wrote:
Dann Corbit wrote:
zamar wrote:Unfortunately I'm not able to reproduce this problem in Linux.

I've access to both 32-bit & 64-bit machines and I'm using self-compiled binaries by ICC:

./stockfish
uci
setoption name Threads value 1
setoption name Hash value 512
ucinewgame
position fen 2rr2k1/pp2b1pp/1nb1p3/5p2/1P1B4/P2BPP2/3NK1PP/R6R b - - 0 1
go depth 21

Both 32-bit & 64-bit binaries give same node count:
info nodes 517025258

Maybe this has sth do with differences between MSVC/ICC?
JA 32 bit Intel build (other runs will follow shortly):

Code: Select all

info depth 21 score cp 101 time 553384 nodes 648598016 nps 1172057 pv e6e5 d4c5 b6a4 h1c1 d8d3 c5e7 d3d7 e7h4 a4b2 a3a4 b7b5 a4a5 b2d3 c1b1 c6d5 g2g4 f5g4 f3g4 e5e4 h4g3 a7a6
info currmove b6d5 currmovenumber 2
info nodes 648990000 nps 1172081 time 553707 hashfull 999
info nodes 650190000 nps 1172113 time 554716 hashfull 999
info nodes 651360000 nps 1172054 time 555742 hashfull 999
info nodes 652500000 nps 1171992 time 556744 hashfull 999
info nodes 653730000 nps 1172048 time 557767 hashfull 999
info nodes 654840000 nps 1171918 time 558776 hashfull 999
info nodes 656010000 nps 1171887 time 559789 hashfull 999
info nodes 657150000 nps 1171824 time 560792 hashfull 999
info nodes 658290000 nps 1171751 time 561800 hashfull 999
info nodes 659400000 nps 1171635 time 562803 hashfull 999
info nodes 660540000 nps 1171575 time 563805 hashfull 999
info nodes 661740000 nps 1171596 time 564819 hashfull 999
info nodes 662910000 nps 1171568 time 565831 hashfull 999
info currmove d8d5 currmovenumber 3
info nodes 664110000 nps 1171585 time 566847 hashfull 999
info nodes 665280000 nps 1171577 time 567850 hashfull 999
info nodes 666420000 nps 1171513 time 568854 hashfull 999
info nodes 667590000 nps 1171504 time 569857 hashfull 999
info nodes 668760000 nps 1171473 time 570871 hashfull 999
info nodes 669930000 nps 1171445 time 571883 hashfull 999
info nodes 671160000 nps 1171535 time 572889 hashfull 999
info nodes 672330000 nps 1171490 time 573910 hashfull 999
info nodes 673530000 nps 1171495 time 574932 hashfull 999
info nodes 674700000 nps 1171486 time 575935 hashfull 999
info currmove b6a4 currmovenumber 4
info nodes 675900000 nps 1171509 time 576948 hashfull 999
info nodes 677070000 nps 1171502 time 577950 hashfull 999
info nodes 678270000 nps 1171515 time 578968 hashfull 999
info nodes 679530000 nps 1171625 time 579989 hashfull 999
info nodes 680760000 nps 1171683 time 581010 hashfull 999
info nodes 681930000 nps 1171642 time 582029 hashfull 999
info nodes 683130000 nps 1171661 time 583044 hashfull 999
info currmove g8f7 currmovenumber 5
info nodes 684270000 nps 1171602 time 584046 hashfull 999
info nodes 685440000 nps 1171586 time 585053 hashfull 999
info nodes 686640000 nps 1171588 time 586076 hashfull 999
info nodes 687900000 nps 1171689 time 587100 hashfull 999
info nodes 689160000 nps 1171803 time 588119 hashfull 999
info nodes 690360000 nps 1171815 time 589137 hashfull 999
info nodes 691500000 nps 1171737 time 590149 hashfull 999
info nodes 692640000 nps 1171652 time 591165 hashfull 999
info nodes 693810000 nps 1171645 time 592167 hashfull 999
info currmove g7g6 currmovenumber 6
info nodes 695010000 nps 1171665 time 593181 hashfull 999
info currmove e7f6 currmovenumber 7
info nodes 696240000 nps 1171746 time 594190 hashfull 999
info nodes 697530000 nps 1171913 time 595206 hashfull 999
info nodes 698790000 nps 1172029 time 596222 hashfull 999
info nodes 700110000 nps 1172236 time 597243 hashfull 999
info currmove c6f3 currmovenumber 8
info nodes 701340000 nps 1172315 time 598252 hashfull 999
info nodes 702570000 nps 1172403 time 599256 hashfull 999
info nodes 703770000 nps 1172447 time 600257 hashfull 999
info nodes 705120000 nps 1172715 time 601271 hashfull 999
info nodes 706350000 nps 1172779 time 602287 hashfull 999
info currmove f5f4 currmovenumber 9
info nodes 707580000 nps 1172855 time 603297 hashfull 999
info nodes 708750000 nps 1172805 time 604320 hashfull 999
info nodes 709920000 nps 1172775 time 605333 hashfull 999
info nodes 711060000 nps 1172721 time 606333 hashfull 999
info currmove a7a5 currmovenumber 10
info nodes 712230000 nps 1172690 time 607347 hashfull 999
info nodes 713400000 nps 1172660 time 608360 hashfull 999
info nodes 714540000 nps 1172603 time 609362 hashfull 999
info nodes 715680000 nps 1172509 time 610383 hashfull 999
info currmove c6a4 currmovenumber 11
info nodes 716880000 nps 1172506 time 611408 hashfull 999
info nodes 718080000 nps 1172513 time 612428 hashfull 999
info nodes 719340000 nps 1172623 time 613445 hashfull 999
info nodes 720540000 nps 1172626 time 614467 hashfull 999
info nodes 721800000 nps 1172731 time 615486 hashfull 999
info currmove d8d4 currmovenumber 12
info nodes 723000000 nps 1172753 time 616498 hashfull 999
info nodes 724290000 nps 1172905 time 617518 hashfull 999
info currmove c6e8 currmovenumber 13
info nodes 725580000 nps 1173067 time 618531 hashfull 999
info nodes 726840000 nps 1173177 time 619548 hashfull 999
info currmove h7h6 currmovenumber 14
info currmove h7h5 currmovenumber 15
info currmove e7b4 currmovenumber 16
info nodes 728010000 nps 1173165 time 620551 hashfull 999
info nodes 729210000 nps 1173180 time 621567 hashfull 999
info currmove e7g5 currmovenumber 17
info nodes 730350000 nps 1173107 time 622577 hashfull 999
info currmove c6e4 currmovenumber 18
info currmove g8f8 currmovenumber 19
info currmove b6c4 currmovenumber 20
info currmove e7h4 currmovenumber 21
info nodes 731550000 nps 1173102 time 623603 hashfull 999
info currmove d8d7 currmovenumber 22
info currmove g7g5 currmovenumber 23
info nodes 732720000 nps 1173050 time 624628 hashfull 999
info nodes 733860000 nps 1172969 time 625643 hashfull 999
info currmove e7f8 currmovenumber 24
info currmove c8c7 currmovenumber 25
info currmove c8a8 currmovenumber 26
info nodes 735000000 nps 1172896 time 626654 hashfull 999
info currmove b6d7 currmovenumber 27
info currmove c6b5 currmovenumber 28
info currmove e7d6 currmovenumber 29
info currmove c8b8 currmovenumber 30
info nodes 736170000 nps 1172872 time 627664 hashfull 999
info currmove d8d6 currmovenumber 31
info currmove a7a6 currmovenumber 32
info currmove g8h8 currmovenumber 33
info currmove c6d5 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info currmove d8e8 currmovenumber 37
info nodes 737340000 nps 1172843 time 628677 hashfull 999
info currmove c6d7 currmovenumber 38
info currmove d8f8 currmovenumber 39
info nodes 737572099 nps 1172826 time 628884 hashfull 999
bestmove e6e5 ponder d4c5
Microsoft VC++ 32 bit build (other runs will follow shortly):

Code: Select all

info depth 21 score cp 101 time 558108 nodes 648598016 nps 1162137 pv e6e5 d4c5 b6a4 h1c1 d8d3 c5e7 d3d7 e7h4 a4b2 a3a4 b7b5 a4a5 b2d3 c1b1 c6d5 g2g4 f5g4 f3g4 e5e4 h4g3 a7a6
info currmove b6d5 currmovenumber 2
info nodes 649740000 nps 1162159 time 559079 hashfull 999
info nodes 650910000 nps 1162175 time 560079 hashfull 999
info nodes 652020000 nps 1162069 time 561085 hashfull 999
info nodes 653220000 nps 1162098 time 562104 hashfull 999
info nodes 654360000 nps 1162013 time 563126 hashfull 999
info nodes 655530000 nps 1161990 time 564144 hashfull 999
info nodes 656670000 nps 1161937 time 565151 hashfull 999
info nodes 657810000 nps 1161863 time 566168 hashfull 999
info nodes 658950000 nps 1161796 time 567182 hashfull 999
info nodes 660090000 nps 1161704 time 568208 hashfull 999
info nodes 661260000 nps 1161684 time 569225 hashfull 999
info nodes 662460000 nps 1161741 time 570230 hashfull 999
info currmove d8d5 currmovenumber 3
info nodes 663690000 nps 1161820 time 571250 hashfull 999
info nodes 664890000 nps 1161846 time 572270 hashfull 999
info nodes 666060000 nps 1161806 time 573297 hashfull 999
info nodes 667230000 nps 1161792 time 574311 hashfull 999
info nodes 668400000 nps 1161763 time 575331 hashfull 999
info nodes 669570000 nps 1161727 time 576357 hashfull 999
info nodes 670770000 nps 1161784 time 577362 hashfull 999
info nodes 671940000 nps 1161766 time 578378 hashfull 999
info nodes 673080000 nps 1161726 time 579379 hashfull 999
info nodes 674250000 nps 1161716 time 580391 hashfull 999
info currmove b6a4 currmovenumber 4
info nodes 675390000 nps 1161679 time 581391 hashfull 999
info nodes 676560000 nps 1161649 time 582413 hashfull 999
info nodes 677670000 nps 1161531 time 583428 hashfull 999
info nodes 678870000 nps 1161587 time 584433 hashfull 999
info nodes 680100000 nps 1161674 time 585448 hashfull 999
info nodes 681270000 nps 1161647 time 586468 hashfull 999
info nodes 682380000 nps 1161551 time 587472 hashfull 999
info nodes 683520000 nps 1161508 time 588476 hashfull 999
info currmove g8f7 currmovenumber 5
info nodes 684690000 nps 1161469 time 589503 hashfull 999
info nodes 685830000 nps 1161411 time 590514 hashfull 999
info nodes 687000000 nps 1161400 time 591527 hashfull 999
info nodes 688230000 nps 1161475 time 592548 hashfull 999
info nodes 689460000 nps 1161569 time 593559 hashfull 999
info nodes 690600000 nps 1161496 time 594578 hashfull 999
info nodes 691710000 nps 1161403 time 595581 hashfull 999
info nodes 692850000 nps 1161350 time 596590 hashfull 999
info nodes 694020000 nps 1161360 time 597591 hashfull 999
info currmove g7g6 currmovenumber 6
info nodes 695190000 nps 1161334 time 598613 hashfull 999
info currmove e7f6 currmovenumber 7
info nodes 696390000 nps 1161383 time 599621 hashfull 999
info nodes 697680000 nps 1161553 time 600644 hashfull 999
info nodes 698940000 nps 1161678 time 601664 hashfull 999
info nodes 700230000 nps 1161856 time 602682 hashfull 999
info currmove c6f3 currmovenumber 8
info nodes 701430000 nps 1161902 time 603691 hashfull 999
info nodes 702660000 nps 1161993 time 604702 hashfull 999
info nodes 703860000 nps 1162043 time 605709 hashfull 999
info nodes 705180000 nps 1162274 time 606724 hashfull 999
info nodes 706380000 nps 1162327 time 607729 hashfull 999
info currmove f5f4 currmovenumber 9
info nodes 707580000 nps 1162381 time 608733 hashfull 999
info nodes 708720000 nps 1162316 time 609748 hashfull 999
info nodes 709860000 nps 1162258 time 610759 hashfull 999
info nodes 711000000 nps 1162191 time 611775 hashfull 999
info currmove a7a5 currmovenumber 10
info nodes 712140000 nps 1162148 time 612779 hashfull 999
info nodes 713280000 nps 1162100 time 613785 hashfull 999
info nodes 714420000 nps 1162053 time 614791 hashfull 999
info nodes 715530000 nps 1161950 time 615801 hashfull 999
info currmove c6a4 currmovenumber 11
info nodes 716700000 nps 1161931 time 616818 hashfull 999
info nodes 717870000 nps 1161938 time 617820 hashfull 999
info nodes 719100000 nps 1162027 time 618832 hashfull 999
info nodes 720330000 nps 1162094 time 619855 hashfull 999
info nodes 721500000 nps 1162088 time 620865 hashfull 999
info nodes 722700000 nps 1162147 time 621866 hashfull 999
info currmove d8d4 currmovenumber 12
info nodes 723930000 nps 1162228 time 622881 hashfull 999
info currmove c6e8 currmovenumber 13
info nodes 725220000 nps 1162397 time 623899 hashfull 999
info nodes 726480000 nps 1162531 time 624912 hashfull 999
info currmove h7h6 currmovenumber 14
info currmove h7h5 currmovenumber 15
info currmove e7b4 currmovenumber 16
info nodes 727650000 nps 1162532 time 625918 hashfull 999
info nodes 728820000 nps 1162536 time 626922 hashfull 999
info currmove e7g5 currmovenumber 17
info nodes 729960000 nps 1162499 time 627923 hashfull 999
info currmove c6e4 currmovenumber 18
info currmove g8f8 currmovenumber 19
info currmove b6c4 currmovenumber 20
info nodes 731130000 nps 1162487 time 628936 hashfull 999
info currmove e7h4 currmovenumber 21
info currmove d8d7 currmovenumber 22
info nodes 732270000 nps 1162423 time 629951 hashfull 999
info currmove g7g5 currmovenumber 23
info nodes 733410000 nps 1162340 time 630977 hashfull 999
info currmove e7f8 currmovenumber 24
info currmove c8c7 currmovenumber 25
info nodes 734520000 nps 1162248 time 631982 hashfull 999
info currmove c8a8 currmovenumber 26
info currmove b6d7 currmovenumber 27
info currmove c6b5 currmovenumber 28
info nodes 735660000 nps 1162200 time 632989 hashfull 999
info currmove e7d6 currmovenumber 29
info currmove c8b8 currmovenumber 30
info currmove d8d6 currmovenumber 31
info currmove a7a6 currmovenumber 32
info currmove g8h8 currmovenumber 33
info nodes 736800000 nps 1162165 time 633989 hashfull 999
info currmove c6d5 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info currmove d8e8 currmovenumber 37
info currmove c6d7 currmovenumber 38
info currmove d8f8 currmovenumber 39
info nodes 737572099 nps 1162131 time 634672 hashfull 999
bestmove e6e5 ponder d4c5
JA 64 bit Intel build (other runs will follow shortly):

Code: Select all

info depth 21 score cp 84 time 440482 nodes 660551800 nps 1499604 pv e6e5 d4c5 b6a4 h1c1 a4c5 b4c5 g7g6 d2b3 c8c7 a1b1 g8g7 b3a5 e5e4 f3e4 f5e4 d3c4 e7c5 a5c6 b7c6 c1d1 d8d1 b1d1 c5a3 c4e6
info currmove d8d5 currmovenumber 2
info nodes 661920000 nps 1499666 time 441377 hashfull 1000
info nodes 663420000 nps 1499667 time 442377 hashfull 1000
info nodes 664920000 nps 1499638 time 443385 hashfull 1000
info nodes 666420000 nps 1499621 time 444391 hashfull 1000
info nodes 667890000 nps 1499545 time 445393 hashfull 1000
info nodes 669450000 nps 1499630 time 446409 hashfull 1000
info nodes 670920000 nps 1499530 time 447419 hashfull 1000
info nodes 672420000 nps 1499478 time 448434 hashfull 1000
info nodes 673860000 nps 1499332 time 449439 hashfull 1000
info nodes 675300000 nps 1499200 time 450439 hashfull 1000
info currmove b6a4 currmovenumber 3
info nodes 676830000 nps 1499209 time 451457 hashfull 1000
info nodes 678300000 nps 1499128 time 452462 hashfull 1000
info nodes 679800000 nps 1499070 time 453480 hashfull 1000
info nodes 681330000 nps 1499089 time 454494 hashfull 1000
info nodes 682920000 nps 1499275 time 455499 hashfull 1000
info nodes 684450000 nps 1499316 time 456506 hashfull 1000
info nodes 685920000 nps 1499239 time 457510 hashfull 1000
info nodes 687480000 nps 1499316 time 458528 hashfull 1000
info currmove g8f7 currmovenumber 4
info nodes 688950000 nps 1499210 time 459541 hashfull 1000
info nodes 690480000 nps 1499254 time 460547 hashfull 1000
info nodes 692130000 nps 1499532 time 461562 hashfull 1000
info nodes 693750000 nps 1499785 time 462564 hashfull 1000
info nodes 695250000 nps 1499734 time 463581 hashfull 1000
info nodes 696720000 nps 1499609 time 464600 hashfull 1000
info nodes 698160000 nps 1499416 time 465620 hashfull 1000
info nodes 699660000 nps 1499408 time 466622 hashfull 1000
info currmove b6d5 currmovenumber 5
info nodes 701250000 nps 1499563 time 467634 hashfull 1000
info nodes 702780000 nps 1499590 time 468646 hashfull 1000
info nodes 704250000 nps 1499482 time 469660 hashfull 1000
info nodes 705660000 nps 1499289 time 470661 hashfull 1000
info nodes 707010000 nps 1498960 time 471666 hashfull 1000
info nodes 708450000 nps 1498778 time 472684 hashfull 1000
info nodes 709920000 nps 1498676 time 473697 hashfull 1000
info nodes 711330000 nps 1498470 time 474702 hashfull 1000
info nodes 712710000 nps 1498193 time 475712 hashfull 1000
info currmove e7f6 currmovenumber 6
info nodes 714330000 nps 1498407 time 476725 hashfull 1000
info nodes 715950000 nps 1498605 time 477743 hashfull 1000
info nodes 717600000 nps 1498887 time 478754 hashfull 1000
info nodes 719250000 nps 1499165 time 479766 hashfull 1000
info currmove c6f3 currmovenumber 7
info nodes 720870000 nps 1499400 time 480770 hashfull 1000
info nodes 722430000 nps 1499495 time 481780 hashfull 1000
info nodes 723990000 nps 1499574 time 482796 hashfull 1000
info nodes 725640000 nps 1499826 time 483815 hashfull 1000
info nodes 727170000 nps 1499836 time 484832 hashfull 1000
info currmove f5f4 currmovenumber 8
info nodes 728700000 nps 1499836 time 485852 hashfull 1000
info nodes 730170000 nps 1499775 time 486852 hashfull 1000
info nodes 731640000 nps 1499658 time 487869 hashfull 1000
info currmove c6a4 currmovenumber 9
info nodes 733110000 nps 1499536 time 488889 hashfull 1000
info nodes 734640000 nps 1499601 time 489889 hashfull 1000
info nodes 736230000 nps 1499773 time 490892 hashfull 1000
info nodes 737760000 nps 1499823 time 491896 hashfull 1000
info nodes 739320000 nps 1499945 time 492897 hashfull 1000
info currmove d8d4 currmovenumber 10
info nodes 740880000 nps 1500045 time 493904 hashfull 1000
info nodes 742530000 nps 1500312 time 494915 hashfull 1000
info currmove e7b4 currmovenumber 11
info nodes 744090000 nps 1500417 time 495921 hashfull 1000
info currmove c6e8 currmovenumber 12
info nodes 745620000 nps 1500434 time 496935 hashfull 1000
info nodes 747180000 nps 1500515 time 497948 hashfull 1000
info nodes 748710000 nps 1500565 time 498950 hashfull 1000
info currmove e7g5 currmovenumber 13
info nodes 750210000 nps 1500516 time 499967 hashfull 1000
info currmove h7h6 currmovenumber 14
info currmove g8f8 currmovenumber 15
info currmove h7h5 currmovenumber 16
info nodes 751680000 nps 1500410 time 500982 hashfull 1000
info currmove c6e4 currmovenumber 17
info currmove a7a5 currmovenumber 18
info nodes 753180000 nps 1500403 time 501984 hashfull 1000
info currmove g7g6 currmovenumber 19
info currmove d8d7 currmovenumber 20
info nodes 754650000 nps 1500289 time 503002 hashfull 1000
info currmove b6c4 currmovenumber 21
info currmove c6b5 currmovenumber 22
info nodes 756120000 nps 1500220 time 504005 hashfull 1000
info currmove b6d7 currmovenumber 23
info currmove e7h4 currmovenumber 24
info nodes 757560000 nps 1500092 time 505007 hashfull 1000
info nodes 759030000 nps 1499991 time 506022 hashfull 1000
info nodes 760530000 nps 1499952 time 507034 hashfull 1000
info nodes 762060000 nps 1499967 time 508049 hashfull 1000
info currmove g7g5 currmovenumber 25
info currmove a7a6 currmovenumber 26
info currmove c8c7 currmovenumber 27
info currmove e7d6 currmovenumber 28
info nodes 763530000 nps 1499882 time 509059 hashfull 1000
info currmove g8h8 currmovenumber 29
info currmove c8a8 currmovenumber 30
info currmove c6d5 currmovenumber 31
info currmove c8b8 currmovenumber 32
info currmove d8d6 currmovenumber 33
info currmove d8e8 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info nodes 764970000 nps 1499723 time 510073 hashfull 1000
info currmove d8f8 currmovenumber 37
info currmove e7f8 currmovenumber 38
info currmove c6d7 currmovenumber 39
info nodes 765439188 nps 1499723 time 510388 hashfull 1000
bestmove e6e5 ponder d4c5
Dann Corbit
Posts: 12542
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by Dann Corbit »

Dann Corbit wrote:
Dann Corbit wrote:
Dann Corbit wrote:
zamar wrote:Unfortunately I'm not able to reproduce this problem in Linux.

I've access to both 32-bit & 64-bit machines and I'm using self-compiled binaries by ICC:

./stockfish
uci
setoption name Threads value 1
setoption name Hash value 512
ucinewgame
position fen 2rr2k1/pp2b1pp/1nb1p3/5p2/1P1B4/P2BPP2/3NK1PP/R6R b - - 0 1
go depth 21

Both 32-bit & 64-bit binaries give same node count:
info nodes 517025258

Maybe this has sth do with differences between MSVC/ICC?
JA 32 bit Intel build (other runs will follow shortly):

Code: Select all

info depth 21 score cp 101 time 553384 nodes 648598016 nps 1172057 pv e6e5 d4c5 b6a4 h1c1 d8d3 c5e7 d3d7 e7h4 a4b2 a3a4 b7b5 a4a5 b2d3 c1b1 c6d5 g2g4 f5g4 f3g4 e5e4 h4g3 a7a6
info currmove b6d5 currmovenumber 2
info nodes 648990000 nps 1172081 time 553707 hashfull 999
info nodes 650190000 nps 1172113 time 554716 hashfull 999
info nodes 651360000 nps 1172054 time 555742 hashfull 999
info nodes 652500000 nps 1171992 time 556744 hashfull 999
info nodes 653730000 nps 1172048 time 557767 hashfull 999
info nodes 654840000 nps 1171918 time 558776 hashfull 999
info nodes 656010000 nps 1171887 time 559789 hashfull 999
info nodes 657150000 nps 1171824 time 560792 hashfull 999
info nodes 658290000 nps 1171751 time 561800 hashfull 999
info nodes 659400000 nps 1171635 time 562803 hashfull 999
info nodes 660540000 nps 1171575 time 563805 hashfull 999
info nodes 661740000 nps 1171596 time 564819 hashfull 999
info nodes 662910000 nps 1171568 time 565831 hashfull 999
info currmove d8d5 currmovenumber 3
info nodes 664110000 nps 1171585 time 566847 hashfull 999
info nodes 665280000 nps 1171577 time 567850 hashfull 999
info nodes 666420000 nps 1171513 time 568854 hashfull 999
info nodes 667590000 nps 1171504 time 569857 hashfull 999
info nodes 668760000 nps 1171473 time 570871 hashfull 999
info nodes 669930000 nps 1171445 time 571883 hashfull 999
info nodes 671160000 nps 1171535 time 572889 hashfull 999
info nodes 672330000 nps 1171490 time 573910 hashfull 999
info nodes 673530000 nps 1171495 time 574932 hashfull 999
info nodes 674700000 nps 1171486 time 575935 hashfull 999
info currmove b6a4 currmovenumber 4
info nodes 675900000 nps 1171509 time 576948 hashfull 999
info nodes 677070000 nps 1171502 time 577950 hashfull 999
info nodes 678270000 nps 1171515 time 578968 hashfull 999
info nodes 679530000 nps 1171625 time 579989 hashfull 999
info nodes 680760000 nps 1171683 time 581010 hashfull 999
info nodes 681930000 nps 1171642 time 582029 hashfull 999
info nodes 683130000 nps 1171661 time 583044 hashfull 999
info currmove g8f7 currmovenumber 5
info nodes 684270000 nps 1171602 time 584046 hashfull 999
info nodes 685440000 nps 1171586 time 585053 hashfull 999
info nodes 686640000 nps 1171588 time 586076 hashfull 999
info nodes 687900000 nps 1171689 time 587100 hashfull 999
info nodes 689160000 nps 1171803 time 588119 hashfull 999
info nodes 690360000 nps 1171815 time 589137 hashfull 999
info nodes 691500000 nps 1171737 time 590149 hashfull 999
info nodes 692640000 nps 1171652 time 591165 hashfull 999
info nodes 693810000 nps 1171645 time 592167 hashfull 999
info currmove g7g6 currmovenumber 6
info nodes 695010000 nps 1171665 time 593181 hashfull 999
info currmove e7f6 currmovenumber 7
info nodes 696240000 nps 1171746 time 594190 hashfull 999
info nodes 697530000 nps 1171913 time 595206 hashfull 999
info nodes 698790000 nps 1172029 time 596222 hashfull 999
info nodes 700110000 nps 1172236 time 597243 hashfull 999
info currmove c6f3 currmovenumber 8
info nodes 701340000 nps 1172315 time 598252 hashfull 999
info nodes 702570000 nps 1172403 time 599256 hashfull 999
info nodes 703770000 nps 1172447 time 600257 hashfull 999
info nodes 705120000 nps 1172715 time 601271 hashfull 999
info nodes 706350000 nps 1172779 time 602287 hashfull 999
info currmove f5f4 currmovenumber 9
info nodes 707580000 nps 1172855 time 603297 hashfull 999
info nodes 708750000 nps 1172805 time 604320 hashfull 999
info nodes 709920000 nps 1172775 time 605333 hashfull 999
info nodes 711060000 nps 1172721 time 606333 hashfull 999
info currmove a7a5 currmovenumber 10
info nodes 712230000 nps 1172690 time 607347 hashfull 999
info nodes 713400000 nps 1172660 time 608360 hashfull 999
info nodes 714540000 nps 1172603 time 609362 hashfull 999
info nodes 715680000 nps 1172509 time 610383 hashfull 999
info currmove c6a4 currmovenumber 11
info nodes 716880000 nps 1172506 time 611408 hashfull 999
info nodes 718080000 nps 1172513 time 612428 hashfull 999
info nodes 719340000 nps 1172623 time 613445 hashfull 999
info nodes 720540000 nps 1172626 time 614467 hashfull 999
info nodes 721800000 nps 1172731 time 615486 hashfull 999
info currmove d8d4 currmovenumber 12
info nodes 723000000 nps 1172753 time 616498 hashfull 999
info nodes 724290000 nps 1172905 time 617518 hashfull 999
info currmove c6e8 currmovenumber 13
info nodes 725580000 nps 1173067 time 618531 hashfull 999
info nodes 726840000 nps 1173177 time 619548 hashfull 999
info currmove h7h6 currmovenumber 14
info currmove h7h5 currmovenumber 15
info currmove e7b4 currmovenumber 16
info nodes 728010000 nps 1173165 time 620551 hashfull 999
info nodes 729210000 nps 1173180 time 621567 hashfull 999
info currmove e7g5 currmovenumber 17
info nodes 730350000 nps 1173107 time 622577 hashfull 999
info currmove c6e4 currmovenumber 18
info currmove g8f8 currmovenumber 19
info currmove b6c4 currmovenumber 20
info currmove e7h4 currmovenumber 21
info nodes 731550000 nps 1173102 time 623603 hashfull 999
info currmove d8d7 currmovenumber 22
info currmove g7g5 currmovenumber 23
info nodes 732720000 nps 1173050 time 624628 hashfull 999
info nodes 733860000 nps 1172969 time 625643 hashfull 999
info currmove e7f8 currmovenumber 24
info currmove c8c7 currmovenumber 25
info currmove c8a8 currmovenumber 26
info nodes 735000000 nps 1172896 time 626654 hashfull 999
info currmove b6d7 currmovenumber 27
info currmove c6b5 currmovenumber 28
info currmove e7d6 currmovenumber 29
info currmove c8b8 currmovenumber 30
info nodes 736170000 nps 1172872 time 627664 hashfull 999
info currmove d8d6 currmovenumber 31
info currmove a7a6 currmovenumber 32
info currmove g8h8 currmovenumber 33
info currmove c6d5 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info currmove d8e8 currmovenumber 37
info nodes 737340000 nps 1172843 time 628677 hashfull 999
info currmove c6d7 currmovenumber 38
info currmove d8f8 currmovenumber 39
info nodes 737572099 nps 1172826 time 628884 hashfull 999
bestmove e6e5 ponder d4c5
Microsoft VC++ 32 bit build (other runs will follow shortly):

Code: Select all

info depth 21 score cp 101 time 558108 nodes 648598016 nps 1162137 pv e6e5 d4c5 b6a4 h1c1 d8d3 c5e7 d3d7 e7h4 a4b2 a3a4 b7b5 a4a5 b2d3 c1b1 c6d5 g2g4 f5g4 f3g4 e5e4 h4g3 a7a6
info currmove b6d5 currmovenumber 2
info nodes 649740000 nps 1162159 time 559079 hashfull 999
info nodes 650910000 nps 1162175 time 560079 hashfull 999
info nodes 652020000 nps 1162069 time 561085 hashfull 999
info nodes 653220000 nps 1162098 time 562104 hashfull 999
info nodes 654360000 nps 1162013 time 563126 hashfull 999
info nodes 655530000 nps 1161990 time 564144 hashfull 999
info nodes 656670000 nps 1161937 time 565151 hashfull 999
info nodes 657810000 nps 1161863 time 566168 hashfull 999
info nodes 658950000 nps 1161796 time 567182 hashfull 999
info nodes 660090000 nps 1161704 time 568208 hashfull 999
info nodes 661260000 nps 1161684 time 569225 hashfull 999
info nodes 662460000 nps 1161741 time 570230 hashfull 999
info currmove d8d5 currmovenumber 3
info nodes 663690000 nps 1161820 time 571250 hashfull 999
info nodes 664890000 nps 1161846 time 572270 hashfull 999
info nodes 666060000 nps 1161806 time 573297 hashfull 999
info nodes 667230000 nps 1161792 time 574311 hashfull 999
info nodes 668400000 nps 1161763 time 575331 hashfull 999
info nodes 669570000 nps 1161727 time 576357 hashfull 999
info nodes 670770000 nps 1161784 time 577362 hashfull 999
info nodes 671940000 nps 1161766 time 578378 hashfull 999
info nodes 673080000 nps 1161726 time 579379 hashfull 999
info nodes 674250000 nps 1161716 time 580391 hashfull 999
info currmove b6a4 currmovenumber 4
info nodes 675390000 nps 1161679 time 581391 hashfull 999
info nodes 676560000 nps 1161649 time 582413 hashfull 999
info nodes 677670000 nps 1161531 time 583428 hashfull 999
info nodes 678870000 nps 1161587 time 584433 hashfull 999
info nodes 680100000 nps 1161674 time 585448 hashfull 999
info nodes 681270000 nps 1161647 time 586468 hashfull 999
info nodes 682380000 nps 1161551 time 587472 hashfull 999
info nodes 683520000 nps 1161508 time 588476 hashfull 999
info currmove g8f7 currmovenumber 5
info nodes 684690000 nps 1161469 time 589503 hashfull 999
info nodes 685830000 nps 1161411 time 590514 hashfull 999
info nodes 687000000 nps 1161400 time 591527 hashfull 999
info nodes 688230000 nps 1161475 time 592548 hashfull 999
info nodes 689460000 nps 1161569 time 593559 hashfull 999
info nodes 690600000 nps 1161496 time 594578 hashfull 999
info nodes 691710000 nps 1161403 time 595581 hashfull 999
info nodes 692850000 nps 1161350 time 596590 hashfull 999
info nodes 694020000 nps 1161360 time 597591 hashfull 999
info currmove g7g6 currmovenumber 6
info nodes 695190000 nps 1161334 time 598613 hashfull 999
info currmove e7f6 currmovenumber 7
info nodes 696390000 nps 1161383 time 599621 hashfull 999
info nodes 697680000 nps 1161553 time 600644 hashfull 999
info nodes 698940000 nps 1161678 time 601664 hashfull 999
info nodes 700230000 nps 1161856 time 602682 hashfull 999
info currmove c6f3 currmovenumber 8
info nodes 701430000 nps 1161902 time 603691 hashfull 999
info nodes 702660000 nps 1161993 time 604702 hashfull 999
info nodes 703860000 nps 1162043 time 605709 hashfull 999
info nodes 705180000 nps 1162274 time 606724 hashfull 999
info nodes 706380000 nps 1162327 time 607729 hashfull 999
info currmove f5f4 currmovenumber 9
info nodes 707580000 nps 1162381 time 608733 hashfull 999
info nodes 708720000 nps 1162316 time 609748 hashfull 999
info nodes 709860000 nps 1162258 time 610759 hashfull 999
info nodes 711000000 nps 1162191 time 611775 hashfull 999
info currmove a7a5 currmovenumber 10
info nodes 712140000 nps 1162148 time 612779 hashfull 999
info nodes 713280000 nps 1162100 time 613785 hashfull 999
info nodes 714420000 nps 1162053 time 614791 hashfull 999
info nodes 715530000 nps 1161950 time 615801 hashfull 999
info currmove c6a4 currmovenumber 11
info nodes 716700000 nps 1161931 time 616818 hashfull 999
info nodes 717870000 nps 1161938 time 617820 hashfull 999
info nodes 719100000 nps 1162027 time 618832 hashfull 999
info nodes 720330000 nps 1162094 time 619855 hashfull 999
info nodes 721500000 nps 1162088 time 620865 hashfull 999
info nodes 722700000 nps 1162147 time 621866 hashfull 999
info currmove d8d4 currmovenumber 12
info nodes 723930000 nps 1162228 time 622881 hashfull 999
info currmove c6e8 currmovenumber 13
info nodes 725220000 nps 1162397 time 623899 hashfull 999
info nodes 726480000 nps 1162531 time 624912 hashfull 999
info currmove h7h6 currmovenumber 14
info currmove h7h5 currmovenumber 15
info currmove e7b4 currmovenumber 16
info nodes 727650000 nps 1162532 time 625918 hashfull 999
info nodes 728820000 nps 1162536 time 626922 hashfull 999
info currmove e7g5 currmovenumber 17
info nodes 729960000 nps 1162499 time 627923 hashfull 999
info currmove c6e4 currmovenumber 18
info currmove g8f8 currmovenumber 19
info currmove b6c4 currmovenumber 20
info nodes 731130000 nps 1162487 time 628936 hashfull 999
info currmove e7h4 currmovenumber 21
info currmove d8d7 currmovenumber 22
info nodes 732270000 nps 1162423 time 629951 hashfull 999
info currmove g7g5 currmovenumber 23
info nodes 733410000 nps 1162340 time 630977 hashfull 999
info currmove e7f8 currmovenumber 24
info currmove c8c7 currmovenumber 25
info nodes 734520000 nps 1162248 time 631982 hashfull 999
info currmove c8a8 currmovenumber 26
info currmove b6d7 currmovenumber 27
info currmove c6b5 currmovenumber 28
info nodes 735660000 nps 1162200 time 632989 hashfull 999
info currmove e7d6 currmovenumber 29
info currmove c8b8 currmovenumber 30
info currmove d8d6 currmovenumber 31
info currmove a7a6 currmovenumber 32
info currmove g8h8 currmovenumber 33
info nodes 736800000 nps 1162165 time 633989 hashfull 999
info currmove c6d5 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info currmove d8e8 currmovenumber 37
info currmove c6d7 currmovenumber 38
info currmove d8f8 currmovenumber 39
info nodes 737572099 nps 1162131 time 634672 hashfull 999
bestmove e6e5 ponder d4c5
JA 64 bit Intel build (other runs will follow shortly):

Code: Select all

info depth 21 score cp 84 time 440482 nodes 660551800 nps 1499604 pv e6e5 d4c5 b6a4 h1c1 a4c5 b4c5 g7g6 d2b3 c8c7 a1b1 g8g7 b3a5 e5e4 f3e4 f5e4 d3c4 e7c5 a5c6 b7c6 c1d1 d8d1 b1d1 c5a3 c4e6
info currmove d8d5 currmovenumber 2
info nodes 661920000 nps 1499666 time 441377 hashfull 1000
info nodes 663420000 nps 1499667 time 442377 hashfull 1000
info nodes 664920000 nps 1499638 time 443385 hashfull 1000
info nodes 666420000 nps 1499621 time 444391 hashfull 1000
info nodes 667890000 nps 1499545 time 445393 hashfull 1000
info nodes 669450000 nps 1499630 time 446409 hashfull 1000
info nodes 670920000 nps 1499530 time 447419 hashfull 1000
info nodes 672420000 nps 1499478 time 448434 hashfull 1000
info nodes 673860000 nps 1499332 time 449439 hashfull 1000
info nodes 675300000 nps 1499200 time 450439 hashfull 1000
info currmove b6a4 currmovenumber 3
info nodes 676830000 nps 1499209 time 451457 hashfull 1000
info nodes 678300000 nps 1499128 time 452462 hashfull 1000
info nodes 679800000 nps 1499070 time 453480 hashfull 1000
info nodes 681330000 nps 1499089 time 454494 hashfull 1000
info nodes 682920000 nps 1499275 time 455499 hashfull 1000
info nodes 684450000 nps 1499316 time 456506 hashfull 1000
info nodes 685920000 nps 1499239 time 457510 hashfull 1000
info nodes 687480000 nps 1499316 time 458528 hashfull 1000
info currmove g8f7 currmovenumber 4
info nodes 688950000 nps 1499210 time 459541 hashfull 1000
info nodes 690480000 nps 1499254 time 460547 hashfull 1000
info nodes 692130000 nps 1499532 time 461562 hashfull 1000
info nodes 693750000 nps 1499785 time 462564 hashfull 1000
info nodes 695250000 nps 1499734 time 463581 hashfull 1000
info nodes 696720000 nps 1499609 time 464600 hashfull 1000
info nodes 698160000 nps 1499416 time 465620 hashfull 1000
info nodes 699660000 nps 1499408 time 466622 hashfull 1000
info currmove b6d5 currmovenumber 5
info nodes 701250000 nps 1499563 time 467634 hashfull 1000
info nodes 702780000 nps 1499590 time 468646 hashfull 1000
info nodes 704250000 nps 1499482 time 469660 hashfull 1000
info nodes 705660000 nps 1499289 time 470661 hashfull 1000
info nodes 707010000 nps 1498960 time 471666 hashfull 1000
info nodes 708450000 nps 1498778 time 472684 hashfull 1000
info nodes 709920000 nps 1498676 time 473697 hashfull 1000
info nodes 711330000 nps 1498470 time 474702 hashfull 1000
info nodes 712710000 nps 1498193 time 475712 hashfull 1000
info currmove e7f6 currmovenumber 6
info nodes 714330000 nps 1498407 time 476725 hashfull 1000
info nodes 715950000 nps 1498605 time 477743 hashfull 1000
info nodes 717600000 nps 1498887 time 478754 hashfull 1000
info nodes 719250000 nps 1499165 time 479766 hashfull 1000
info currmove c6f3 currmovenumber 7
info nodes 720870000 nps 1499400 time 480770 hashfull 1000
info nodes 722430000 nps 1499495 time 481780 hashfull 1000
info nodes 723990000 nps 1499574 time 482796 hashfull 1000
info nodes 725640000 nps 1499826 time 483815 hashfull 1000
info nodes 727170000 nps 1499836 time 484832 hashfull 1000
info currmove f5f4 currmovenumber 8
info nodes 728700000 nps 1499836 time 485852 hashfull 1000
info nodes 730170000 nps 1499775 time 486852 hashfull 1000
info nodes 731640000 nps 1499658 time 487869 hashfull 1000
info currmove c6a4 currmovenumber 9
info nodes 733110000 nps 1499536 time 488889 hashfull 1000
info nodes 734640000 nps 1499601 time 489889 hashfull 1000
info nodes 736230000 nps 1499773 time 490892 hashfull 1000
info nodes 737760000 nps 1499823 time 491896 hashfull 1000
info nodes 739320000 nps 1499945 time 492897 hashfull 1000
info currmove d8d4 currmovenumber 10
info nodes 740880000 nps 1500045 time 493904 hashfull 1000
info nodes 742530000 nps 1500312 time 494915 hashfull 1000
info currmove e7b4 currmovenumber 11
info nodes 744090000 nps 1500417 time 495921 hashfull 1000
info currmove c6e8 currmovenumber 12
info nodes 745620000 nps 1500434 time 496935 hashfull 1000
info nodes 747180000 nps 1500515 time 497948 hashfull 1000
info nodes 748710000 nps 1500565 time 498950 hashfull 1000
info currmove e7g5 currmovenumber 13
info nodes 750210000 nps 1500516 time 499967 hashfull 1000
info currmove h7h6 currmovenumber 14
info currmove g8f8 currmovenumber 15
info currmove h7h5 currmovenumber 16
info nodes 751680000 nps 1500410 time 500982 hashfull 1000
info currmove c6e4 currmovenumber 17
info currmove a7a5 currmovenumber 18
info nodes 753180000 nps 1500403 time 501984 hashfull 1000
info currmove g7g6 currmovenumber 19
info currmove d8d7 currmovenumber 20
info nodes 754650000 nps 1500289 time 503002 hashfull 1000
info currmove b6c4 currmovenumber 21
info currmove c6b5 currmovenumber 22
info nodes 756120000 nps 1500220 time 504005 hashfull 1000
info currmove b6d7 currmovenumber 23
info currmove e7h4 currmovenumber 24
info nodes 757560000 nps 1500092 time 505007 hashfull 1000
info nodes 759030000 nps 1499991 time 506022 hashfull 1000
info nodes 760530000 nps 1499952 time 507034 hashfull 1000
info nodes 762060000 nps 1499967 time 508049 hashfull 1000
info currmove g7g5 currmovenumber 25
info currmove a7a6 currmovenumber 26
info currmove c8c7 currmovenumber 27
info currmove e7d6 currmovenumber 28
info nodes 763530000 nps 1499882 time 509059 hashfull 1000
info currmove g8h8 currmovenumber 29
info currmove c8a8 currmovenumber 30
info currmove c6d5 currmovenumber 31
info currmove c8b8 currmovenumber 32
info currmove d8d6 currmovenumber 33
info currmove d8e8 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info nodes 764970000 nps 1499723 time 510073 hashfull 1000
info currmove d8f8 currmovenumber 37
info currmove e7f8 currmovenumber 38
info currmove c6d7 currmovenumber 39
info nodes 765439188 nps 1499723 time 510388 hashfull 1000
bestmove e6e5 ponder d4c5
Microsoft VC++ 64 bit build:

Code: Select all

info depth 21 score cp 101 time 445832 nodes 648598017 nps 1454803 pv e6e5 d4c5 b6a4 h1c1 d8d3 c5e7 d3d7 e7h4 a4b2 a3a4 b7b5 a4a5 b2d3 c1b1 c6d5 g2g4 f5g4 f3g4 e5e4 h4g3 a7a6
info currmove b6d5 currmovenumber 2
info nodes 649410000 nps 1454862 time 446372 hashfull 999
info nodes 650880000 nps 1454831 time 447392 hashfull 999
info nodes 652290000 nps 1454676 time 448409 hashfull 999
info nodes 653790000 nps 1454719 time 449427 hashfull 999
info nodes 655170000 nps 1454553 time 450427 hashfull 999
info nodes 656610000 nps 1454520 time 451427 hashfull 999
info nodes 658020000 nps 1454364 time 452445 hashfull 999
info nodes 659430000 nps 1454241 time 453453 hashfull 999
info nodes 660870000 nps 1454155 time 454470 hashfull 999
info nodes 662340000 nps 1454183 time 455472 hashfull 999
info currmove d8d5 currmovenumber 3
info nodes 663840000 nps 1454249 time 456483 hashfull 999
info nodes 665310000 nps 1454264 time 457489 hashfull 999
info nodes 666750000 nps 1454227 time 458491 hashfull 999
info nodes 668190000 nps 1454189 time 459493 hashfull 999
info nodes 669630000 nps 1454108 time 460509 hashfull 999
info nodes 671130000 nps 1454192 time 461514 hashfull 999
info nodes 672570000 nps 1454145 time 462519 hashfull 999
info nodes 674010000 nps 1454058 time 463537 hashfull 999
info currmove b6a4 currmovenumber 4
info nodes 675480000 nps 1454033 time 464556 hashfull 999
info nodes 676950000 nps 1454008 time 465575 hashfull 999
info nodes 678420000 nps 1454030 time 466579 hashfull 999
info nodes 679980000 nps 1454200 time 467597 hashfull 999
info nodes 681420000 nps 1454148 time 468604 hashfull 999
info nodes 682860000 nps 1454109 time 469607 hashfull 999
info currmove g8f7 currmovenumber 5
info nodes 684300000 nps 1454033 time 470622 hashfull 999
info nodes 685740000 nps 1454003 time 471622 hashfull 999
info nodes 687240000 nps 1454042 time 472641 hashfull 999
info nodes 688800000 nps 1454229 time 473653 hashfull 999
info nodes 690300000 nps 1454282 time 474667 hashfull 999
info nodes 691710000 nps 1454134 time 475685 hashfull 999
info nodes 693150000 nps 1454080 time 476693 hashfull 999
info currmove g7g6 currmovenumber 6
info nodes 694620000 nps 1454092 time 477700 hashfull 999
info currmove e7f6 currmovenumber 7
info nodes 696120000 nps 1454155 time 478711 hashfull 999
info nodes 697710000 nps 1454398 time 479724 hashfull 999
info nodes 699300000 nps 1454644 time 480736 hashfull 999
info currmove c6f3 currmovenumber 8
info nodes 700860000 nps 1454823 time 481749 hashfull 999
info nodes 702420000 nps 1454999 time 482763 hashfull 999
info nodes 703920000 nps 1455089 time 483764 hashfull 999
info nodes 705540000 nps 1455387 time 484778 hashfull 999
info nodes 707010000 nps 1455408 time 485781 hashfull 999
info currmove f5f4 currmovenumber 9
info nodes 708480000 nps 1455414 time 486789 hashfull 999
info nodes 709920000 nps 1455341 time 487803 hashfull 999
info nodes 711360000 nps 1455250 time 488823 hashfull 999
info currmove a7a5 currmovenumber 10
info nodes 712800000 nps 1455172 time 489839 hashfull 999
info nodes 714270000 nps 1455154 time 490855 hashfull 999
info nodes 715680000 nps 1455021 time 491869 hashfull 999
info currmove c6a4 currmovenumber 11
info nodes 717150000 nps 1454992 time 492889 hashfull 999
info nodes 718680000 nps 1455103 time 493903 hashfull 999
info nodes 720210000 nps 1455207 time 494919 hashfull 999
info nodes 721710000 nps 1455271 time 495928 hashfull 999
info currmove d8d4 currmovenumber 12
info nodes 723210000 nps 1455309 time 496946 hashfull 999
info nodes 724800000 nps 1455567 time 497950 hashfull 999
info currmove c6e8 currmovenumber 13
info nodes 726360000 nps 1455736 time 498964 hashfull 999
info currmove h7h6 currmovenumber 14
info currmove h7h5 currmovenumber 15
info currmove e7b4 currmovenumber 16
info nodes 727830000 nps 1455726 time 499977 hashfull 999
info nodes 729300000 nps 1455738 time 500983 hashfull 999
info currmove e7g5 currmovenumber 17
info currmove c6e4 currmovenumber 18
info nodes 730710000 nps 1455638 time 501986 hashfull 999
info currmove g8f8 currmovenumber 19
info currmove b6c4 currmovenumber 20
info currmove e7h4 currmovenumber 21
info currmove d8d7 currmovenumber 22
info nodes 732150000 nps 1455549 time 503006 hashfull 999
info currmove g7g5 currmovenumber 23
info nodes 733560000 nps 1455418 time 504020 hashfull 999
info currmove e7f8 currmovenumber 24
info currmove c8c7 currmovenumber 25
info currmove c8a8 currmovenumber 26
info nodes 734970000 nps 1455282 time 505036 hashfull 999
info currmove b6d7 currmovenumber 27
info currmove c6b5 currmovenumber 28
info currmove e7d6 currmovenumber 29
info currmove c8b8 currmovenumber 30
info currmove d8d6 currmovenumber 31
info nodes 736410000 nps 1455209 time 506051 hashfull 999
info currmove a7a6 currmovenumber 32
info currmove g8h8 currmovenumber 33
info currmove c6d5 currmovenumber 34
info currmove b6a8 currmovenumber 35
info currmove e7c5 currmovenumber 36
info currmove d8e8 currmovenumber 37
info currmove c6d7 currmovenumber 38
info currmove d8f8 currmovenumber 39
info nodes 737572100 nps 1455107 time 506885 hashfull 999
bestmove e6e5 ponder d4c5
Interesting that the two 32 bit builds agreed, but the 64 bit builds did not agree with the 32 bit builds or with each other.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by mcostalba »

Ok, I have verified on Linux and on Windows.


TEST command:

./stockfish bench 128 1 12 default depth

Output is the cumulative node count on 16 positions searched at depth 12 with 1 thread only.


Linux

Using std::sort()
19213752 (gcc and icc)

Using std::stable_sort()
22205054 (gcc and icc)



Windows

Using std::sort()
20880860 (MSVC)

Using std::stable_sort()
22205054 (MSVC)


So here are the conclusions:

1) It is verified that the difference in output is given by std::sort() that is not stable and can vary among implementors. In our case Microsoft implementation of std::sort() differs from gcc one.

2) It is verified that using instead std::stable_sort(), that leaves no freedom in its specification, results are the same both using Microsoft or gcc STL implementations.

3) Jim used different STL libraries (Microsoft and Intel?) for the two compiles and this explains why results are different.


IMHO this is _not_ a bug and we can leave with this at least for the very soon to be released 1.5.1 (that fixes Chess960)

I will test in the new development cycle using std::stable_sort() instead of std::sort() and see if and how much performance regression we have in quantitative terms. We will need to do real games because simple speed tests when node count differs are not reliable.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by mcostalba »

Dann Corbit wrote: Interesting that the two 32 bit builds agreed, but the 64 bit builds did not agree with the 32 bit builds or with each other.
Perhaps you used the same compiler version for the 32 bit compile and a different version (with a different library) for the 64 bit compile.
User avatar
Eelco de Groot
Posts: 4567
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by Eelco de Groot »

mcostalba wrote:Ok, I have verified on Linux and on Windows.

TEST command:

./stockfish bench 128 1 12 default depth

Output is the cumulative node count on 16 positions searched at depth 12 with 1 thread only.


Linux

Using std::sort()
19213752 (gcc and icc)

Using std::stable_sort()
22205054 (gcc and icc)

Windows

Using std::sort()
20880860 (MSVC)

Using std::stable_sort()
22205054 (MSVC)
Hello Marco,

Is this not a very strange result? How can a sorting routine even when "unstable" give lower node-counts in a supposedly deterministic setting like here? Does it "forget" some moves so it's like a form of Late Move Reductions? And is it desirable to have such possibly non-deterministic, hidden behaviour that you can't read in the sources (Rhetoric question, answer is NO!) Or does std::sort() have round off errors of some sort so the ordering is different, and would it not be possible to write your own ordering routine that mimics some of the rounding off, that apparently increases efficiency? I still would not want to use it if the effect is not deterministic anymore in a single threaded chessprogram. Never.

If std::sort() introduces these kind of effects in a program, any program, what programmer would EVER want to use the Standard Libraries again? Just think of the liability issues this introduces. "Sorry we could not intercept those Iraqi SCUD missiles because of issues with std::sort() in the missile guidance systems, some of the incoming projectiles were overlooked. We are not liable for any errors in the Microsoft Standard Library"

Regards, Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish 1.5 64-bit and 32-bit do not behave the same.

Post by mcostalba »

Eelco de Groot wrote:"Sorry we could not intercept those Iraqi SCUD missiles because of issues with std::sort() in the missile guidance systems, some of the incoming projectiles were overlooked. We are not liable for any errors in the Microsoft Standard Library"

Regards, Eelco
:-) :-) :-)

Ok, perhaps I need to spend few more words on what it mens unstable sort.

A sort algorith is said to be 'unstable' when the order of _equal_ scored items is not guaranteed to be preserved.

As example if I have the following move sequence with corresponding score:

a4 (126), b5(200), Nxf3(80), Rg5 (126)

A 'stable' sort will _always_ output the following sequence:

b5, a4, Rg5, Nxf3

Instead a not stable sorting alghoritm will output one of the two possible sequences:

b5, a4, Rg5, Nxf3

or

b5, Rg5, a4, Nxf3

Any of the two last sequences is acceptable according to the standard std::sort() and which one of the two is implementation dependent, but the standard does not mandate any of the two. Instead std::stable_sort() will always output the first sequence for any library standard compliant.