/[MITgcm]/MITgcm_contrib/jmc_script/run_gnu.pbs
ViewVC logotype

Contents of /MITgcm_contrib/jmc_script/run_gnu.pbs

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Fri Oct 26 19:29:08 2012 UTC (7 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: testing_tag01, HEAD
Changes since 1.1: +12 -9 lines
also allows to run MPI + multi-threads

1 #!/bin/bash
2 #
3 #PBS -q four-twelve
4 #PBS -N run_gnu_1
5 #PBS -l nodes=1:ppn=12
6 #PBS -e run_gnu.stderr
7 #PBS -o run_gnu.stdout
8
9 #- batch parameters are specified above (lines starting with #PBS); note that after 1rst
10 # blank line (above), anything folowing "#" character is treated as comments
11 #
12 # example of a PBS batch script to run MITgcm on new (x86_64) acesgrid cluster
13 # using executable compiled with gfortran (and OpenMPI if using MPI)
14 # and running on /data/ disk(/net/eaps-80-11/data/)
15
16 # $Header: /u/gcmpack/MITgcm_contrib/jmc_script/run_gnu.pbs,v 1.1 2012/10/25 21:17:10 jmc Exp $
17 # $Name: $
18
19 sfx=1 # directory suffix
20 mpi=0 # number of MPI procs (=0 for non MPI run)
21 mth=0 # number of OMP threads (=0 for non Multi-thread run)
22
23 if test -f /etc/profile.d/modules.sh ; then
24 . /etc/profile.d/modules.sh
25 fi
26
27 HERE=`pwd`
28 echo "start from HERE='$HERE' at: "`date`
29 echo " sfx=$sfx , mpi=$mpi , mth=$mth , host="`hostname`
30
31 #- dir where to run mitgcmuv (batch job starts in home dir; need to "cd" to run dir):
32 runD="/net/eaps-80-11/data/jm_c/exp/atm_gray/run_$sfx"
33 echo -n " run in runD='$runD' on nodes: "
34 cat $PBS_NODEFILE | sort | uniq
35 cd $runD
36 echo " sfx=$sfx , mpi=$mpi , mth=$mth" > mf_run
37 cat $PBS_NODEFILE >> mf_run
38
39 umask 0022
40 #- to get case insensitive "ls" (and order of tested experiments)
41 export LC_ALL="en_US.UTF-8"
42
43 if [ $mth -ge 1 ] ; then
44 export OMP_NUM_THREADS=$mth
45 export GOMP_STACKSIZE=400m
46 fi
47
48 module add gcc
49 if test $mpi = 0 ; then
50 EXE="./mitgcmuv > std_outp"
51 else
52 module add openmpi
53 EXE="mpirun -v"
54 if [ $mth -ge 1 ] ; then EXE="$EXE -x OMP_NUM_THREADS -x GOMP_STACKSIZE" ; fi
55 #- select which MPI procs to use
56 nn=`cat $PBS_NODEFILE | sort | uniq | wc -l`
57 if [ $nn -gt 1 ] ; then dd=`expr $mpi % $nn` ; else dd=1 ; fi
58 if [ $dd -eq 0 ] ; then
59 npn=`expr $mpi / $nn`
60 echo " Nb of nodes=$nn , nb of process per node=$npn"
61 cat $PBS_NODEFILE | sort | uniq > mf
62 EXE="$EXE -hostfile mf -npernode $npn ./mitgcmuv"
63 else
64 EXE="$EXE -np $mpi ./mitgcmuv"
65 fi
66 fi
67
68 echo "list of loaded modules:"
69 module list 2>&1
70 echo " "
71 echo "run command: $EXE"
72 eval $EXE
73
74 echo "" ; echo " run ended at: "`date`

  ViewVC Help
Powered by ViewVC 1.1.22