Andscacs - Test version 74024

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
cdani
Posts: 2047
Joined: Sat Jan 18, 2014 9:24 am
Location: Andorra
Contact:

Andscacs - Test version 74024

Post by cdani » Thu Apr 09, 2015 8:28 pm

Hi.

I'm publishing only here at TalkChess a test version of Andscacs. I decided to publish like this because it has many changes, and I ask if may be some of you want to test it to be sure if it works well. If all is ok, I will publish it soon as an official version.

http://www.andscacs.com/andscacs074024.zip

Changes:
* Some strength changes. May be +30 elo. I will detail them on official release. Not much this time. It's really a lot more difficult to find improvements :-) I suppose it will not be far from 3000 elo at CCRL.
* Multi-processor support, up to 32 cores.
* Multi-pv support.
* Ponder seems to work well.
* Solved some bugs, especially when in use in Chessbase.
* Compiled with Visual studio community 2013.

This last change implies that it will no longer work on windows xp :-( Sorry. Anyway I publish also a 32 bit version.

For Multi-processor, I explain a bit better for programmers. I use Lazy SMP :-)

I don't use locks, mutex, critical sections, events, ... The only thread-related instruction I use is _beginthread. Then the communication is through very few global variables.

Also for the moment I don't use any information on analysis results of other threads than the main one. So the improvement comes thought the shared use of the different hash tables.

I use the little trick of Cheng at the start of analysis on each thread, to define to which depth it must analyze:

Code: Select all

depth + (Depth)((i&1)^1)
Preliminary results:

Code: Select all

1 thread:
25 seconds + 0.03
 1 Komodo 5.1r2 64-bit   211   20   19  1079   82%   -39   21%
 2 Naum 4.6               84   17   17  1087   67%   -39   23%
 3 Senpai 1.0             53   17   17  1076   63%   -39   29%
 4 Protector 1.7.0        31   16   16  1077   61%   -39   34%
 5 Texel 1.04 64-bit      18   17   17  1083   58%   -39   28%
 6 Gull 1.2 x64           -8   16   16  1081   55%   -39   29%
 7 Hannibal 1.3x64        -8   16   16  1080   55%   -39   37%
 8 Andscacs 0.73174      -39    6    6 11904   44%     3   28%
 9 XboardEngine          -52   16   17  1084   48%   -39   27%
10 Nirvanachess 2.0      -87   16   16  1087   43%   -39   30%
11 DiscoCheck 5.2        -97   16   16  1088   42%   -39   30%
12 Gaviota v1.0         -107   17   17  1082   41%   -39   23%

2 threads:
25 seconds + 0.03
 1 Komodo 5.1r2 64-bit   187   41   39   206   73%    22   23%
 2 Senpai 1.0             60   37   36   206   56%    22   33%
 3 Naum 4.6               52   36   36   210   55%    22   32%
 4 Texel 1.04 64-bit      24   36   36   210   50%    22   30%
 5 Protector 1.7.0        24   36   36   206   50%    22   33%
 6 Andscacs 0.74022       22   11   11  2300   54%    -3   30% (+61)
 7 Hannibal 1.3x64        -3   36   36   208   46%    22   34%
 8 Gull 1.2 x64          -15   36   36   210   44%    22   31%
 9 Nirvanachess 2.0      -47   36   36   212   40%    22   33%
10 XboardEngine          -71   37   38   210   36%    22   29%
11 DiscoCheck 5.2        -96   36   37   212   32%    22   33%
12 Gaviota v1.0         -135   39   40   210   29%    22   22%

4 threads:
25 seconds + 0.03
 1 Komodo 5.1r2 64-bit   193   58   56    94   68%    69   24%
 2 Naum 4.6               74   53   53    98   51%    69   30%
 3 Andscacs 0.74021       69   17   17  1061   61%    -7   29% (+108)
 4 Senpai 1.0             50   54   55    94   47%    69   29%
 5 Protector 1.7.0        31   52   52    94   44%    69   43%
 6 Texel 1.04 64-bit       1   52   54    98   39%    69   34%
 7 Hannibal 1.3x64        -9   53   55    94   38%    69   34%
 8 Gull 1.2 x64          -49   55   57    97   34%    69   24%
 9 XboardEngine          -79   56   59    98   30%    69   22%
