1 | #!/bin/bash |
---|
2 | |
---|
3 | #----------------------------- split_XXX ---------------------------- |
---|
4 | |
---|
5 | function split_serial_40() { |
---|
6 | setvar nbp 41 nsplit_i 2 nsplit_j 2 |
---|
7 | } |
---|
8 | function split_mpi_40() { |
---|
9 | setvar nbp 41 nsplit_i 2 nsplit_j 2 |
---|
10 | } |
---|
11 | function split_mpi_80() { |
---|
12 | setvar nbp 81 nsplit_i 4 nsplit_j 2 |
---|
13 | } |
---|
14 | |
---|
15 | #------------------------------ job_XXX ----------------------------- |
---|
16 | |
---|
17 | function job_serial() { # EXP_NAME |
---|
18 | job_X64_CURIE $1 1 "" |
---|
19 | } |
---|
20 | function job_serial_40() { # EXP_NAME |
---|
21 | job_serial $1 |
---|
22 | } |
---|
23 | |
---|
24 | function job_mpi() { #EXP_NAME NB_MPI |
---|
25 | job_X64_CURIE $1 $2 ccc_mprun |
---|
26 | } |
---|
27 | function job_mpi_40() { # EXP_NAME |
---|
28 | job_mpi $1 40 |
---|
29 | } |
---|
30 | function job_mpi_80() { # EXP_NAME |
---|
31 | job_mpi $1 80 |
---|
32 | } |
---|
33 | |
---|
34 | function job_X64_CURIE() { # EXP_NAME MPI_TASKS MPIRUN |
---|
35 | cat <<EOF |
---|
36 | #!/bin/bash |
---|
37 | ## Request name |
---|
38 | #MSUB -r $1 |
---|
39 | #MSUB -q standard |
---|
40 | #MSUB -A gen7548 |
---|
41 | #MSUB -x |
---|
42 | ## Number of tasks (=MPI processes) to use |
---|
43 | #MSUB -n $2 |
---|
44 | ## Elapsed time limit in seconds |
---|
45 | #MSUB -T 600 |
---|
46 | ## Quality of Service required (long [3 days], normal [1 day], test [30 min]) |
---|
47 | #MSUB -Q test |
---|
48 | |
---|
49 | export OMP_NUM_THREADS=1 |
---|
50 | cd \${BRIDGE_MSUB_PWD} |
---|
51 | |
---|
52 | module purge |
---|
53 | module load licsrv/intel |
---|
54 | module load c/intel/14.0.3.174 |
---|
55 | module load c++/intel/14.0.3.174 |
---|
56 | module load fortran/intel/14.0.3.174 |
---|
57 | module load mkl/14.0.3.174 |
---|
58 | module load idb/14.0.3.174 |
---|
59 | module load intel/14.0.3.174 |
---|
60 | module load mpi/bullxmpi/1.2.8.4 |
---|
61 | module load netcdf/4.3.3.1_hdf5_parallel |
---|
62 | |
---|
63 | rm -rf gcm.log logs *.nc netcdf |
---|
64 | date > gcm.log |
---|
65 | ulimit -s unlimited |
---|
66 | $3 ./gcm.exe >> gcm.log |
---|
67 | date >> gcm.log |
---|
68 | |
---|
69 | mkdir -p netcdf |
---|
70 | cp gcm.log *.def netcdf |
---|
71 | mv *.nc netcdf |
---|
72 | |
---|
73 | mkdir -p logs |
---|
74 | cp *.xml logs |
---|
75 | mv xios_client_*.err xios_client_*.out gcm.log logs |
---|
76 | |
---|
77 | EOF |
---|
78 | } |
---|