[IPython-dev] Performance sanity check: 7.21s to scatter 5000X1000 float array to 7 engines

Anand Patil anand.prabhakar.patil at gmail.com
Fri Jan 11 14:49:05 EST 2008


Hi Fernando,

The basic idea is to start your engine group as an mpi world, then
> have them connect to the controller, and from the controller, tell
> engine 0 to do the array creation and scatter.  So the engines are an
> MPI world, but the controller and client don't need to be.  Is that
> clear enough?  If not, I'll provide step by step (with code)
> instructions later...
>

It makes sense, but I don't seem to be getting the details. I start the
engines with

mpirun -n 7 ipengine --mpi=mpi4py

then do the following from IPython:

In [2]: rc.executeAll('from mpi4py import MPI')
Out[2]:
<Results List>
[0] In [1]: from mpi4py import MPI
[1] In [1]: from mpi4py import MPI
[2] In [1]: from mpi4py import MPI
[3] In [1]: from mpi4py import MPI
[4] In [1]: from mpi4py import MPI
[5] In [1]: from mpi4py import MPI
[6] In [1]: from mpi4py import MPI


In [3]: rc.execute(1, 'print MPI.COMM_WORLD.size')
Out[3]:
<Results List>
[1] In [2]: print MPI.COMM_WORLD.size
[1] Out[2]: 1

so it looks like the IPEngines don't know they're in the same world...

Anyway, I look forward to seeing the mini-tutorial later on, but please
don't rush on my account.

Thanks,
Anand
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20080111/86ab871b/attachment.html>


More information about the IPython-dev mailing list