This is a step forward. Can I just confirm:
mpirun works with executables (e.g. timings.c)
mpirun cannot launch python itself
however, you can run Python normally.
Is ths correct?
If so, I think the problem would relate to your system path (i.e. how it can find Python)and how mpirun interprets it. I seem to remember, that the -x option with MPIRUN does something to make sure every process is aware of environment variables such as PATH.
So perhaps you could try something like
mpirun -x PATH -np 4 python
or failing that, juse the full pathname to Python (from memory)
mpirun -np 4 C:Python25\bin\python.exe
Let us know how you go
I should add that this program doesn't seem to be specific to pypar. Rather, I can't seem to run anything pythonic. For example, if I type 'mpirun -np 4 python' alone, it fails with the same error. I can, however, run parallel .exe files using mpirun.
I just wanted to say this in case it provides a clue as to what I may be doing incorrectly.
Ole Nielsen wrote:Could you try
C:\Python25\Lib\site-packages\pypar>mpirun -np 4 python test_pypar.py
and let me know if that gives the same error?
Has anyone else on the list seen this?
Cheers and thanks
On Thu, Oct 1, 2009 at 2:49 AM, Jordan Atlas <email@example.com> wrote:
Thanks for your response. Following your advice, I was able to verify that I can get MPICH to run multiple processes that utilizes both of my machines' processors.
Now I'm having trouble getting the pypar tests to run. If I type:
C:\Python25\Lib\site-packages\pypar>mpirun -np 4 test_pypar.py
Then I get the error:
Unable to launch 'C:\Python25\Lib\site-packages\pypar\test_pypar.py', error 8: CreateProcess failed:
Not enough storage is available to process this command.
I assume it is talking about "RAM" storage, but my machine has over 2GB of RAM free right now, so I don't understand the problem. Am I calling the program correctly?
Note that if I run test_pypar without calling mpirun, I get the output:
Pypar (version 2.1.0) initialised MPI OK with 1 processors
I am processor 0 of 1 on node jca33-305.
Please let me know if my question is unclear.
Ole Nielsen wrote:Hi Jordan
Great that you got pypar installed!
As for the number of processors it is really a matter for the underlying MPI implementation.
If you run a C program, such as the include timing measurement, using MPI you would have the same issue.
Depending on the MPI implementation there are different ways of telling how many CPUs you got.
With LAM MPI, there is a .machines file, with OPENMPI it is a matter for mpirun to specify.
Typically, you run you parallel program on e.g. 8 processes using
mpirun -np 8 <parallel_program>
Hope this helps
PS - everything is better if you use Linux, though :-)
On Thu, Sep 24, 2009 at 4:16 AM, Jordan Atlas <firstname.lastname@example.org> wrote:
After carefully following the readme instuctions and making a couple changes to the compile files, I was able to get pypar installed on my machine. However, it reports that my machine only has one processor, even though it has two.
Is there anything in particular I need to do to make sure pypar is aware of multiple processors in windows?
Chemical and Biomolecular Engineering