ENGINE SPEED AND STRONG

Discussion about development of draughts in the time of computer and Internet.
Post Reply
Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Sun Feb 12, 2017 09:24

Hi Joost,

I seeing that you want to add à GUI to your engine. Good idea. How will it works : like Damage GUI with Horizon, Scan and Dwarf ? Or it will be directly incorporated.
Thank

Catherine.

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Sun Feb 12, 2017 11:39

Catherine wrote:Hi Joost,

I seeing that you want to add à GUI to your engine. Good idea. How will it works : like Damage GUI with Horizon, Scan and Dwarf ? Or it will be directly incorporated.
Thank

Catherine.
Hi Catherine,

At first I want to make something simple with a menu to adjust settings and to enter moves with the mouse, the engine will be incorporated into the GUI lets say like Kingsrow. I don't like separate engines because they are difficult to use and there are all kinds of problems with time-control and such.

Since it is several days of work to make a basic GUI I temporary added a configuration file to the engine to adjust parameters, I still have to add pondering and an interpreter to play a game via the keyboard, but if you can live with dxp-server and follower-mode only and no pondering I can upload a version of the engine later today. I still have to make the configuration-file 'fool-proof' to make sure when there are wrong values entered in the configuration-file the engine won't crash.

Edit:

I've uploaded the engine to dropbox, it will only work in dxp-server/follower mode at the moment, there are 2 versions, one with bmi2 for processors >=Haswell and one without bmi2. The nobmi version does (during the opening) about 5 mnps per core and the bmi2 version does about 12 mnps per core.
Because I don't have a machine without bmi2 available I couldn't test if the nobmi version actually uses old instuctions, I hope it works.

I've added a .cfg file where you can change some parameters:

Code: Select all

hash-size 256
threads 1
egdb yes
egdb-path E:/egdb_intl/wld_v2
egdb-pieces 6
egdb-cache 1024
dxp-server yes
dxp-port 27531
Although I designed the engine for 64 cores, this version allows max. 16 cores.
Max. hash-size = 8192 MB and always rounds down to a power of 2.
Max. egdb-cache = 16384.

I assume this is clear.

https://www.dropbox.com/s/1kpng471ejsvn ... 6.rar?dl=0

Joost
Last edited by Joost Buijs on Sun Feb 12, 2017 15:15, edited 7 times in total.

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Sun Feb 12, 2017 14:20

Joost Buijs wrote:
Catherine wrote:Hi Joost,

I seeing that you want to add à GUI to your engine. Good idea. How will it works : like Damage GUI with Horizon, Scan and Dwarf ? Or it will be directly incorporated.
Thank

Catherine.
Hi Catherine,

At first I want to make something simple with a menu to adjust settings and to enter moves with the mouse, the engine will be incorporated into the GUI lets say like Kingsrow. I don't like separate engines because they are difficult to use and there are all kinds of problems with time-control and such.

Since it is several days of work to make a basic GUI I temporary added a configuration file to the engine to adjust parameters, I still have to add pondering and an interpreter to play a game via the keyboard, but if you can live with dxp-server and follower-mode only and no pondering I can upload a version of the engine later today. I still have to make the configuration-file 'fool-proof' to make sure when there are wrong values entered in the configuration-file the engine won't crash.

Joost
Hi Joost,

Effectivly, i saw that when the config file is separated of the engine, time Control have some problem. We will be glad to try this minimal interface. It seem that with dxp mode, pondering decrease the stress of engine. Thank for the great job that you and the others are still doing to improve the levels of engines.

Catherine

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Sun Feb 12, 2017 14:37

Catherine wrote:
Joost Buijs wrote:
Catherine wrote:Hi Joost,

I seeing that you want to add à GUI to your engine. Good idea. How will it works : like Damage GUI with Horizon, Scan and Dwarf ? Or it will be directly incorporated.
Thank

Catherine.
Hi Catherine,

At first I want to make something simple with a menu to adjust settings and to enter moves with the mouse, the engine will be incorporated into the GUI lets say like Kingsrow. I don't like separate engines because they are difficult to use and there are all kinds of problems with time-control and such.