10 Gaviota v1.0          -84   55   58    98   28%    69   28%
11 DiscoCheck 5.2        -85   56   59    98   29%    69   24%
12 Nirvanachess 2.0     -113   56   61    98   25%    69   23%

6 threads:
25 seconds + 0.03
 1 Komodo 5.1r2 64-bit   188   69   66    60   67%    82   37%
 2 Naum 4.6               86   66   66    60   51%    82   38%
 3 Andscacs 0.74020       82   21   21   653   63%    -8   31% (+121)
 4 Protector 1.7.0        77   65   65    59   49%    82   44%
 5 Senpai 1.0             41   70   71    54   44%    82   35%
 6 Gull 1.2 x64           20   65   67    60   40%    82   40%
 7 Texel 1.04 64-bit     -17   69   72    60   36%    82   25%
 8 Hannibal 1.3x64       -48   67   71    60   30%    82   33%
 9 XboardEngine          -72   70   76    60   28%    82   23%
10 DiscoCheck 5.2        -99   73   80    60   26%    82   18%
11 Gaviota v1.0         -129   74   82    60   22%    82   20%
12 Nirvanachess 2.0     -129   70   78    60   19%    82   32%
I know the tests are with few games, but at least give an idea.

Now I'm testing with 8 threads, but it does not looks very good. I will report. May be it does not scale well.

So I hope when I publish the new definitive version it will be able to reach 3100 with 4 cores :-) But as always I have no clue if this will hold at longer time controls, so will see...

I would be very grateful if may be also the usual testers can do one or two games with it at their usual test time control, just to be sure if it does not crashes badly :-) Anyway thanks!!

User avatar
Bloodbane
Posts: 154
Joined: Thu Oct 03, 2013 2:17 pm

Re: Andscacs - Test version 74024

Post by Bloodbane » Thu Apr 09, 2015 8:37 pm

Jesus christ, your development pace is insane. I really have to congratulate you. I though I could catch the last version of Andscacs pretty soon and BAM, you publish a new version with a lot of elo gain (and even MP support).
Functional programming combines the flexibility and power of abstract mathematics with the intuitive clarity of abstract mathematics.
https://github.com/mAarnos

mar
Posts: 1832
Joined: Fri Nov 26, 2010 1:00 pm

Re: Andscacs - Test version 74024

Post by mar » Thu Apr 09, 2015 9:15 pm

First, congrats for the new version. You're really fast :)
cdani wrote:I use the little trick of Cheng at the start of analysis on each thread, to define to which depth it must analyze:

Code: Select all

depth + (Depth)((i&1)^1)
Actually, that is Dan Homan's idea, you can look it up somewhere in the programming subforum.

User avatar
cdani
Posts: 2047
Joined: Sat Jan 18, 2014 9:24 am
Location: Andorra
Contact:

Re: Andscacs - Test version 74024

Post by cdani » Thu Apr 09, 2015 9:15 pm

Bloodbane wrote:Jesus christ, your development pace is insane. I really have to congratulate you. I though I could catch the last version of Andscacs pretty soon and BAM, you publish a new version with a lot of elo gain (and even MP support).
:-) Thanks.
During this last two months after the last version 0.72, I have tested a little more of 230 versions and I have rested one week. This on my spare ours, because I must work, of course.
Anyway is not a lot stronger, may be 30 elo and I'm not sure after the addition of MP support. May be it has eaten some of the gains. I'm retesting it again now.

Good luck with you engine!!

User avatar
cdani
Posts: 2047
Joined: Sat Jan 18, 2014 9:24 am
Location: Andorra
Contact:

Re: Andscacs - Test version 74024

