Article View: gnu.chess
Article #12MultiProcessing GnuChess?
From: Pierce T. Wetter III
Date: Wed, 22 Jul 1992 22:01
Date: Wed, 22 Jul 1992 22:01
52 lines
1831 bytes
1831 bytes
I'm working on a multiprocessor system, so I've been wondering what would
have to be done to GnuChess to make it capable of multiprocessing.
What would be the best algorithm for doing that?
A Pipeline Approach:
Machine1 Machine2 Machine3
-------- -------- --------
Move Generation --> MoveEvaluation --> Tree Pruning
A more Parallel approach:
M1 M2 M3
MoveGen MoveEval MoveEval
Pruning
Data flows from M1 simultaneously to M2 and M3, when evaluations
are completed, they send result back.
The Problem as I see it is that game programs tend to think of
a bunch of one ahead moves, then eliminates some of those, then think of
2 ahead moves etc. This is harder to divide evenly and quickly, it would
be better to cut off whole branches of the tree for a processor to work
through.
Perhaps a hybrid approach where the other processors select promising
moves and search them to greater depths, while the main processor is
filling in the search tree?
This is all based on the last time I looked at the GnuChess source,
which was about version 2.0 I think. (I don't have FTP access anymore)
Any thoughts from people more familar with GnuChess?
Pierce
--
My postings are my opinions, and my opinions are my own not that of my employer.
You can get me at radius!pierce@apple.com.
(Wha'ja want? Some cute signature file? Hah! I have real work to do.
Technical Details
Message-ID:
<1648@radius.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!olivea!apple!apple!radius!pierceShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!olivea!apple!apple!radius!pierce From: pierce@radius.com (Pierce T. Wetter III) Newsgroups: gnu.chess Subject: MultiProcessing GnuChess? Message-ID: <1648@radius.com> Date: 22 Jul 92 22:01:07 GMT Distribution: gnu Lines: 52