locked
Compatibility of MS-MPI and MPICH2 RRS feed

  • Question

  • After MS-MPI installed in HPC server 2008, can I install second kind of mpi driver manage, MPICH2?

    Thursday, January 7, 2010 6:30 AM

Answers

  • Yes, you can install other MPI libraries.  However, you must take care to ensure the paths are set such that the correct MPI library gets picked up when you launch jobs.

    Specifically, you must:

    1. Rebuild your MPI application to link to the proper MPI library
    2. Use the correct process launcher for the MPI library you intend to use.  You must take care here since both MSMPI and MPICH2 use mpiexec.exe as the process launcher, and smpd.exe as the MPI process manager

    Assuming the two SMPD processes on each compute nodes use distinct port numbers (they should by default), fully qualifying the path to mpiexec should do the trick.

    -Fab

    Thursday, January 7, 2010 7:55 PM
  • Hi Anunu and Ahriman,

    The way to use job scheduler (Job manager) to run MPI with 8 processes/node on 2 nodes is like the following:

    job submit /numnodes:2 mpiexec -c 8  \\hnwindows\share\mympi.exe

    where mpiexec.exe should be MSMPI mpiexec.

    liwei
    Friday, January 8, 2010 5:30 PM

All replies

  • Hello,

    Yes, MPICH2 uses his own process manager which called SMPD. You have to install SMPD on all of your nodes including head node. but be careful with mpiexec.
    Thursday, January 7, 2010 7:46 PM
  • Yes, you can install other MPI libraries.  However, you must take care to ensure the paths are set such that the correct MPI library gets picked up when you launch jobs.

    Specifically, you must:

    1. Rebuild your MPI application to link to the proper MPI library
    2. Use the correct process launcher for the MPI library you intend to use.  You must take care here since both MSMPI and MPICH2 use mpiexec.exe as the process launcher, and smpd.exe as the MPI process manager

    Assuming the two SMPD processes on each compute nodes use distinct port numbers (they should by default), fully qualifying the path to mpiexec should do the trick.

    -Fab

    Thursday, January 7, 2010 7:55 PM
  • Hi Anunu,

    Yes, you can install MPICH2 and MSMPI on the same machine.

    You cannot use them cross over though: e.g. using MPICH2's mpiexec to call MSMPI's service (msmpi service) won't work.

    So you'll need to make sure the right mpiexec is calling the right SMPD/ (or MSMPI service.)

    liwei
    Thursday, January 7, 2010 7:56 PM
  • Hi,
    Thanks for help.
    I have reviewed a result of the performance comparison between the MS-MPI and MPICH2.  I want to repeat the test in my bench.
    It generated a non-correct service of cpus across two nodes. Regrading of your comment, I needs to add some specific mpiexec and smpd argument to replace the default value setting.

    The reply comments can give a solution for the processing bug.

    I show a whole stoty of the testing result.
    There are 8 cpus in each node machine whiched are installed two kinds of mpi manage.

    It only provided one cpu in each node when I applied the argument, "mpiexec -hosts 2 node1 8 node2 8 job.exe".
    Before I have made a test in each node machine, it worked well using the argument, "mpiexec -hosts 1 node1 8 job.xe".

    Thanks

    Anunu






    Friday, January 8, 2010 1:31 AM
  • I have the same problem. When i try to submit via Job Manager my task, its results are results from one process. But when i submit a job like that
    mpiexec -n 8 \\hnwindows\share\mympi.exe
    its results are adequate.
    Friday, January 8, 2010 7:59 AM
  • Hi Anunu and Ahriman,

    The way to use job scheduler (Job manager) to run MPI with 8 processes/node on 2 nodes is like the following:

    job submit /numnodes:2 mpiexec -c 8  \\hnwindows\share\mympi.exe

    where mpiexec.exe should be MSMPI mpiexec.

    liwei
    Friday, January 8, 2010 5:30 PM
  • Hi Liwei Peng
    Thanks for your answer
    Friday, January 8, 2010 8:44 PM