UCI protocol and SMP

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
abik
Posts: 819
Joined: Fri Dec 01, 2006 10:46 pm
Location: Mountain View, CA, USA
Full name: Aart Bik

UCI protocol and SMP

Post by abik »

Does the UCI protocol provide a standard way of informing the engine how many cpu's (cores if you want) it may use for an SMP implementation? If not, is there a de-facto standard other engines use?

The most recent UCI standard that I downloaded does not seem to address these details yet.

(I guess it is no secret what I am working on next :-))
krazyken

Re: UCI protocol and SMP

Post by krazyken »

Usually people just make it a UCI parameter.

What you call it is up to you.
Hiarcs uses "Core Threads"
Glaurung uses "Threads"
Rybka use "Max CPUs"
User avatar
abik
Posts: 819
Joined: Fri Dec 01, 2006 10:46 pm
Location: Mountain View, CA, USA
Full name: Aart Bik

Re: UCI protocol and SMP

Post by abik »

Thanks.

It seems the life of our esteemed tournament managers would be a little easier with an addition to the UCI standard, but until then I will come up with my own option name as you suggest.
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: UCI protocol and SMP

Post by hgm »

Try to pick one that is already in use, then we can have Polyglot use that one to translate the WinBoard ' cores' command into UCI.
User avatar
abik
Posts: 819
Joined: Fri Dec 01, 2006 10:46 pm
Location: Mountain View, CA, USA
Full name: Aart Bik

Re: UCI protocol and SMP

Post by abik »

That makes sense. I personally thought Glaurung's "Threads" was a good choice, so I am going with that one.....
krazyken

Re: UCI protocol and SMP

Post by krazyken »

Well if you are going to mess with Polyglot, it might just be simpler to make the cores command a configurable parameter in the polyglot section.

for glaurung you'd use cores = "Threads"
for Rybka, cores = "Max CPUs"

Probably be fine to use "Threads" as the default.
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: UCI protocol and SMP

Post by Zach Wegner »

abik wrote:That makes sense. I personally thought Glaurung's "Threads" was a good choice, so I am going with that one.....
Nooo! What about the programs out there that use processes?

I don't like "cores" either. Really the only term that makes sense IMO is "CPUs".
User avatar
abik
Posts: 819
Joined: Fri Dec 01, 2006 10:46 pm
Location: Mountain View, CA, USA
Full name: Aart Bik

Re: UCI protocol and SMP

Post by abik »

Yeah, I was going to use Windows threads and pthreads for Linux/MacOS, so I was quite content with that name :)

Okay, is there consensus on CPUs....?
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: UCI protocol and SMP

Post by bob »

Zach Wegner wrote:
abik wrote:That makes sense. I personally thought Glaurung's "Threads" was a good choice, so I am going with that one.....
Nooo! What about the programs out there that use processes?

I don't like "cores" either. Really the only term that makes sense IMO is "CPUs".
Threads is wrong for some. Processes is wrong for others. CPUs or Processors is the appropriate term. Cores should be dropped from everyone's vocabulary in this context...
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: UCI protocol and SMP

Post by hgm »

Would it be possible to get a consensus here?

If Glaurung, HIARCS and Rybka would all change to using 'Processors' in UCI, I don't think it is too late to change the 'cores' command I added to my alpha version of WinBoard into 'processors' as well, and have Polyglot translate one into the other.

Who is the de-facto authority on UCI protocol? SMK? The author of Arena?