Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] launching python in parallel

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Toon Knapen toon.knapen at fft.be
Thu Apr 19 02:57:44 PDT 2007


Dear beowulfers,

I have been looking into launching python in parallel. There are 
multiple tools currently doing this like PyTrilinos, PyPar, mpi4py etc.

However I was wondering if launching a standard python interpreter using 
mpirun (or any mpi launch script) is portable ?

For instance, I have my small python module (let's say 'start.py') which 
on its turn loads an extension module (written in C) which calls 
MPI_Init. I launch my program using following cl:

mpirun -np 2 /my/path/to/python start.py

where start.py looks like

<start.py>
import my_extension_module
my_extension_module.init() # this will call MPI_Init
</start.py>

When I do this using mpichgm, it works. However using mpich-1.2.5.2 
(ch_p4) it does not work. To me the reason is that ch_p4 passes the 
cl-arguments in the MPI_Init. So whenever the remote python's are 
launched, they are not told which script (start.py) they need to launch.

So therefore I create a short shell script (called start.sh) which 
contains the following

<start.sh>
/my/path/to/python start.py
</start.sh>

However this does not work either. mpirun.ch_p4 refuses to launch the 
second process (start.sh) Tracing the MPI_Init call made by the master, 
he does not even try to create the other process (because he does not 
get into the net_create_slave function).

So the question now is: is `mpirun -np 2 /my/path/to/python start.py` 
supposed to work or not ?

Thanks in advance for any enlightenment on the subject !

toon



More information about the Beowulf mailing list