File: mpi.txt

package info (click to toggle)
nco 4.0.9-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 15,600 kB
  • sloc: ansic: 32,932; cpp: 21,766; sh: 11,973; xml: 7,149; perl: 3,457; makefile: 1,801; lex: 1,139; yacc: 605; python: 116
file content (132 lines) | stat: -rw-r--r-- 5,166 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
$Header: /cvsroot/nco/nco/doc/mpi.txt,v 1.19 2009/01/13 23:17:13 zender Exp $ -*-text-*-

Installing an MPI Environment for NCO:

Choose an MPI distribution: LAM-MPI (deprecated), MPICH, MPICH2
(recommended), Open MPI, and PPE (AIX only)

MPI distribution-specific instructions are given below, in
alphabetical order of distribution for these parallel environments:
LAM, MPICH, MPICH2, Open MPI, and PPE (AIX only).
Support for Open MPI is new.
No other MPI environments are supported.

Test NCO once one of these environments is installed. 

************************************************************************
Determining the Parallel Environment
************************************************************************
Linux in particular has a large number of available MPI environments.
Determining which environment is active may be necessary.
The active MPI environment provides a C-compiler wrapper (usually
called mpicc) which simplifies building C programs like NCO. 

mpicc --version # LAM, MPICH, MPICH2: C  Compiler/version
mpicxx --version # MPICH2 (only): C++ Compiler/version
mpiCC --version # LAM-MPI, Open MPI: C++ Compiler/version
mpic++ --version # LAM-MPI, Open MPI: C++ Compiler/version
mpicc --showme # LAM-MPI, Open MPI: C   compilation switches
mpiCC --showme # LAM-MPI, Open MPI: C++ compilation switches
mpic++ --showme # LAM-MPI, Open MPI: C++ compilation switches
mpcc -v # PPE (only): C   compilation switches
mpCC -v # PPE (only): C++ compilation switches

************************************************************************
Testing NCO in a parallel environment
************************************************************************
1. Start any required process management daemon
Typically, these are lamd (LAM), mpd (MPICH/MPICH2), and pmd (PPE).
If regression test results are unpredictable and/or terrible, try
re-starting the process management daemon.
   
2. Run NCO regression tests in parallel mode
These two commands are equivalent (Makefile translates the first): 

   make MPI_PRC=3 tst
   ~/nco/bm/nco_bm.pl --dbg=0 --mpi=3 --regress --udp

************************************************************************
MPI Distribution-specific Instructions
************************************************************************
LAM Instructions:
Up-to-date versions of LAM-MPI are distributed in RPM and Deb formats.
(LAM features are included in Open MPI)

0. Remove LAM-MPI packages
   sudo aptitude remove lam4c2 lam4-dev lam-mpidoc lam-runtime
   sudo rpm -e lam
   sudo yum remove lam

1. Install LAM-MPI packages
   sudo aptitude install lam4c2 lam4-dev lam-mpidoc lam-runtime
   sudo rpm -i lam-7.0.6-3.i386.rpm

2. Start lamd if not already running:
   lamboot -v # Start lamd in verbose mode 

3. End lamd
   lamwipe # Kill lamd

************************************************************************
MPICH (version 1, http://www-unix.mcs.anl.gov/mpi/mpich) Instructions:
1. Install MPICH packages
   sudo aptitude install mpich mpich-common
   sudo rpm -i mpich mpich-doc
   sudo yum install mpich mpich-doc
   sudo rpm -i mpich-1.2.5.2-1mdk.i586.rpm

2. Test mpich version:
   mpichversion # Report MPICH1 version and device (ch_p4 indicates GB Ethernet)

************************************************************************
MPICH2 (i.e., MPICH version 2, http://www-unix.mcs.anl.gov/mpi/mpich2) Instructions:
0. Remove MPICH2 packages

   sudo aptitude remove libmpich2-1.0 mpich2-doc mpich2 mpich2-mpd mpich2-dev

1. Install MPICH2 (requires python 2.3 or 2.4)
   wget http://torvalds.cs.mtsu.edu/~zach/debian/1.0.2p1/libmpich2-1.0_1.0.2p1-2_i386.deb
   wget http://torvalds.cs.mtsu.edu/~zach/debian/1.0.2p1/mpich2-doc_1.0.2p1-2_i386.deb
   wget http://torvalds.cs.mtsu.edu/~zach/debian/1.0.2p1/mpich2_1.0.2p1-2_i386.deb
   wget http://torvalds.cs.mtsu.edu/~zach/debian/1.0.2p1/mpich2-mpd_1.0.2p1-2_i386.deb
   wget http://torvalds.cs.mtsu.edu/~zach/debian/1.0.2p1/mpich2-dev_1.0.2p1-2_i386.deb

   sudo aptitude install python2.3 python2.3-xml

   cd ${DATA}/tmp
   sudo dpkg --install \
   libmpich2-1.0_1.0.2p1-2_i386.deb \
   mpich2-doc_1.0.2p1-2_i386.deb \
   mpich2_1.0.2p1-2_i386.deb \
   mpich2-mpd_1.0.2p1-2_i386.deb \
   mpich2-dev_1.0.2p1-2_i386.deb
   cd -

2. Install .mpd.conf in ${HOME} or set START="yes" in /etc/default/mpd

3. Start mpd if not already running:
   mpd & # Start MPD
   mpdtrace # Test MPD
   mpdallexit # Exit MPD
   mpich2version # Report MPICH2 version

************************************************************************
Open MPI Instructions:
Up-to-date versions of LAM-MPI are distributed in RPM and Deb formats.

0. Remove Open MPI packages
   sudo aptitude remove openmpi_bin

1. Install Open MPI packages
   sudo aptitude install openmpi-bin openmpi-doc openmpi-dev

************************************************************************
Parallel Programming Environment (PPE) (AIX only):
1. poe requires a hostfile. hostfile defaults to ./host.list.
   Create host.list with, e.g.,

   echo ${HOST} > ./host.list

2. 

   poe -hostfile=~/nco/bld/host.list -node=1 -tasks_per_node=3 $MY_BIN_DIR/mpncwa -O -D 3 -p ${HOME}/nco/data in.nc ~/foo.nc