HPC: Using Message Passing to distribute threads

Brooks Davis brooks at one-eyed-alien.net
Tue Feb 14 08:30:47 PST 2006


[Dropped irrelevent mailing lists.  In general CCing lists at multiple
sites is bad form].

On Tue, Feb 14, 2006 at 03:58:53PM +1030, Aluminium Oxide wrote:
> Forgive me if I am suggesting that we reinvent the wheel, but I have a
> problem with a potentially simple solution.
> 
> It concerns the difficulty of adapting an application to use a parallel
> computing system, such as with MPI or PVM.
> 
> I would like help possible to write a simple (heh heh) compiler
> directive, or header, or a wrapper function which allows one to add a
> tag or wrap a function call to a function which will be called
> iteratively to spawn not just a new thread, but a new thread ***which
> can be passed to another node*** in a parallel computer system?
> 
> This seems like a very simple and elegant method by which
> non-parallelised code can be adapted to a parallel architecture.

That you're describing is functionally if not syntatcicaly identical to
OpenMP.

http://en.wikipedia.org/wiki/OpenMP

GCC's GOMP project is creating such a implementation for SMP systems at:

http://savannah.nongnu.org/projects/gomp/

Note that this won't work for a cluster, there have been implementations
of OpenMP on top of message passing libraries, but codes and clusters
where such implementations make sense given the communication overhead
are rare.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hpc/attachments/20060214/17a1f8a8/attachment.bin


More information about the freebsd-hpc mailing list