Since it is several days of work to make a basic GUI I temporary added a configuration file to the engine to adjust parameters, I still have to add pondering and an interpreter to play a game via the keyboard, but if you can live with dxp-server and follower-mode only and no pondering I can upload a version of the engine later today. I still have to make the configuration-file 'fool-proof' to make sure when there are wrong values entered in the configuration-file the engine won't crash.

Joost
Hi Joost,

Effectivly, i saw that when the config file is separated of the engine, time Control have some problem. We will be glad to try this minimal interface. It seem that with dxp mode, pondering decrease the stress of engine. Thank for the great job that you and the others are still doing to improve the levels of engines.

Catherine
Time control can also work properly with external engines, the problem is that most implementations I saw seem to work with a fixed time per move to keep things simple.

I can't find a reason why pondering would decrease the strength of the engine in combination with DXP, the only thing I can think of is that the DXP protocol itself doesn't get enough processor-time when the engine is pondering, this should be easy to fix.

BTW. I have the impression that with egdb enabled my engine plays weaker and sometimes stays away very long, this can be a bug somewhere, you can disable egdb by setting 'egdb no' in the cfg file. Normally I test without egdb this is why I didn't see it before.

Later this week I will upload another version of the engine because the current one is not optimal, yesterday I changed a few things in the quiescence search without thoroughly testing the result and it looks like the Elo has dropped by 35 points. In the mean time I will also take a look at what is going on with the egdb. The engine is still a work in progress and it will take at least another 3 months before I'm fully happy with it. I hope you'll understand.

Joost

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Sun Feb 12, 2017 19:16

Joost Buijs wrote:
Time control can also work properly with external engines, the problem is that most implementations I saw seem to work with a fixed time per move to keep things simple.

I can't find a reason why pondering would decrease the strength of the engine in combination with DXP, the only thing I can think of is that the DXP protocol itself doesn't get enough processor-time when the engine is pondering, this should be easy to fix.

BTW. I have the impression that with egdb enabled my engine plays weaker and sometimes stays away very long, this can be a bug somewhere, you can disable egdb by setting 'egdb no' in the cfg file. Normally I test without egdb this is why I didn't see it before.

Later this week I will upload another version of the engine because the current one is not optimal, yesterday I changed a few things in the quiescence search without thoroughly testing the result and it looks like the Elo has dropped by 35 points. In the mean time I will also take a look at what is going on with the egdb. The engine is still a work in progress and it will take at least another 3 months before I'm fully happy with it. I hope you'll understand.

Joost
Hi Joost,

Thank for sharing your engine, we are very happy.
I use an Core i3 with 4 Go of RAM
When i launch a dxp match with the two Argus versions, after a few moves, it crashes. I deon't know why. Can you help me please to fix it. Perhaps the configuration
Best regards,
Argus.JPG
Argus.JPG (173.48 KiB) Viewed 15168 times
Catherine

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Sun Feb 12, 2017 19:48

Hi Catherine,

Very difficult to tell what is happening, I never see crashes over here, I guess my program is emitting an instruction that is not compatible with core-i3. It is also possible that the egdb.lib I made a few months ago is not compatible with core-i3. I have an unused core-i3 computer that I will install to check what the problem is. This is one of the reasons that I'm always very hesitant to release executables because you have to make sure that it works on all systems and hardware, maybe your CPU doesn't support POPCOUNT, can you tell me exactly which CPU (core i3-????) you have and which Windows version you use?

Can you also tell me which GUI or interface you use to connect my engine to? I checked it with Kingsrow 1.58 and Dam 2.2, both work fine, maybe other GUI send stuff that my engine doesn't like. When I look at your pictures I guess it is Dam 2.2, I will check this once again tomorrow.

Joost

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Sun Feb 12, 2017 20:15

Joost Buijs wrote:Hi Catherine,

Very difficult to tell what is happening, I never see crashes over here, I guess my program is emitting an instruction that is not compatible with core-i3. It is also possible that the egdb.lib I made a few months ago is not compatible with core-i3. I have an unused core-i3 computer that I will install to check what the problem is. This is one of the reasons that I'm always very hesitant to release executables because you have to make sure that it works on all systems and hardware, maybe your CPU doesn't support POPCOUNT, can you tell me exactly which CPU you have?

