[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