Stockfish 2.2.1 running for the IPON

Discussion of computer chess matches and engine tournaments.

Moderator: Ras

User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 12:00 pm
Location: Slovakia, EU

Re: Critter 1.4 time losses ...

Post by rvida »

rvida wrote:
IWB wrote: That would be a pritty good explenaition. The engine comes back with an ponderhit in 0 time, Critter misses that (for whatever reason) , both engines are ponderng now, time is running out and the GUI makes it a time loss without any crash ... and the Ponder off lists will never experience this problem ... makes sense to me ...

Bye
Ingo
Good hypothesis, makes sense. I am going to run some test to simulate this.
Now I can confirm that this scenario indeed causes problems. It is a concurrency issue between I/O thread and thinking thread. I went few versions back and found out that the bug first appeared in version 0.90. Strange nobody noticed this.

It is quite easy to demonstrate the issue when running from command line. The following case works because there is a 1ms delay (the "wait 1" non-uci command):

Code: Select all

critter.exe uci;setoption name threads value 1;setoption name ownbook value false;ucinewgame;go wtime 1000 btime 1000 ponder;wait 1;ponderhit
Without the delay the engine does nothing because the search is stopped before it has started:

Code: Select all

critter.exe uci;setoption name threads value 1;setoption name ownbook value false;ucinewgame;go wtime 1000 btime 1000 ponder;ponderhit
Last edited by rvida on Sat Jan 07, 2012 4:00 pm, edited 1 time in total.
IWB
Posts: 1539
Joined: Thu Mar 09, 2006 2:02 pm

Re: Critter 1.4 time losses ...

Post by IWB »

rvida wrote:

Good hypothesis, makes sense. I am going to run some test to simulate this.

Now I can confirm that this scenario indeed causes problems.
OK, does this mean there will be a Critter 1.4.1 soon? :-)

Bye
Ingo
IWB
Posts: 1539
Joined: Thu Mar 09, 2006 2:02 pm

Re: Critter 1.4 time losses ...

Post by IWB »

rvida wrote: I went few versions back and found out that the bug first appeared in version 0.90. Strange nobody noticed this.
That is hard to spot. Have a look at my Critter Statistics for time losses:

Image

That are ALL games with losses on time where Critter is involved, but not nessesarily lost on time ...

Nonetheless, if anyhting it would be introduced in 1.01 and even there, 13 games out of 2800 or 0.46% ... actually I don't give a **** for it :-)

But now, with a very fast Stockfish it is clearly visible ...

Bye
Ingo
Engin
Posts: 1001
Joined: Mon Jan 05, 2009 7:40 pm
Location: Germany
Full name: Engin Üstün

Re: Stockfish 2.2.1 running for the IPON

Post by Engin »

IWB wrote:Hello Engine,

Engin wrote:its always not possible to download the games from your site to check it by my self, i emailed you one time to send me the pgn file, but you dont response so far to me, why ?
I did respond in a email send out at 26.10.21011 @ 22.33 but never heard again from you .... I will resend it to your gmx address. (Please tell me if it arives this time - you should check the spam filters of GMX, I dont like them at all!)

Regarding the time losses. My list is accepting time losses as they are part of the engine ... if I have such an obvious problem as e.g. Stockfish 2.2, where while I am running the test the programmers already react AND it is already clear that there will be anewer version soon AND the new version is worse than the presessor because of the bug, than I use some comon sense and hesitate to include the "faulty" engine.

Stockfish 2.2 was on a 5.x% time loss rate at 5 + 3. I am 100% sure that there is no other engine in my list with that rate, but I will check for Tornado today and come back to you with the result.

BYe
Ingo
oh i am sorry, but i had not see or became such response from you.
must be detect has a spam from gmx or something.

but neverless i dont have the games, or dont know where i can download this.
Tomcass
Posts: 786
Joined: Sun Apr 16, 2006 9:09 pm

Re: Stockfish 2.2.1 running for the IPON

Post by Tomcass »

Book: HS Masterbook 3.1
204 games at Time Control: 2 minutes + 1 sec/game.
Ponder: Off
4 cores. No HT
No Nalimov, Gaviota, Robbo or Triple Bases.