Can you also tell me which GUI or interface you use to connect my engine to? I checked it with Kingsrow 1.58 and Dam 2.2, both work fine, maybe other GUI send stuff that my engine doesn't like. When I look at your pictures I guess it is Dam 2.2, I will check this once again tomorrow.

Joost
Hi Joost,
My computer support popcount, i have Scan wich use popcount.
I will see the config.
I tested with with Kingsrow 1.58, it's the same thing.
Thank again and sorry for my problem

Catherine

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Mon Feb 13, 2017 01:39

Hi Joost,

Argusv106 works very very fine!!!!!!
The problem was with the default cfg file.
I renamed it by Argusv106.ini and changed values by
Code:
hash-size 256
threads 1
egdb yes
egdb-path E:/egdb_intl/wld_v2
egdb-pieces 6
egdb-cache 1024
dxp-server yes
dxp-port 27531
(this is default)

Code:
hash-size 128
threads 4
egdb no
egdb-path E:/egdb_intl/wld_v2
egdb-pieces 0
egdb-cache 128
dxp-server yes
dxp-port 27531
(this is mine)
It works perfectly, we are running a match against Kingsrow, actual result : perspective for Kingsrow
1 wins, 3 losses, 14 draws, 0 unknows.
Thank

Catherine.

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Mon Feb 13, 2017 07:11

Catherine wrote:Hi Joost,

Argusv106 works very very fine!!!!!!
The problem was with the default cfg file.
I renamed it by Argusv106.ini and changed values by
Code:
hash-size 256
threads 1
egdb yes
egdb-path E:/egdb_intl/wld_v2
egdb-pieces 6
egdb-cache 1024
dxp-server yes
dxp-port 27531
(this is default)

Code:
hash-size 128
threads 4
egdb no
egdb-path E:/egdb_intl/wld_v2
egdb-pieces 0
egdb-cache 128
dxp-server yes
dxp-port 27531
(this is mine)
It works perfectly, we are running a match against Kingsrow, actual result : perspective for Kingsrow
1 wins, 3 losses, 14 draws, 0 unknows.
Thank

Catherine.
Hi Caterine,

I'm glad that it works.

I see that you turned off egdb and I think that is where the offending instruction comes from, I compiled a library for ED's egdb 3 months ago and at that time I never had the intention to use it on another system. This week I will make new executables and I have to take a look at my qsearch because the last version of my program plays somewhat weaker than before. Quiescence seems to be very important with draughts, more so as with chess, even the smallest changes have an enormous influence on playing strength.

With 'egdb no' the egdb is completely off, 'egdb-pieces x', 'egdb-cache x' and 'egdb-path' don't have any influence in that case.
Mininum hash-size is 256, you put it at 128 but it will remain at 256 in practice, in a new version of the program I will change the minimum to 64.

Joost

Krzysztof Grzelak
Posts: 1368
Joined: Thu Jun 20, 2013 17:16
Real name: Krzysztof Grzelak

Re: ENGINE SPEED AND STRONG

Post by Krzysztof Grzelak » Mon Feb 13, 2017 08:14

I wanted today to download from this link, but unfortunately it still does not go. I tried several times without success.

Krzysztof.

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Mon Feb 13, 2017 09:37

Krzysztof Grzelak wrote:
I wanted today to download from this link, but unfortunately it still does not go. I tried several times without success.

Krzysztof.
Strange because here it works, if you still have trouble downloading it I can put it on my own server in the future.

Later this week I will upload a new version because this one was done in a hurry and I found some small problems that need to be solved, and I still want to add pondering and a way to play games via the console.

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Mon Feb 13, 2017 10:12

Joost Buijs wrote:
Later this week I will upload a new version because this one was done in a hurry and I found some small problems that need to be solved, and I still want to add pondering and a way to play games via the console.
Hi Joost,

As you wrote, the default hash-size is 256, this isn't a problem with my 4 Go of RAM.
It seem that pondering it's already added, because i read in the search informations for example " best-move: 11-17 ponder-move :11-17.
You also said that the playing strenght was decrease. The actual strenght it's awesome, i imagine the real strenght. Thank again for the great job.

