Simple UserGuide for MPICH2

From SpeechWiki

(Difference between revisions)
Jump to: navigation, search
(Users)
Line 69: Line 69:
* '''run a MPI program to check the parallel environment'''
* '''run a MPI program to check the parallel environment'''
-
  [pineking@ifp-32 test]$ mpiexec -n 4 ./cpi
+
  [pineking@ifp-32 test]$ mpiexec -l -n 4 ./cpi
-
  Process 0 on ifp-32.ifp.uiuc.edu
+
  0: Process 0 on ifp-32.ifp.uiuc.edu
-
  Process 1 on compute-1-14.local
+
  1: Process 1 on compute-1-14.local
-
  Process 3 on compute-1-11.local
+
  2: Process 2 on compute-1-13.local
-
  Process 2 on compute-1-13.local
+
  3: Process 3 on compute-1-11.local
-
  pi is approximately 3.1416009869231249, Error is 0.0000083333333318
+
  0: pi is approximately 3.1416009869231249, Error is 0.0000083333333318
-
  wall clock time = 0.005883
+
  0: wall clock time = 0.005698
=Using MPI with qsub on ifp-32=
=Using MPI with qsub on ifp-32=

Revision as of 00:20, 3 May 2010

Contents

MPICH2 on ifp-32

Version and configure information:

[pineking@ifp-32 mpich2]$ mpich2version
MPICH2 Version:         1.2.1
MPICH2 Release date:    Unknown, built on Sun Jan 10 18:06:02 CST 2010
MPICH2 Device:          ch3:nemesis
MPICH2 configure:       --prefix=/cworkspace/ifp-32-2/hasegawa/pineking/programs/mpich2/ --enable-cxx --enable-threads=multiple
MPICH2 CC:      gcc  -O2
MPICH2 CXX:     g++  -O2
MPICH2 F77:     gfortran  -O2
MPICH2 F90:     f95  -O2

Parallel environment on SGE:

[pineking@ifp-32 test]$ qconf -sp mpich
pe_name            mpich
slots              9999 
user_lists         NONE
xuser_lists        NONE
start_proc_args    /opt/gridengine/mpi/startmpi.sh -catch_rsh $pe_hostfile
stop_proc_args     /opt/gridengine/mpi/stopmpi.sh
allocation_rule    $fill_up
control_slaves     TRUE
job_is_first_task  FALSE 
urgency_slots      min
accounting_summary TRUE

Users

  • add MPICH2 binary path to your PATH
export PATH=/cworkspace/ifp-32-2/hasegawa/pineking/programs/mpich2/bin:$PATH

Check we can find them:

which mpd
which mpiexec
which mpirun


  • .mpd.conf

MPI expects the configuration file in your home directory named ~/.mpd.conf (/etc/mpd.conf if root). It should contain one line:

secretword=<secretword>

where <secretword> is a password, that should not be your user password. Make it readable/writable only by you:

chmod 600 .mpd.conf
  • check mpd daemon

[pineking@ifp-32 test]$ mpdtrace

ifp-32
compute-1-14
compute-1-13
compute-1-11
compute-1-8
compute-1-12
compute-1-2
compute-1-16
compute-1-15
compute-1-7
compute-1-6
compute-1-1
compute-1-10
compute-1-9
compute-1-3
compute-1-5
compute-1-4

The information above show that mpd daemon is already run on each node.

  • run a MPI program to check the parallel environment
[pineking@ifp-32 test]$ mpiexec -l -n 4 ./cpi
0: Process 0 on ifp-32.ifp.uiuc.edu
1: Process 1 on compute-1-14.local
2: Process 2 on compute-1-13.local
3: Process 3 on compute-1-11.local
0: pi is approximately 3.1416009869231249, Error is 0.0000083333333318
0: wall clock time = 0.005698

Using MPI with qsub on ifp-32

  • Create a bash file, such as:
#!/bin/bash
#$ -cwd
#$ -pe mpich 4

/cworkspace/ifp-32-2/hasegawa/pineking/programs/mpich2/bin/mpiexec -n 3 ./cpi

and submit:

qsub ./test.sh

Administrators

  • MPI host file: mpd.hosts

Create a host file named "mpd.hosts" in your home directory ~/mpd.hosts , it contains the hosts list, such as:

compute-1-1
compute-1-2
compute-1-3
compute-1-4
compute-1-5
compute-1-6
compute-1-7
compute-1-8
compute-1-9
compute-1-10
compute-1-11
compute-1-12
compute-1-13
compute-1-14
compute-1-15
compute-1-16




Reference

  1. MPICH2 website
  2. MPICH2 Installer's Guide
  3. MPICH2 User's Guide
  4. http://gridengine.sunsource.net/howto/mpich2-integration/mpich2-integration.html
Personal tools