[1781] | 1 | #!/bin/bash |
---|
| 2 | ##SBATCH --nodes=2 |
---|
| 3 | #SBATCH --ntasks=8 # Nombre total de processus MPI |
---|
| 4 | #SBATCH --ntasks-per-node=16 |
---|
| 5 | ##SBATCH --cpus-per-task=1 |
---|
| 6 | #SBATCH --hint=nomultithread |
---|
| 7 | #SBATCH -t 00:10:00 # Temps elapsed maximum d'exécution |
---|
| 8 | #SBATCH -o output.out # Nom du fichier de sortie |
---|
| 9 | #SBATCH -e error.err # Nom du fichier d'erreur |
---|
| 10 | ##SBATCH -p cpu_port # Nom de la partition d'exécution |
---|
| 11 | ##SBATCH -A sos@cpu |
---|
| 12 | ##SBATCH --distribution=arbitrary |
---|
| 13 | #SBATCH --account=psl@cpu |
---|
| 14 | |
---|
| 15 | |
---|
| 16 | cd ${SLURM_SUBMIT_DIR} |
---|
| 17 | |
---|
[1792] | 18 | |
---|
| 19 | #============================= X64_JEANZAY_prod ============================= |
---|
| 20 | |
---|
[1795] | 21 | module load subversion |
---|
[1792] | 22 | export arch=X64_JEANZAY |
---|
| 23 | export mode=prod |
---|
| 24 | export machine_name=jeanzay |
---|
| 25 | export machine_full_name=Jean-Zay |
---|
[1839] | 26 | export xios_dir=/gpfswork/rech/psl/rpsl954/xios/dev_trunk_omp |
---|
[1792] | 27 | export reference_dir=${WORK} |
---|
| 28 | export reference_file=xios_reference.tar.gz |
---|
| 29 | export reference_folder=xios_reference |
---|
| 30 | |
---|
| 31 | export build_dir=build_${arch}_${mode} |
---|
| 32 | export xios_revision=$(svn info --show-item revision .. 2>&1) |
---|
| 33 | export relurl=$(svn info --show-item relative-url .. 2>&1) |
---|
| 34 | |
---|
| 35 | source ../arch/arch-${arch}.env |
---|
[1838] | 36 | source $I_MPI_ROOT/intel64/bin/mpivars.sh release_mt |
---|
[1781] | 37 | module load cmake |
---|
| 38 | module load cdo |
---|
| 39 | module load subversion |
---|
| 40 | |
---|
| 41 | ulimit -c 0 |
---|
| 42 | |
---|
[1792] | 43 | bash -c "cd .. && ./make_xios --arch ${arch} --${mode} --omp --build_dir ${build_dir} --job 4" |
---|
[1781] | 44 | |
---|
[1792] | 45 | #----------- Fetch reference ----------- |
---|
| 46 | cp ${reference_dir}/${reference_file} ./ |
---|
| 47 | tar -xzvf ${reference_file} |
---|
[1781] | 48 | |
---|
[1792] | 49 | rm -f ${reference_file} |
---|
| 50 | |
---|
| 51 | for i in $(ls ${reference_folder}/) |
---|
[1781] | 52 | do |
---|
[1792] | 53 | folder=${i%%} |
---|
| 54 | bash -c "cd ${folder} && rm -rf config_*" |
---|
| 55 | bash -c "cp -r ${reference_folder}/${folder}/config_* ./${folder}" |
---|
[1781] | 56 | done |
---|
| 57 | |
---|
[1792] | 58 | rm -rf ${reference_folder} |
---|
[1781] | 59 | |
---|
| 60 | |
---|
[1838] | 61 | rm -f plain_report.txt |
---|
[1781] | 62 | |
---|
[1838] | 63 | echo "#revision" ${xios_revision} >> plain_report.txt |
---|
| 64 | echo "#relurl" ${relurl} >> plain_report.txt |
---|
| 65 | echo "#machine" ${machine_name} >> plain_report.txt |
---|
| 66 | echo "#build_dir" ${xios_dir}/${build_dir} >> plain_report.txt |
---|
| 67 | echo "#arch" ${arch} >> plain_report.txt |
---|
| 68 | echo "#mode" ${mode} >> plain_report.txt |
---|
[1781] | 69 | |
---|
| 70 | |
---|
[1792] | 71 | rm -f setup.sh |
---|
| 72 | touch setup.sh |
---|
| 73 | >setup.sh |
---|
| 74 | for i in $(ls -d test_*/) |
---|
| 75 | do |
---|
| 76 | cp setup.py ${i%%/} |
---|
[1838] | 77 | cp default_param.json ${i%%/} |
---|
| 78 | cp param_list.py ${i%%/} |
---|
[1792] | 79 | cp run_sub_test.sh ${i%%/} |
---|
| 80 | echo "bash -c \"cd " ${i%%/} " && python setup.py\" ">> setup.sh |
---|
| 81 | echo "echo \"setup.py called from " ${i%%/} "\"">> setup.sh |
---|
| 82 | done |
---|
[1781] | 83 | |
---|
[1792] | 84 | export output=$(python user_config.py 2>&1 >/dev/null) |
---|
| 85 | |
---|
| 86 | if [ "$output" -ne 0 ] |
---|
| 87 | then |
---|
| 88 | echo "user_config.py failed" |
---|
| 89 | exit |
---|
| 90 | else |
---|
| 91 | echo "user_config.py OK" |
---|
| 92 | fi |
---|
| 93 | |
---|
| 94 | |
---|
| 95 | cmake . |
---|
| 96 | ctest -V |
---|
| 97 | #ctest --output-on-failure |
---|
| 98 | make report |
---|
| 99 | |
---|
| 100 | rm -f test_*/setup.py |
---|
| 101 | rm -f test_*/run_sub_test.sh |
---|
| 102 | rm -f test_*/run_test_*.py |
---|
| 103 | rm -f test_*/CMakeLists.txt |
---|
| 104 | rm -f test_*/context_grid_dynamico.xml |
---|
| 105 | rm -f test_*/dynamico_grid.nc |
---|
| 106 | rm -f test_*/default_param.pyc |
---|
| 107 | rm -f test_*/user_param.pyc |
---|
| 108 | rm -f test_*/user_param.py.* |
---|
| 109 | |
---|
| 110 | mkdir -p ../html |
---|
| 111 | mkdir -p ../html/test_${machine_name} |
---|
[1838] | 112 | cp plain_report.txt ../html/test_${machine_name}/test_${xios_revision}_${machine_name}_${arch}_${mode}.txt |
---|
[1792] | 113 | |
---|
| 114 | |
---|
| 115 | mkdir -p ../html/def_files |
---|
| 116 | mkdir -p ../html/def_files/${xios_revision} |
---|
| 117 | |
---|
| 118 | for i in $(ls -d test_*/) |
---|
| 119 | do |
---|
| 120 | mkdir -p ../html/def_files/${xios_revision}/${i%%} |
---|
[1840] | 121 | cp ${i%%/}/user_param.json ../html/def_files/${xios_revision}/${i%%} |
---|
[1792] | 122 | for j in $(ls -d ${i%%/}/config_*) |
---|
| 123 | do |
---|
| 124 | mkdir -p ../html/def_files/${xios_revision}/${j%%} |
---|
| 125 | cp ${j%%}/setup/all_param.def ../html/def_files/${xios_revision}/${j%%} |
---|
| 126 | done |
---|
| 127 | done |
---|
| 128 | |
---|
| 129 | |
---|
| 130 | bash -c "cd ../html && python generate_test.py" |
---|
| 131 | |
---|
| 132 | #============================= X64_JEANZAY_debug ============================= |
---|
| 133 | |
---|
[1795] | 134 | module load subversion |
---|
[1792] | 135 | export arch=X64_JEANZAY |
---|
| 136 | export mode=debug |
---|
| 137 | export machine_name=jeanzay |
---|
| 138 | export machine_full_name=Jean-Zay |
---|
[1839] | 139 | export xios_dir=/gpfswork/rech/psl/rpsl954/xios/dev_trunk_omp |
---|
[1792] | 140 | export reference_dir=${WORK} |
---|
| 141 | export reference_file=xios_reference.tar.gz |
---|
| 142 | export reference_folder=xios_reference |
---|
| 143 | |
---|
| 144 | export build_dir=build_${arch}_${mode} |
---|
[1781] | 145 | export xios_revision=$(svn info --show-item revision .. 2>&1) |
---|
[1792] | 146 | export relurl=$(svn info --show-item relative-url .. 2>&1) |
---|
[1781] | 147 | |
---|
[1792] | 148 | source ../arch/arch-${arch}.env |
---|
[1838] | 149 | source $I_MPI_ROOT/intel64/bin/mpivars.sh release_mt |
---|
[1792] | 150 | module load cmake |
---|
| 151 | module load cdo |
---|
| 152 | module load subversion |
---|
| 153 | |
---|
| 154 | ulimit -c 0 |
---|
| 155 | |
---|
| 156 | bash -c "cd .. && ./make_xios --arch ${arch} --${mode} --omp --build_dir ${build_dir} --job 4" |
---|
| 157 | |
---|
| 158 | #----------- Fetch reference ----------- |
---|
| 159 | cp ${reference_dir}/${reference_file} ./ |
---|
| 160 | tar -xzvf ${reference_file} |
---|
| 161 | |
---|
| 162 | rm -f ${reference_file} |
---|
| 163 | |
---|
| 164 | for i in $(ls ${reference_folder}/) |
---|
| 165 | do |
---|
| 166 | folder=${i%%} |
---|
| 167 | bash -c "cd ${folder} && rm -rf config_*" |
---|
| 168 | bash -c "cp -r ${reference_folder}/${folder}/config_* ./${folder}" |
---|
| 169 | done |
---|
| 170 | |
---|
| 171 | rm -rf ${reference_folder} |
---|
| 172 | |
---|
| 173 | |
---|
[1838] | 174 | rm -f plain_report.txt |
---|
[1792] | 175 | |
---|
[1838] | 176 | echo "#revision" ${xios_revision} >> plain_report.txt |
---|
| 177 | echo "#relurl" ${relurl} >> plain_report.txt |
---|
| 178 | echo "#machine" ${machine_name} >> plain_report.txt |
---|
| 179 | echo "#build_dir" ${xios_dir}/${build_dir} >> plain_report.txt |
---|
| 180 | echo "#arch" ${arch} >> plain_report.txt |
---|
| 181 | echo "#mode" ${mode} >> plain_report.txt |
---|
[1792] | 182 | |
---|
| 183 | |
---|
[1781] | 184 | rm -f setup.sh |
---|
| 185 | touch setup.sh |
---|
| 186 | >setup.sh |
---|
| 187 | for i in $(ls -d test_*/) |
---|
| 188 | do |
---|
| 189 | cp setup.py ${i%%/} |
---|
[1838] | 190 | cp default_param.json ${i%%/} |
---|
| 191 | cp param_list.py ${i%%/} |
---|
[1792] | 192 | cp run_sub_test.sh ${i%%/} |
---|
| 193 | echo "bash -c \"cd " ${i%%/} " && python setup.py\" ">> setup.sh |
---|
[1781] | 194 | echo "echo \"setup.py called from " ${i%%/} "\"">> setup.sh |
---|
| 195 | done |
---|
| 196 | |
---|
| 197 | export output=$(python user_config.py 2>&1 >/dev/null) |
---|
| 198 | |
---|
| 199 | if [ "$output" -ne 0 ] |
---|
| 200 | then |
---|
| 201 | echo "user_config.py failed" |
---|
| 202 | exit |
---|
| 203 | else |
---|
| 204 | echo "user_config.py OK" |
---|
| 205 | fi |
---|
| 206 | |
---|
| 207 | |
---|
| 208 | cmake . |
---|
| 209 | ctest -V |
---|
| 210 | #ctest --output-on-failure |
---|
| 211 | make report |
---|
| 212 | |
---|
| 213 | rm -f test_*/setup.py |
---|
| 214 | rm -f test_*/run_sub_test.sh |
---|
| 215 | rm -f test_*/run_test_*.py |
---|
| 216 | rm -f test_*/CMakeLists.txt |
---|
| 217 | rm -f test_*/context_grid_dynamico.xml |
---|
| 218 | rm -f test_*/dynamico_grid.nc |
---|
| 219 | rm -f test_*/default_param.pyc |
---|
| 220 | rm -f test_*/user_param.pyc |
---|
| 221 | rm -f test_*/user_param.py.* |
---|
| 222 | |
---|
[1792] | 223 | mkdir -p ../html |
---|
| 224 | mkdir -p ../html/test_${machine_name} |
---|
[1838] | 225 | cp plain_report.txt ../html/test_${machine_name}/test_${xios_revision}_${machine_name}_${arch}_${mode}.txt |
---|
[1781] | 226 | |
---|
| 227 | |
---|
[1792] | 228 | mkdir -p ../html/def_files |
---|
| 229 | mkdir -p ../html/def_files/${xios_revision} |
---|
[1781] | 230 | |
---|
| 231 | for i in $(ls -d test_*/) |
---|
| 232 | do |
---|
[1792] | 233 | mkdir -p ../html/def_files/${xios_revision}/${i%%} |
---|
[1840] | 234 | cp ${i%%/}/user_param.json ../html/def_files/${xios_revision}/${i%%} |
---|
[1792] | 235 | for j in $(ls -d ${i%%/}/config_*) |
---|
[1781] | 236 | do |
---|
[1792] | 237 | mkdir -p ../html/def_files/${xios_revision}/${j%%} |
---|
| 238 | cp ${j%%}/setup/all_param.def ../html/def_files/${xios_revision}/${j%%} |
---|
[1781] | 239 | done |
---|
| 240 | done |
---|
| 241 | |
---|
| 242 | |
---|
[1792] | 243 | bash -c "cd ../html && python generate_test.py" |
---|
| 244 | |
---|