I forgot to mention Chispa as Linux engine in this range. Very solid and stable too.
Phalanx is great!
I needed to change the code to improve time management at fast speed. I basically removed some zeros. Search for /*0*/ in this piece of code from levels.c
/* MAB: commented out a zero in the next lines */
if( Flag.ponder ) T2 += T2/8;
if( Flag.increment==0 && Flag.level==timecontrol )
{
if( Time<150/*0*/ ) T2 -= T2/2;
else if( Time<600/*0*/ ) T2 -= T2/4;
}
if( Flag.post && Flag.xboard<2 )
printf( " -> soft time limit %g s\n",
((float)T2) / (float)100 );
/*** Now, set up the hard limit ***/
if( Time < 150/*0*/) Flag.centiseconds = Time/(moves+1)*3;
else if( Time < 300/*0*/) Flag.centiseconds = Time/(moves+1)*6;
else if( Time < 600/*0*/) Flag.centiseconds = Time/(moves+1)*12;
else Flag.centiseconds = Time/(moves+1)*18;
As you can see, I struggled to get enough engines at this level that can play fast. I needed to go and deal with the source code of a couple of engines, which I certainly do not like to do.
Miguel
OliThink 5 is too strong, and 4 gives me illegal moves.
Beowolf hangs.
Resp doesn't compile with GCC 4 (too many errors to fix).
gnuchess refuses to make moves this fast...
Witz I decided to skip since I already have Pradu's Buzz and Dirty.
Amundsen runs fine, but is a little weak (~120 elo weaker).
My engine is wayyy stronger than it really is at my testing condition for some reason (Bob's opening positions, 10 secs per 40 moves). Eats Crafty for breakfast (probably because Crafty always only uses ~0.5 seconds for some reason).
I forgot to mention Chispa as Linux engine in this range. Very solid and stable too.
Thanks. Trying it out right now. So far so good.
I also tried out Gaviota, and it doesn't really work at 4s/40moves. It always only uses ~0.5s (and plays poorly of course).
You are right, the last version I released it has a huge time "safety net". So, it is no good for super fast games. I forgot that. The version I will release very soon won't have that problem.
How strong does it need to be? I have a weak 64 bit linux engine. At 1+1 (1 minute + 1 second) it is about the same strength as Spike 1.2 on linux. I can give you a copy to play with if you want. It doesn't run so hot on 32 bit linux though, it is almost twice as slow and weaker than Spike.
I think you have several options though. Most windows engines run with wine and pretty much at full speed.
cyberfish wrote:I am trying to find engines that I can use to test my engine against, with the main constraint being that they have to run on Linux. Windows is not an option because I don't have a dedicated computer for testing, and so I always run tests in background while I use the computer for other things, and I don't want to be stuck with Windows.
Native Linux engines are few and far between, especially ones that are similar to mine's level, so I thought I would run Windows engines under wine.
The first one I tried was ZCT, and it was perfect. The NPS is similar to what I get on Windows, too. Since it's open source... I guess there is a chance that a native Linux build can be made, but I haven't looked into that, yet.
No such luck since then -
EveAnn kind of runs, but it terribly slow for some reason (takes a few seconds to reach ply 3)
Atak crashes
Neurosis crashes after the first move
Brutus freezes after the first move
Buzz was good (the Buzz_UNIX_x86 version segfaults for some reason, maybe he really meant UNIX not Linux )
(I got excited by Buzz's success, and thought Dirty might work, too, but it's nowhere to be found online...)
Deuterium seems to be fine, but is very weak at my testing time control (10 seconds / 40 moves)
Any other suggestions? (engines of similar strength, and must support some kind of board setup, since I'm using Bob's openings.epd)
cyberfish wrote:If you are talking about the 2850 ELO spike... that's certainly way too strong .
My engine is about 2200, or 2300 at 4 seconds (its speciality I guess?....)
I guess everything is relative. In my 60+1 tests spike is almost 100 ELO weaker than Toga2 which is roughly the same strength as Glaurung, depending on which version. And of course all these programs are significantly weaker than Rybka, so I consider my program pretty weak.
These are all compiled on on a 64 bit machine except Spike which is a 32 bit program. Fruit is version 2.1 d-791 is version 791 of my program.
I have selected 4 engines (for now) and will test them more thoroughly at my time control (2s/40moves now ).
I am using ZCT, Xpdnt, Prophet, and Chispa.
I am also using my custom-hacked version of xboard that doesn't print the board (blind alone is not enough), the clocks, doesn't change the taskbar icon (that apparently helped quite a bit), and has no between-game delays (the version I modified didn't have the matchPause option). It also uses almost 0 CPU, meaning I can run 2 ponder-off matches simultaneously on my dual core machine. The regular xboard (from HGM) would take almost 100% of the other core. Games are finished faster, too. 3m19s vs 5m39s for 50 games.
cyberfish wrote:I have selected 4 engines (for now) and will test them more thoroughly at my time control (2s/40moves now ).
I am using ZCT, Xpdnt, Prophet, and Chispa.
I am also using my custom-hacked version of xboard that doesn't print the board (blind alone is not enough), the clocks, doesn't change the taskbar icon (that apparently helped quite a bit), and has no between-game delays (the version I modified didn't have the matchPause option). It also uses almost 0 CPU, meaning I can run 2 ponder-off matches simultaneously on my dual core machine. The regular xboard (from HGM) would take almost 100% of the other core. Games are finished faster, too. 3m19s vs 5m39s for 50 games.
I designed my own tester written in C and it uses libevent and is extremely fast. I can play 3 or 4 games per second at a fast level even on 1 processor. It plays round robins with any number of players and you set how many simultaneous games to play. For instance on a quad processor I set it to 3 or 4. It rates the games and produces error bars too. I produces html output so the results can easily be posted to a web page. It produces pgn files and you can add and remove programs very easily. It's a linux program but probably could be ported to windows without too much trouble. It's configured via a simple configuration file.
I needed something that just worked and then gets out of the way. It is desgined to test UCI programs but I plan to make it also recognize xboard protocol. But it appears you are more interested in xboard programs?
Don wrote:
I designed my own tester written in C and it uses libevent and is extremely fast. I can play 3 or 4 games per second at a fast level even on 1 processor. It plays round robins with any number of players and you set how many simultaneous games to play. For instance on a quad processor I set it to 3 or 4. It rates the games and produces error bars too. I produces html output so the results can easily be posted to a web page. It produces pgn files and you can add and remove programs very easily. It's a linux program but probably could be ported to windows without too much trouble. It's configured via a simple configuration file.
I needed something that just worked and then gets out of the way. It is desgined to test UCI programs but I plan to make it also recognize xboard protocol. But it appears you are more interested in xboard programs?
This looks very interesting... are you planning to publish your work at some point? (I've already my own engine manager in perl, because I also needed something that just works. But it only plays engine-engine matches and doesn't have support for many simultaneous games, and of course has nothing like HTML output ).