On 28, Jun 2007, at 10:45 PM, Darren Cook wrote:

Can MPI be as quick as threads on a 2- or 4-core single
machine?

no, but I think you are worried about something that is such a a small percentage of compute time that I doubt that it is significant for a Go
program.

A random playout might complete in 10 microseconds.

That seems fast, but OK. I would not have expected a single playout
to be the increment of an MPI process.

Is thread or MPI
overhead going to be say less than 5% of that? If so, yes, I probably
don't care.

Thread overhead is probably less, and MPI overhead close or more.
But still, I would choose threads on a single box, and MPI when
expecting to communicate between boxes.

The usage of MPI that I've seen required explicit population of
(user-defined) communication structures that get copied in the process
of doing an MPI call.

This is true and something we tried to put some wrappers around to
simplify, but this underlying fact could not be removed.

Have you seen Boost.MPI?
http://www.generic-programming.org/~dgregor/boost.mpi/doc/mpi/ tutorial.html

Is it successfully hiding the issue you are talking about?

The section on "User-defined data types" tells how they wrapped it.
It still has to be done. It is not hard to do either with Boost or in
standard MPI, it is just another layer that cannot be forgotten.

Cheers,
David



_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to