Post by cdani » Thu Apr 09, 2015 9:18 pm

mar wrote:First, congrats for the new version. You're really fast :)
cdani wrote:I use the little trick of Cheng at the start of analysis on each thread, to define to which depth it must analyze:

Code: Select all

depth + (Depth)((i&1)^1)
Actually, that is Dan Homan's idea, you can look it up somewhere in the programming subforum.
Thanks!

I see. It's here:
http://www.talkchess.com/forum/viewtopi ... =&start=40

Henk
Posts: 5101
Joined: Mon May 27, 2013 8:31 am

Re: Andscacs - Test version 74024

Post by Henk » Thu Apr 09, 2015 9:55 pm

Yes development has to be quick. Otherwise Skipper will pass them in ELO soon and who can bear that shame.

Lyudmil Tsvetkov
Posts: 6033
Joined: Tue Jun 12, 2012 10:41 am

Re: Andscacs - Test version 74024

Post by Lyudmil Tsvetkov » Thu Apr 09, 2015 11:05 pm

I will still not test it - too weak to play competitive games with it.

But when it reaches SF level, I definitely will. :)

cetormenter
Posts: 168
Joined: Sun Oct 28, 2012 8:46 pm

Re: Andscacs - Test version 74024

Post by cetormenter » Thu Apr 09, 2015 11:15 pm

Nice! It is working flawlessly on my new machine using multiple threads.

Here are some short matches against the lastest dev version of Nirvana.

Code: Select all

1 thread

Rank Name       Elo    +    - games score oppo. draws 
   1 NirvanaDev  43   59   59   100   63%   -43   25% 
   2 Andscacs   -43   59   59   100   38%    43   25% 

2 threads

Rank Name       Elo    +    - games score oppo. draws 
   1 NirvanaDev  17   56   56   100   55%   -17   32% 
   2 Andscacs   -17   56   56   100   45%    17   32% 
So perhaps it scales better than Nirvana with more threads but the uncertainty is far too large for anything conclusive.

User avatar
Graham Banks
Posts: 30733
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

Re: Andscacs - Test version 74024

Post by Graham Banks » Thu Apr 09, 2015 11:36 pm

cetormenter wrote:Nice! It is working flawlessly on my new machine using multiple threads.

Here are some short matches against the lastest dev version of Nirvana.

Code: Select all

1 thread

Rank Name       Elo    +    - games score oppo. draws 
   1 NirvanaDev  43   59   59   100   63%   -43   25% 
   2 Andscacs   -43   59   59   100   38%    43   25% 

2 threads

Rank Name       Elo    +    - games score oppo. draws 
   1 NirvanaDev  17   56   56   100   55%   -17   32% 
   2 Andscacs   -17   56   56   100   45%    17   32% 
So perhaps it scales better than Nirvana with more threads but the uncertainty is far too large for anything conclusive.
Looks like I started my 8 core Swiss a few days too early. :wink:
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

User avatar
cdani
Posts: 2047
Joined: Sat Jan 18, 2014 9:24 am
Location: Andorra
Contact:

Re: Andscacs - Test version 74024

Post by cdani » Fri Apr 10, 2015 2:53 am

cetormenter wrote:Nice! It is working flawlessly on my new machine using multiple threads.

Here are some short matches against the lastest dev version of Nirvana.

Code: Select all

1 thread

Rank Name       Elo    +    - games score oppo. draws 
   1 NirvanaDev  43   59   59   100   63%   -43   25% 
   2 Andscacs   -43   59   59   100   38%    43   25% 

2 threads

Rank Name       Elo    +    - games score oppo. draws 
   1 NirvanaDev  17   56   56   100   55%   -17   32% 
   2 Andscacs   -17   56   56   100   45%    17   32% 
So perhaps it scales better than Nirvana with more threads but the uncertainty is far too large for anything conclusive.
Nice! Thanks. Very good your new version!! How many elo it wins in two threads, if you know?

Post Reply