1 | #!/bin/bash |
---|
2 | #SBATCH --job-name=sette_test |
---|
3 | #SBATCH --time=0:20:0 |
---|
4 | #SBATCH --nodes=NODES |
---|
5 | #SBATCH --ntasks=TOTAL_NPROCS |
---|
6 | #SBATCH --account=n01 |
---|
7 | #SBATCH --partition=standard |
---|
8 | #SBATCH --qos=standard |
---|
9 | ##BATCH --reservation=shortqos |
---|
10 | ##BATCH --qos=short |
---|
11 | module -s restore /work/n01/shared/acc/n01_modules/ucx_env |
---|
12 | # |
---|
13 | export XIO_HOME=/work/n01/shared/acc/xios-2.5 |
---|
14 | # |
---|
15 | export OMP_NUM_THREADS=1 |
---|
16 | export OCORES=NPROCS |
---|
17 | export XCORES=NXIOPROCS |
---|
18 | export SETTE_DIR=DEF_SETTE_DIR |
---|
19 | # |
---|
20 | # load sette functions (only post_test_tidyup needed) |
---|
21 | # |
---|
22 | . ${SETTE_DIR}/all_functions.sh |
---|
23 | ############################################################### |
---|
24 | # |
---|
25 | # set up mpp computing environment |
---|
26 | # |
---|
27 | # |
---|
28 | # Local settings. These settings are for a particular machine (the MOBILIS ClusterVision |
---|
29 | # system at NOCS) at a particular stage of that machine's evolution. This template file |
---|
30 | # is provided for illustration purposes only and will not work on any other machine. There |
---|
31 | # should, however, be sufficient similarity with other MPP platforms and batch systems |
---|
32 | # for this example to provide a useful guide for experienced users |
---|
33 | # |
---|
34 | # Don't remove neither change the following line |
---|
35 | # BODY |
---|
36 | # |
---|
37 | # Test specific settings. Do not hand edit these lines; the fcm_job.sh script will set these |
---|
38 | # (via sed operating on this template job file). Note that the number of compute nodes required |
---|
39 | # is also set by the fcm_job.sh on the PBS select header line above. |
---|
40 | # |
---|
41 | # These variables are needed by post_test_tidyup function in all_functions.sh |
---|
42 | # |
---|
43 | export INPUT_DIR=DEF_INPUT_DIR |
---|
44 | export CONFIG_DIR=DEF_CONFIG_DIR |
---|
45 | export TOOLS_DIR=DEF_TOOLS_DIR |
---|
46 | export NEMO_VALIDATION_DIR=DEF_NEMO_VALIDATION |
---|
47 | export NEW_CONF=DEF_NEW_CONF |
---|
48 | export CMP_NAM=DEF_CMP_NAM |
---|
49 | export TEST_NAME=DEF_TEST_NAME |
---|
50 | export EXE_DIR=DEF_EXE_DIR |
---|
51 | # |
---|
52 | # end of set up |
---|
53 | ############################################################### |
---|
54 | # |
---|
55 | # change to the working directory |
---|
56 | # |
---|
57 | cd $EXE_DIR |
---|
58 | echo Directory is `pwd` |
---|
59 | if [ $XCORES -eq 0 ]; then |
---|
60 | # |
---|
61 | # Run SPMD case |
---|
62 | # |
---|
63 | echo srun --cpu-bind=v,rank_ldom -n $OCORES ./nemo |
---|
64 | srun --cpu-bind=v,rank_ldom -n $OCORES ./nemo |
---|
65 | else |
---|
66 | if [ ! -f ./xios_server.exe ] && [ -f ${XIO_HOME}/bin/xios_server.exe ]; then |
---|
67 | cp ${XIO_HOME}/bin/xios_server.exe . |
---|
68 | fi |
---|
69 | if [ ! -f ./xios_server.exe ]; then |
---|
70 | echo "./xios_server.exe not found" |
---|
71 | echo "run aborted" |
---|
72 | exit |
---|
73 | fi |
---|
74 | # |
---|
75 | # Run MPMD case |
---|
76 | # |
---|
77 | cat > myscript_wrapper2.sh << EOFB |
---|
78 | #!/bin/ksh |
---|
79 | # |
---|
80 | set -A map ./xios_server.exe ./nemo |
---|
81 | exec_map=( 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) |
---|
82 | # |
---|
83 | exec \${map[\${exec_map[\$SLURM_PROCID]}]} |
---|
84 | ## |
---|
85 | EOFB |
---|
86 | chmod u+x ./myscript_wrapper2.sh |
---|
87 | # |
---|
88 | srun --mem-bind=local --cpu-bind=v,map_cpu:00,0x4,0x8,0xc,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e,0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e,0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e, ./myscript_wrapper2.sh |
---|
89 | # |
---|
90 | fi |
---|
91 | # |
---|
92 | post_test_tidyup |
---|
93 | # END_BODY |
---|
94 | # Don't remove neither change the previous line |
---|
95 | exit |
---|