I repeat again that it's a good war to try to create some engine more stronger to permit to the level of draughts world to be best.
Thank very much to all the programmers Joost, Fabien, Ed, Bert, Rein, Michel, Taille for the sharing spirit without what anything can progress.
God bless you all !!!!

Catherine.

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Mon Feb 13, 2017 10:55

Catherine wrote:
Joost Buijs wrote:
Later this week I will upload a new version because this one was done in a hurry and I found some small problems that need to be solved, and I still want to add pondering and a way to play games via the console.
Hi Joost,

As you wrote, the default hash-size is 256, this isn't a problem with my 4 Go of RAM.
It seem that pondering it's already added, because i read in the search informations for example " best-move: 11-17 ponder-move :11-17.
You also said that the playing strenght was decrease. The actual strenght it's awesome, i imagine the real strenght. Thank again for the great job.

I repeat again that it's a good war to try to create some engine more stronger to permit to the level of draughts world to be best.
Thank very much to all the programmers Joost, Fabien, Ed, Bert, Rein, Michel, Taille for the sharing spirit without what anything can progress.
God bless you all !!!!

Catherine.
Hi,

It just shows the move it will ponder on but it is not implemented yet, I have to add polling or an extra thread to make it work. Actually I see now that it prints the same move twice and not the pondermove, this is just a cosmetic error.

BTW. Now I understand what you meant by DXP and pondering not working optimally, I'm so used to running the engines on separate computers that it didn't appear in my mind that you are using a single computer only. I can imagine that in your case pondering will give a lot of problems.

Joost
Last edited by Joost Buijs on Mon Feb 13, 2017 13:44, edited 1 time in total.

Catherine
Posts: 129
Joined: Tue Aug 14, 2012 22:24
Real name: Catherine Bourneuf

Re: ENGINE SPEED AND STRONG

Post by Catherine » Mon Feb 13, 2017 11:10

Joost Buijs wrote:


Hi,

It just shows the move it will ponder on but it is not implemented yet, I have to add polling or an extra thread to make it work.

BTW. Now I understand what you meant by DXP and pondering not working optimally, I'm so used to running the engines on separate computers that it didn't appear in my mind that you are using a single computer only. I can imagine that in your case pondering will give a lot of problems.

Joost
Hi Joost,

All it's clear now in my mind. So we will wait for the latest version. We are at the moment enjoying with this one i am doing a match vs Dragon.
Just a question, run dxp on separate machine does it require internet ? And how to run a dxp with our own position or FEN ?
Thank

Catherine

Joost Buijs
Posts: 471
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: ENGINE SPEED AND STRONG

Post by Joost Buijs » Mon Feb 13, 2017 12:58

Catherine wrote:
Joost Buijs wrote:


Hi,

It just shows the move it will ponder on but it is not implemented yet, I have to add polling or an extra thread to make it work.

BTW. Now I understand what you meant by DXP and pondering not working optimally, I'm so used to running the engines on separate computers that it didn't appear in my mind that you are using a single computer only. I can imagine that in your case pondering will give a lot of problems.

Joost
Hi Joost,

All it's clear now in my mind. So we will wait for the latest version. We are at the moment enjoying with this one i am doing a match vs Dragon.
Just a question, run dxp on separate machine does it require internet ? And how to run a dxp with our own position or FEN ?
Thank

Catherine
Hi Catherine,

You can run DXP via internet to a remote computer, you can also use 2 or more computers locally connected by an ethernet switch or hub, for 2 computers even a cross-cable will work.

To use DXP with your own position(s) you have to use the options of the GUI you are using or you have to write a script, but that is not so easy. In my eyes one of the biggest problems with computer-draughts is that the existing protocols lack many things and that there is not much standardization. It comes down to the fact that for everything you want to do you have to develop and write software yourself which makes things very time consuming.

I found the error I made in the qsearch and fixed it, strength seems to be ok again, another error was that on some occasions values became <SHRT_MIN or >SHRT_MAX which messed up the values in the transposition table because they are 16 bit. The next thing I will do is to fix the error that you get when you enable egdb on your machine.

Joost

Post Reply