Melebius
Melebius

Reputation: 6695

Running MPI job on remote OS X machine

I have built a parallel program using OS X’s built-in mpic++ and I’m trying to run an MPI job on two my Macs in my home network. Both use Snow Leopard 10.6.8 and can run the job locally. I can also access the other machine using ssh. However, after entering

mpirun -n 2 --host localhost,10.0.1.2 ./enigmaMPI

I am asked for the password and then I get this output:

--------------------------------------------------------------------------
Failed to find or execute the following executable:

Host:       iMac.local
Executable: ./enigmaMPI

Cannot continue.
--------------------------------------------------------------------------
mpirun noticed that job rank 0 with PID 7748 on node localhost exited on signal 15 (Terminated). 

This message is not very specific to help me to find a solution… Could anybody help, please?

I built my program using following command:

mpic++ main.cpp enigma.cpp enigma.h -o enigmaMPI

Upvotes: 2

Views: 963

Answers (1)

Hristo Iliev
Hristo Iliev

Reputation: 74475

The message is as informative as it can get. It means that MPI is unable to find the executable file enigmaMPI in the same location on the remote node. You have to ensure that:

  • enigmaMPI could be found in the same location on both localhost and on 10.0.1.2;
  • MPI libraries and run-times are installed on both machines.

Since you run Snow Leopard, you are most likely using the version of Open MPI that ships with it. Then you do not have to worry about the second point. The first point means that if on your local machine enigmaMPI is to be found under /Users/username/project/enigmaMPI, then you have to copy it to the same path on your other Mac.

That's why most clusters use shared filesystems like NFS, Lustre, GPFS, and have the mounted under the same places on each compute node. Also, as pointed out by axiom, setting up passwordless SSH (using public keys) would save you typing your password each time you run mpirun.

Also, as far as I can recall, Snow Leopard still included Xgrid and the Open MPI version provided has a module that can execute processes through Xgrid. You only need to enable Xgrid sharing on the second Mac and then somehow use the Xgrid launcher...

Upvotes: 1

Related Questions