[Chicago] MPI in Python?
Jason Rexilius
jason at hostedlabs.com
Wed Feb 27 18:18:10 CET 2008
Kenneth P. Stox wrote:
> On Wed, 2008-02-27 at 10:16 -0600, Massimo Di Pierro wrote:
>> If you need parallelization ,you care about speed. If you care about
>> speed use C/C++.
>
> Not necessarily true. It all depends on the workload.
I would expand on this and say that environment has an impact on design
decisions. You may not have a lot of C/C++ developers handy but have
lots and lots of x86 machines lying around.
>> In C/C++ there are many libraries based on MPI that allow programming
>> at higher level (for example http://www.fermiqcd.net, despite the
>> pitch for physics it is actually very general for mesh based
>> algorithms).
>
> A lot of the fermiqcd code is to produce a backwards compatible
> interface for the older ACP/MAPS code. I'm not sure it would be the
> right choice, but once again, it is highly dependent upon the workload.
A few older models out there may be helpful as well, such as Mosix
process distribution clustering, or Spread for inter-process-cluster
messaging. Erlang basically is a language and run-time that encapsulates
models like the above natively.
There are Python APIs for Spread.. And Zope uses it somewhere it seems..
>> You use threads on shared memory machines (like a SG), you use MPI on
>> distributed memory machines (like a cluster). There is really no choice.
>
> I assume you meant to say SGI, as in Origin and Altix. There are times
> one can, and will, use MPI on a shared memory machine, if one also wants
> to be able to scale beyond the one machine.
>
> _______________________________________________
> Chicago mailing list
> Chicago at python.org
> http://mail.python.org/mailman/listinfo/chicago
More information about the Chicago
mailing list