Page 1 of 3

AdaChess v.30 released

Posted: Mon Oct 29, 2018 11:39 am
by alessandro
Hi everyone!

I have released the 3rd version of AdaChess, the (cool) chess engine written in the Ada programming language. Note that the engine support only the winboard protocol.
This release should be around 1900 ELO - maybe a bit more.
AdaChess is - as always - released under the GPL license and downloadable from the download page in https://www.adachess.com

This version played the in the IGT 2018, rank 3rd between the Italian engines who played at the tournament. Also, AdaChess played against the chess master Valerio Luciani in two 25'+10" man-vs-machine match. I'm going to publish both matches in another thread.

I appreciate any kind of comment/critics and suggestion for further improvement.

I wish you all a lot of fun by plying with AdaChess!

Re: AdaChess v.30 released

Posted: Mon Oct 29, 2018 11:58 am
by Gabor Szots
alessandro wrote: Mon Oct 29, 2018 11:39 am Hi everyone!

I have released the 3rd version of AdaChess, the (cool) chess engine written in the Ada programming language. Note that the engine support only the winboard protocol.
This release should be around 1900 ELO - maybe a bit more.
AdaChess is - as always - released under the GPL license and downloadable from the download page in https://www.adachess.com

This version played the in the IGT 2018, rank 3rd between the Italian engines who played at the tournament. Also, AdaChess played against the chess master Valerio Luciani in two 25'+10" man-vs-machine match. I'm going to publish both matches in another thread.

I appreciate any kind of comment/critics and suggestion for further improvement.

I wish you all a lot of fun by plying with AdaChess!
Alessandro, I am very happy with this release and will test it as soon as I have free resources. It's a pleasant surprise and I'm looking forward to further versions.

EDIT: A problem: I see AdaChess uses as many cores as it can. However, I'd like to set the cores to 1. How do I do that?

Re: AdaChess v.30 released

Posted: Mon Oct 29, 2018 1:30 pm
by alessandro
Gabor Szots wrote: Mon Oct 29, 2018 11:58 am
Alessandro, I am very happy with this release and will test it as soon as I have free resources. It's a pleasant surprise and I'm looking forward to further versions.

EDIT: A problem: I see AdaChess uses as many cores as it can. However, I'd like to set the cores to 1. How do I do that?
That's a bit strange... AdaChess is not multicore. Only the internal clock is handled by a separated thread, therefore it should use one core only.
Would you be able to kindly provide me further details?

Re: AdaChess v.30 released

Posted: Mon Oct 29, 2018 1:46 pm
by Gabor Szots
This is how AdaChess introduces itself from the command line:
Integer Size: 32
Number of CPU detected: 4

Hash size is 16384000


r n b q k b n r 8
p p p p p p p p 7
. . . . . . . . 6
. . . . . . . . 5
. . . . . . . . 4
. . . . . . . . 3
P P P P P P P P 2
R N B Q K B N R 1



a b c d e f g h


AdaChess v.3.0 =>
So it does detect the number of CPU's. Then, installed under Arena, it uses about 25 % CPU when 3 other tournaments are running but it uses about 50 % when only 2 other tournaments are running. I checked this using Process Explorer.

You say it uses a separate thread for the clock. But then I cannot run 3 tournaments simultaneously (one of them being AdaChess) because the clock takes the 4th core and I am left with no core to do my things.

Re: AdaChess v.30 released

Posted: Mon Oct 29, 2018 2:30 pm
by jdart
Back in the 1980's I worked for TeleSoft, which at the time was one of the major Ada compiler vendors. Their Ada development system was written in Ada and the whole stack (compiler/linker/debugger/tools) was about a million lines of code.

I haven't done any Ada coding since then, though.

--Jon

Re: AdaChess v.30 released

Posted: Mon Oct 29, 2018 2:41 pm
by alessandro
So that seems to be the point: the clock on a separated thread is demanded to a different core. This is something that I don't control from the engine. Sorry.
Anyway, I don't totally understandy why the clock prevents you to play 4 tournaments... Is just a thread. Can I help you in some way by updating my engine in a certain way?

Re: AdaChess v.30 released

Posted: Mon Oct 29, 2018 2:48 pm
by Gabor Szots
alessandro wrote: Mon Oct 29, 2018 2:41 pm So that seems to be the point: the clock on a separated thread is demanded to a different core. This is something that I don't control from the engine. Sorry.
Anyway, I don't totally understandy why the clock prevents you to play 4 tournaments... Is just a thread. Can I help you in some way by updating my engine in a certain way?
Do 4 tournaments + one clock thread not occupy 5 cores?

Re: AdaChess v.30 released

Posted: Mon Oct 29, 2018 2:49 pm
by Gabor Szots
Gabor Szots wrote: Mon Oct 29, 2018 2:48 pm
alessandro wrote: Mon Oct 29, 2018 2:41 pm So that seems to be the point: the clock on a separated thread is demanded to a different core. This is something that I don't control from the engine. Sorry.
Anyway, I don't totally understandy why the clock prevents you to play 4 tournaments... Is just a thread. Can I help you in some way by updating my engine in a certain way?
Do 4 tournaments + one clock thread not occupy 5 cores? I have a 4-core PC.

Re: AdaChess v.30 released

Posted: Mon Oct 29, 2018 9:02 pm
by alessandro
Gabor Szots wrote: Mon Oct 29, 2018 2:48 pm Do 4 tournaments + one clock thread not occupy 5 cores?
No :)

Re: AdaChess v.30 released

Posted: Mon Oct 29, 2018 10:58 pm
by tpoppins
1900 Elo? That would be a huge jump!

BTW, I can confirm Gabor's observations re: extra-core usage. On this 12-core Xeon the new version does take up two cores: the CPU usage is reported as 17% by Task Manager, whereas it should be 8%.

Only recently I introduced the 2017 version to the 40/4 list and it doesn't exhibit this behavior. According to Process Hacker, the process runs two threads, only one of which takes CPU time of between 8 and 9%. The other one's CPU usage is apparently negligible. Now this new version has each of its two threads consuming 8%+ constantly during search -- that's two cores occupied by a non-SMP program.

I view this as a serious bug that should be addressed ASAP.