Stockfish 2.2.1 JA 64bit(x4) - Critter 1.4 64-bit SSE4(x4) 22.5 - 28.5 +7/=31/-13 44.12%
Stockfish 2.2.1 JA 64bit(x4) - Deep Rybka 4.1 SSE42 x64(x4) 23.0 - 28.0 +8/=30/-13 45.10%
Stockfish 2.2.1 JA 64bit(x4) - Houdini 2.0c Pro x64(x4) 19.0 - 32.0 +6/=26/-19 37.25%
Stockfish 2.2.1 JA 64bit(x4) - Ivanhoe B46e x64(x4)PP LP 26.0 - 25.0 +10/=32/-9 50.98%

Regards from Barcelona.

Tom.
MM
Posts: 766
Joined: Sun Oct 16, 2011 11:25 am

Re: Stockfish 2.2.1 running for the IPON

Post by MM »

Tomcass wrote:Book: HS Masterbook 3.1
204 games at Time Control: 2 minutes + 1 sec/game.
Ponder: Off
4 cores. No HT
No Nalimov, Gaviota, Robbo or Triple Bases.

Stockfish 2.2.1 JA 64bit(x4) - Critter 1.4 64-bit SSE4(x4) 22.5 - 28.5 +7/=31/-13 44.12%
Stockfish 2.2.1 JA 64bit(x4) - Deep Rybka 4.1 SSE42 x64(x4) 23.0 - 28.0 +8/=30/-13 45.10%
Stockfish 2.2.1 JA 64bit(x4) - Houdini 2.0c Pro x64(x4) 19.0 - 32.0 +6/=26/-19 37.25%
Stockfish 2.2.1 JA 64bit(x4) - Ivanhoe B46e x64(x4)PP LP 26.0 - 25.0 +10/=32/-9 50.98%

Regards from Barcelona.

Tom.
Thank you,

may i ask you how many moves is long the opening book?

Regards
MM
Tomcass
Posts: 786
Joined: Sun Apr 16, 2006 9:09 pm

Re: Stockfish 2.2.1 running for the IPON

Post by Tomcass »

In my tests I do not limit the number of moves of the book, Maurizio.

Kind regards,

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

Re: Critter 1.4 time losses ...

Post by mcostalba »

rvida wrote: Without the delay the engine does nothing because the search is stopped before it has started:
But why when you receive a ponder hit you don't simply switch to normal search ? SF stops on ponder hit only if the flag stopOnPonderhit is raised.

Just curious.
User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 12:00 pm
Location: Slovakia, EU

Re: Critter 1.4 time losses ...

Post by rvida »

mcostalba wrote:
rvida wrote: Without the delay the engine does nothing because the search is stopped before it has started:
But why when you receive a ponder hit you don't simply switch to normal search ? SF stops on ponder hit only if the flag stopOnPonderhit is raised.

Just curious.
I do...

But there is a case when 'go ponder' command signals the "thinking" thread that we've got I job, but before the OS scheduler wakes the thread we already cancel the request because of a subsequent ponderhit :(
User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 12:00 pm
Location: Slovakia, EU

Re: Critter 1.4 time losses ...

Post by rvida »

rvida wrote:
mcostalba wrote:
rvida wrote: Without the delay the engine does nothing because the search is stopped before it has started:
But why when you receive a ponder hit you don't simply switch to normal search ? SF stops on ponder hit only if the flag stopOnPonderhit is raised.

Just curious.
I do...

But there is a case when 'go ponder' command signals the "thinking" thread that we've got I job, but before the OS scheduler wakes the thread we already cancel the request because of a subsequent ponderhit :(
Btw it is hard to explain (at least for me with my poor english) without giving out my source code...

Now I've got an idea... If you are interested enough, we can exchange our source codes ;). (I already have the sources of SF 2.0 but I am ready for an upgrade)
I can send you my sources in the hope that we can share in the spirit of Fabien's "readme.txt" :)
Anyway, I have decided to launch a new initiative. What's more boring
than reading one's own code at 3am tracking down a bug that might not
even exist, know what I mean? I have the solution: let's fix
each others bugs!

The new operation is called "Fix my Bugs and I Fix Yours!" (patent
pending). It works as follows:

1) You fix one of my bugs (excluding null move) before 2005/09/01
00:00 UTC (the acronym that does not mean anything in either
English or French, so that both parties are equally disappointed).

2) I select the most artistic bug fix after the date limit. A jury
will be nominated if necessary.

3) I fix a bug of your choice in your program (excluding "it plays bad
moves"), it's that simple!