Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mpiexec.hydra - how to run MPI process on machines where locations of hydra_pmi_proxy are different?

Tags:

mpi

mpich

I am trying to run a simple MPI program using MPICH over a cluster of two machines. However, one is running Fedora 17 and the other is running Debian Squeeze - not necessarily a problem, but the issue is that the two distros put their mpi execs in different directories:

When I run the following from host1:

mpiexec -hosts host2 -np 1 -wdir /home/chris/src/mpi/ ./mpitest

it fails with the following error

bash: /usr/lib/mpich2/bin/hydra_pmi_proxy: No such file or directory

This seems to be because hydra_pmi_proxy is installed in /usr/lib/mpich2/bin on the Fedora machine but in /usr/bin on the Debian machine. I assume that when I spawn the process from host1 via ssh, it expects to find hydra_pmi_proxy in the same place on host2.

The program runs ok on both machines if I just run it locally on that node - I only get a problem when trying to run it on both.

I have searched the MPICH documentation for a way to override to remote path to hydra_pmi_proxy, but to no avail.

Can I do this somehow? I thought one of the advantages of MPICH was that it can easily handle hetrogeneous hosts....

Any insights would be most appreciated!

like image 246
ccbunney Avatar asked Nov 14 '12 21:11

ccbunney


1 Answers

I managed to solve this problem not installing mpich hydra and the terminal (eg apt-get install MPICH2 or hydra). But instead I downloaded the source code: http://www.mpich.org/downloads/ (being the stable version). Then I ran the following command on the machines Master and slave: export PATH = / home / you / mpich: $ PATH (On my computer I installed on my mpich directory).

Just solved this problem!

Thanks!

like image 102
Iago Lira Avatar answered Dec 31 '22 16:12

Iago Lira