Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Neverending story with incomplete tablebases

Author: Russell Reagan

Date: 14:11:12 08/18/03

Go up one level in this thread


On August 18, 2003 at 16:24:09, Sune Fischer wrote:

>If I cared about simplicity I would not be going parallel, I want performance!
>:)

Well if you're going for "real" parallel, that's great. If you're only trying to
do "kind of" parallel, then I don't think the millisecond it costs to start up a
couple of threads before a search is going to hurt performance that much.

I think we're talking about different things though. I'm only talking about
starting up threads for each root move, so maybe 35-40 per iteration, and never
more than 2 or 4 at a time. If your approach means that you would have to be
constantly starting threads for each node, then your approach is better of
course :)


>Yes this is what I need, do you think I want to be stuck in windows forever? :)

Well, if you only need those simple operations, then it would probably help
performance. That would mean non-portability via Windows functions or assembler.
It probably wouldn't be too bad to write a version for Windows (or just use the
Interlocked* functions) and then write a handful of assembler routines for
linux.

Mutexes/etc. aren't terribly slow in my experience, and will be tuned for
efficiency, but there is some overhead that can't really be avoided. I imagine
there would be hardly any measurable overhead using the Interlocked* functions
or the assembly that they convert to (cmov or whatever).



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.