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.

Reply via email to