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

13,244

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!

Share:
13,244
ccbunney
Author by

ccbunney

Left handed programmer.

Updated on July 02, 2022

Comments

  • ccbunney
    ccbunney almost 2 years

    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!