gnugo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnugo-devel] TODO revisions


From: Arend Bayer
Subject: Re: [gnugo-devel] TODO revisions
Date: Mon, 6 Sep 2004 19:38:10 +0200 (CEST)


On Wed, 25 Aug 2004, David G Doshay wrote:

> As per my previous offer, if anyone wants to think about how to
> parallelize the engine we may be able to offer part of our cluster
> for testing and development. We are open to suggestions and
> proposals.

I have been thinking about this a little. While the biggest gain would
probably come from parallelizing the owl code (our life and death
analysis) itself, this would also involve substantial changes.

An easier approach would be to distribute complete owl readings. There
are a few places where GNU Go mostly start one owl analysis after
another; see e.g. the loop in the function "make_dragon()" in dragon.c
containing the calls to owl_attack() and owl_defense(). One could just
run this loop twice: The first time just to collect all owl calls; a
controller will then distribut them among GNU Go engines running across
the cluster.
Once all the other engines are finished, we re-run the loop, this using
the results computed by the other processes.

There are maybe 3 or 4 loops that would have to be run twice in this
manner. (See the function "find_more_owl_attack_and_defense_moves()" in
value_moves.c for another example.)
Plus one would have to intercept the calls to owl_attack/defense.

There would be no changes necessary for the other GNU Go engines, as
all we would need to do there can already be done via GTP.


Arend





reply via email to

[Prev in Thread] Current Thread [Next in Thread]