SMP/MP check list for XB/UCI chronology

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

Moderator: Ras

Guenther
Posts: 4718
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

SMP/MP check list for XB/UCI chronology

Post by Guenther »

I have added a new column 'MP' in the master file for the chronology, which will be released today or tomorrow.

With the help of the 'SMP' list of the computerchesswiki and self experiments I am down to seven questionable entries:

Code: Select all

1.Ant ?
2.CmcChess ?
3.DeepBrutePOS ?
4.GopherCheck ?
5.List ?
6.Neurone ?
7.Presbyter ?
1. and 5. are mentioned in CCW as SMP, but I have no evidence Ant ever supported this.
5. is listed as List/Loop, but to my knowledge only Loop is SMP and I have no evidence List supports this.

2. I tried CmcChess myself today, but I see no explanation how to set more threads.
It does not react to 'threads' or 'cores' uci commands instead it always uses 512MB independent from the hash setting.
(and yes I have checked ALL memory columns in the taskmanager)

3. I have not yet checked DeepBrutePOS.Especially if it can be set to use a certain number of threads not always all available.
This concerns all mentioned programs!


4. I have only one working very old version of GopherCheck, which I did not check yet.

6. Neurone is called buggy at the GSEI website and only this latest version shall support MP. Not yet checked.

7. The original Github site for Presbyter was deleted recently. (may be yesterday). BTW a new site was created yesterday for a new Java UCI program called Caffeine.
I don't see infos now to set threads for it. In my test it always used 3 cores at start, but needs ~2 minutes for the first move and then fallsl back to one core.

Any info or hints how to test some above programs for MP are welcome.
Currently those entries are marked as '?'.

Guenther
Guenther
Posts: 4718
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: SMP/MP check list for XB/UCI chronology

Post by Guenther »

Guenther wrote:I have added a new column 'MP' in the master file for the chronology, which will be released today or tomorrow.

With the help of the 'SMP' list of the computerchesswiki and self experiments I am down to seven questionable entries:

Code: Select all

1.Ant ?
2.CmcChess ?
3.DeepBrutePOS ?
4.GopherCheck ?
5.List ?
6.Neurone ?
7.Presbyter ?
...

4. I have only one working very old version of GopherCheck, which I did not check yet.
...
Any info or hints how to test some above programs for MP are welcome.
Currently those entries are marked as '?'.
Meanwhile I tested a recent GopherCheck and it runs and uses all four cores, but there seems to be no way to set the threads number. (same for hash)

I added third value for the new MP column defined like this:

Code: Select all

MP | Multi Processors/Threads/Cores/CPUs | yes/x/- (x = MP but threads $n cannot be set?) |
Guenther
Posts: 4718
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: SMP/MP check list for XB/UCI chronology

Post by Guenther »

Guenther wrote:

Code: Select all

3.DeepBrutePOS ?
3. I have not yet checked DeepBrutePOS.Especially if it can be set to use a certain number of threads not always all available.
This concerns all mentioned programs!

Finally the commandline options from the jar file after feeding --help

Code: Select all

--io-mode [xboard|uci|ucisocket|console|test|testepd|perft|testcases|tournament|elotester]
	elotester: requires 1 or more "--drone" parameters
	testepd: see --epd-position
	tournament: play a tournament with the chess-engines given using "--drone", set a move limit with --move-n-limit
--max-depth
	searchdepth (default is 0 (plies) which means no limit, minimum is 1)
--random
	enables randomization
--max-n-cores
	maximum number of threads, default is system limit
--max-search-duration
	how long to think, in seconds (default: 30)
--trans-tab-size
	size of transposition table, in entries. each entry is +/- 90 bytes (default: 524288 elements)
--trans-tab-file
	file to serialize the transposition table to
--trans-tab-sync-interval
	sync transposition table every x seconds (default: disabled)
--brain x
	x=random: select random mover
	x=firstmove: always select first move from move list
--max-threads-per-slot (default: 8)
--extensions (default: 5)
--disable-quiescence
--opening-book
	opening book file to use
--epd-position
	setup of board
--port
	for ucisocket: TCP port to listen on
--loop
	for ucisocket: when the client terminates, wait for next client instead of terminating
--profiler
--drone mode,host,port
	switch to "puppet master"-mode and connect to a TCP socket with an UCI-listener behind it / also used for "--io-mode tournament"
--pgnfile file.pgn
--logfile file.log  (human readable)
--debug enable debug mode
--version-add string to add to name, usefull for PGN output
Example: (Polyglot)

Code: Select all

