wiki:jazz/mpich2_guide

Version 5 (modified by jazz, 16 years ago) (diff)

--

Some Notes from MPICH2 Installation Guide

Offical User's Guide

  • MPICH2 test examples - cpi
    • in Offical User's Guide
      mpd &
      cd /home/you/mpich2-installed/examples
      mpiexec -n 3 cpi
      mpdallexit
      
    • in Debian environment
      jazz@bio-cluster-12:~$ mpd &
      [1] 3551
      jazz@bio-cluster-12:~$ mpiexec -n 3 /usr/share/mpich2/examples/cpi
      Process 1 of 3 is on bio-cluster-12
      Process 2 of 3 is on bio-cluster-12
      Process 0 of 3 is on bio-cluster-12
      pi is approximately 3.1415926544231318, Error is 0.0000000008333387
      wall clock time = 0.001213
      jazz@bio-cluster-12:~$ mpdallexit
      
  • Compiling and Linking
    • 4.3 Special Issues for C++
      • Some users may get error messages such as
        SEEK_SET is #defined but must not be for the C++ binding of MPI
        
      • The problem is that both stdio.h and the MPI C++ interface use SEEK SET, SEEK CUR, and SEEK END. This is really a bug in the MPI-2 standard. You can try adding following definition to the command line
        -DMPICH_IGNORE_CXX_SEEK
        
  • 5.1 Standard mpiexec
    • Currently, MPICH2 does not fully support calling the dynamic process routines from MPI-2 (e.g., MPI_Comm_spawn or MPI_Comm_accept) from processes that are not started with mpiexec.
    • Note: this might be the reason why we encounter R-MPI mpi.spawn.Rslaves() problem.
  • 5.3.1 Basic mpiexec arguments for MPD
    • You can use mpiexec to run non-MPI programs as well. This is sometimes useful in making sure all the machines are up and ready for use. Useful examples include
      mpiexec -n 10 hostname
      mpiexec -n 10 printenv
      
  • 5.3.2 Other Command-Line Arguments to mpiexec for MPD
    • This section describe machinefile format to specifying hosts, number of processes and interface host name(ifhn)
    • i.e, ${hostname}:${number of processors} ifhn=${name of network interface}
      # comment line
      hosta
      hostb:2
      hostc   ifhn=hostc-gige
      hostd:4 ifhn=hostd-gige
      
  • 5.7.1 MPD in the PBS environment
    • One way to convert the node file to the MPD format is as follows:
      sort $PBS_NODEFILE | uniq -C | awk ’{ printf(”%s:%s”, $2, $1); }’ > mpd.nodes
      
  • tty1: 
    
    jazz@bio-cluster-12:~$ mpiexec -n 2 /home/jazz/demo1
    This is machine 0 of 2  name = bio-cluster-12
    This is machine 1 of 2  name = bio-cluster-08
    
    =================================================================
    tty2: 
    
    jazz@bio-cluster-12:~$ mpdlistjobs
    jobid    = 4@bio-cluster-12_48909
    jobalias =
    username = jazz
    host     = bio-cluster-12
    pid      = 3619
    sid      = 3618
    rank     = 0
    pgm      = /home/jazz/demo1
    
    jobid    = 4@bio-cluster-12_48909
    jobalias =
    username = jazz
    host     = bio-cluster-08
    pid      = 6187
    sid      = 6186
    rank     = 1
    pgm      = /home/jazz/demo1
    

Offical Installer's Guide

MPICH2 Installation and Configuration Guide