-
Notifications
You must be signed in to change notification settings - Fork 0
/
buildscripts.janus.openmpi
99 lines (93 loc) · 2.93 KB
/
buildscripts.janus.openmpi
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
#!/bin/tcsh
#==============================================================================
# Copyright (C) 2010, University Corporation for Atmospheric Research,
# Colorado State University,
# Los Alamos National Security, LLC,
# United States Department of Energy
#
# All rights reserved. See COPYING for copyright details
#==============================================================================
setenv ARCHDIR intel_mpi
#set szlist = "180x120 90x60 60x40 48x32 36x24 24x16 18x12"
set szlist = "180x120 120x80 90x60 60x40 48x32 36x24 24x16 18x12"
#set szlist = "180x120"
#set szlist = "120x80"
#set szlist = "60x60"
#set szlist = "200x200"
#set szlist = "90x60"
#set szlist = "90x60 60x40 48x32"
foreach sz (${szlist})
cd run/{$sz}
set host = `hostname`
switch ($sz)
case "200x200":
set pelist = "60"
breaksw
case "180x120":
set pelist = "120 180 360"
breaksw
case "120x80":
# set pelist = "96 192 264 384 768" # 264 causes node failures on lynx
set pelist = "96 192 384 768"
breaksw
case "90x60":
# set pelist = "168 336 444" # 168,660 causes node failures on lynx
set pelist = "336 444 660 1320"
breaksw
case "60x60":
set pelist = "1080 2148"
breaksw
case "60x40":
# set pelist = "360 576 708" # 708 causes node failures on lynx
set pelist = "576 948 1416 2832"
breaksw
case "48x32":
# set pelist = "552 876 1092 1452 2172 4332" # 876 causes node failures on lynx
set pelist = " 552 1092 1452 2172 4332"
breaksw
case "36x24":
set pelist = "3780 7548"
breaksw
case "24x16":
set pelist = "8268"
breaksw
case "18x12":
set pelist = "14496"
breaksw
endsw
foreach pe (${pelist})
switch ($host)
case "lynx?":
case "hopper??":
case "grace??":
set resource = "#PBS -l mppwidth=${pe},walltime=02:00:00"
breaksw
case "ncar-login":
@ nd = $pe / 12;
set resource = "#PBS -l nodes=${nd},walltime=01:00:00"
breaksw
case "krakenpf??":
case "krakenpf?":
set resource = "#PBS -l size=${pe},walltime=01:00:00"
breaksw
endsw
echo "Building script for: ($host) blocksize: ($sz) core count: ($pe)";
cat >! ${host}.${ARCHDIR}.${pe}.pbs << EOF
#!/bin/tcsh
#PBS -q default
${resource}
#PBS -V
cd \$PBS_O_WORKDIR
setnenv ARCHDIR intel_mpi
set id=\`date +%y%m%d-%H%M%S\`
#set mdlist = "mpi2s1D mpi2s2D caf1D caf2D"
set mdlist = "mpi2s1D mpi2s2D"
#set mdlist = "mpi2s1D"
foreach md (\${mdlist})
mpirun --prefix /opt/openmpi-1.4.3 -machinefile \$PBS_NODEFILE -n ${pe} --npernode 12 ../../\${md}/cgpop.${ARCHDIR}.${sz} < pop_in >& ../results/cgpop_${host}_${ARCHDIR}_\${md}_${sz}_${pe}.log.\${id}
cp \$PBS_NODEFILE ../results/machinefile.\$PBS_JOBID.\${id}
end
EOF
end
cd ../..
end