Maybe someone else on this list has a better idea what you're trying to
do, but I'll attempt to answer your question.
MPI is basically a set of library calls that can be used for processes
to communicate with one another. Of course, a program need not have any
MPI calls in it, but if you want to parallelize an application, one
strategy is to insert MPI calls so that the application can run as
multiple processes that communicate via the MPI calls.
In essence, all mpirun does is launch multiple processes on a cluster.
Those processes can run independently, but if they have MPI calls in
them then they can work cooperatively on the same computation.
The questions you ask are more about basic MPI usage than about Open
MPI. There are good introductory MPI materials on the Internet.
On 10/19/2011 8:57 AM, Jorge Jaramillo wrote:
Hello everyone, I have a doubt about how to execute a parallel
application on a cluster.
How was the application parallelized? With MPI? With OpenMP
(multi-threaded model, not related to Open MPI)? Other?
I used the 'mpirun' to execute some applications and they worked, but
I guess this command only is useful with MPI applications.
mpirun can be used to launch multiple processes on a cluster even if
those processes do not use MPI, but typically the real value of mpirun
is to launch MPI jobs.
My question is, How do I execute a program that has no MPI statements
on the cluster?
Again, is it parallelized? Using what parallelization model?
If it is not possible, how do I change the structure of the program so
it can be executed as a parallel application?
First, choose a parallelization model -- MPI (for multi-process
parallelization on a cluster), OpenMP (multi-threaded parallelization on
a shared-memory system), etc. Search for on-line resources for more
information.