EngineCommand = java -jar POSDeepBrute21.jar --max-n-cores 2 --trans-tab-size 262144 --io-mode uci
It listens to the cores option, but hash used always seems to be 400 MB no matter what is set?
Moreover it only understands exact time per move from the GUI.
It seems one must max-depth and max-duration commandline options
to simulate normal time controls.

Anyways, I will add it to the list now.
tmokonen
Posts: 1367
Joined: Sun Mar 12, 2006 6:46 pm
Location: Kelowna
Full name: Tony Mokonen

Re: SMP/MP check list for XB/UCI chronology

Post by tmokonen »

The versions of Ant named GI-ANT have a setting in the Ant.rc file named nproc, for number of processors. That being said, it never seemed to work properly for me with a setting greater than 1.
Guenther
Posts: 4718
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: SMP/MP check list for XB/UCI chronology

Post by Guenther »

tmokonen wrote:The versions of Ant named GI-ANT have a setting in the Ant.rc file named nproc, for number of processors. That being said, it never seemed to work properly for me with a setting greater than 1.
The funny thing is I never heard of Gi-Ant, as an Ant version before and now
I have to wait for Kirills server, because those versions should be there...

I wonder when they appeared, because I thought last Ant versions were released in 2006 and my hiatus began in 2009/2010?
Guenther
Posts: 4718
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: SMP/MP check list for XB/UCI chronology

Post by Guenther »

tmokonen wrote:The versions of Ant named GI-ANT have a setting in the Ant.rc file named nproc, for number of processors. That being said, it never seemed to work properly for me with a setting greater than 1.
Gi-Ant is solved now! I found a copy of that 2007-B version.
At first it did not work with my rc file too, until I realized I had to add a new line in the config! (memories from the past...)
Now it works with 2 and 4 cores, the cpu load is different from todays programs though. It shows big swings in cpu percentage load.

Now I just need to find out when this version made it into the public.
(Obviously it was a private version in the beginning and only played in Arnaud Lohéac's tournaments)

Guenther
Guenther
Posts: 4718
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: SMP/MP check list for XB/UCI chronology

Post by Guenther »

Guenther wrote:I have added a new column 'MP' in the master file for the chronology, which will be released today or tomorrow.

With the help of the 'SMP' list of the computerchesswiki and self experiments I am down to seven questionable entries:

Code: Select all

1.Ant ?
2.CmcChess ?
3.DeepBrutePOS ?
4.GopherCheck ?
5.List ?
6.Neurone ?
7.Presbyter ?
6. Neurone is called buggy at the GSEI website and only this latest version shall support MP. Not yet checked.
I have tested Neurone XXIV now. It is quite an interesting program.

I cannot force it to use more than 2 cpus here. It just creates a second
copy of itself called DeepLearning which always uses 1 cpu.

There are several other caveats: It tells WB it would only play the 'nocastle' variant and it searches only 2 plies deep?
Probably I could overcome those things with Inbetween and further testing, but for my MP test this is currently sufficient.
It will be added to the second category in the MP column.

Code: Select all

MP | Multi Processors/Threads/Cores/CPUs | yes/x/- (x = MP but threads $n cannot be set?) |
Guenther
ThatsIt
Posts: 992
Joined: Thu Mar 09, 2006 2:11 pm

Re: SMP/MP check list for XB/UCI chronology

Post by ThatsIt »

Guenther wrote: [...snip...]
5. is listed as List/Loop, but to my knowledge only Loop
is SMP and I have no evidence List supports this.
[...snip...]

Not totally correct.
We have a version "List-MP 11.64 2CPU".

Looplist = single only

List = single only (exception List-MP 11.64)

Loop = version 10.32 = single, the following versions = MP.

Best wishes,
G.S.
Guenther
Posts: 4718
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: SMP/MP check list for XB/UCI chronology

Post by Guenther »

ThatsIt wrote:
Guenther wrote: [...snip...]
5. is listed as List/Loop, but to my knowledge only Loop
is SMP and I have no evidence List supports this.
[...snip...]

Not totally correct.
We have a version "List-MP 11.64 2CPU".

Looplist = single only

List = single only (exception List-MP 11.64)

Loop = version 10.32 = single, the following versions = MP.

Best wishes,
G.S.
Thanks for the info. I have solved the mainly 'nomenklatura' problem in the chronology by still keeping two entries, one for List and one for Loop.
I added a bracket behind Loop* (& LoopList & List MP), because I think they all are quite different to the old List project.

A last question, was List 11.64 ever released or available for sale or just private?
ThatsIt
Posts: 992
Joined: Thu Mar 09, 2006 2:11 pm

Re: SMP/MP check list for XB/UCI chronology

Post by ThatsIt »

Hi Günther !

The engine "List-MP 11.64" was available from the 23th of October 2006.

Best wishes,
G.S.