Changeset 1738 for XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/check.py
- Timestamp:
- 10/09/19 17:34:40 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/check.py
r1737 r1738 2 2 import sys 3 3 import subprocess 4 5 6 from user_param import * 4 import socket 5 import os.path 6 from os import path 7 8 9 from default_param import * 10 from user_param import * 11 # load default_param first, variables defines in user_param will overwrite the default value 12 7 13 8 14 … … 17 23 # else: 18 24 # print(runthis+" OK") 25 26 27 def write_jz_job(configName, nbproc=8): 28 red = lambda text: '\033[0;31m' + text + '\033[0m' 29 f=open("jz_job_"+configName+".sh", "w") 30 f.write("#!/bin/bash\n") 31 f.write("#SBATCH --ntasks="+repr(nbproc)+" # Nombre total de processus MPI\n") 32 f.write("#SBATCH --ntasks-per-node=16\n") 33 f.write("#SBATCH --hint=nomultithread\n") 34 f.write("#SBATCH -t 00:10:00 # Temps elapsed maximum d'execution\n") 35 f.write("#SBATCH -o single_config.out # Nom du fichier de sortie\n") 36 f.write("#SBATCH -e single_config.err # Nom du fichier d'erreur\n") 37 f.write("#SBATCH --account=psl@cpu\n") 38 f.write("cd ${SLURM_SUBMIT_DIR}\n") 39 f.write("module purge\n") 40 f.write("module load intel-all/19.0.4\n") 41 f.write("module load netcdf/4.7.0/intel-19.0.4-mpi\n") 42 f.write("module load netcdf-cxx/4.2/intel-19.0.4-mpi\n") 43 f.write("module load netcdf-fortran/4.4.5/intel-19.0.4-mpi\n") 44 f.write("module load gcc/6.5.0/gcc-4.8.5\n") 45 f.write("module load cmake\n") 46 f.write("module load cdo\n") 47 f.write("ulimit -c 0\n") 48 f.write("export machine_name=jeanzay\n") 49 f.write("cp ../setup.py ./\n") 50 f.write("cp ../run_sub_test.sh ./\n") 51 f.write("mv user_params.def user_params.def_bkp\n") 52 f.write("cp "+configName+"/setup/user_param.py user_params.def\n") 53 f.write("python setup.py\n") 54 f.write("cmake .\n") 55 f.write("ctest -V #enable all output\n") 56 f.write("rm -f setup.py run_sub_test.sh\n") 57 f.write("rm -f run_test_*.py\n") 58 f.write("rm -f user_param.py.*\n") 59 f.write("rm -f user_param.def\n") 60 f.write("mv user_params.def_bkp user_params.def\n") 61 f.write("\n") 62 f.close 63 64 65 66 def write_irene_job(configName, nbproc=8): 67 red = lambda text: '\033[0;31m' + text + '\033[0m' 68 f=open("irene_job_"+configName+".sh", "w") 69 f.write("#!/bin/bash\n") 70 f.write("#MSUB -r XIOS\n") 71 f.write("#MSUB -o client_output.out # standard output\n") 72 f.write("#MSUB -e client_error.err #error output\n") 73 f.write("#MSUB -eo\n") 74 f.write("#MSUB -c 1\n") 75 f.write("#MSUB -n "+ repr(nbproc) + " # Number of MPI tasks (SPMD case) or cores (MPMD case)\n") 76 f.write("#MSUB -X \n") 77 f.write("#MSUB -x \n") 78 f.write("#MSUB -T 600 # Wall clock limit (seconds)\n") 79 f.write("#MSUB -q skylake # thin nodes\n") 80 f.write("#MSUB -A devcmip6\n") 81 f.write("#MSUB -Q test\n") 82 f.write("#MSUB -m work\n") 83 f.write("cd $BRIDGE_MSUB_PWD\n") 84 f.write("module unload netcdf-c netcdf-fortran hdf5 flavor perl hdf5 boost blitz mpi gnu\n") 85 f.write("module load gnu\n") 86 f.write("module load mpi/intelmpi/2017.0.6.256\n") 87 f.write("module load flavor/buildcompiler/intel/17\n") 88 f.write("module load flavor/hdf5/parallel\n") 89 f.write("module load netcdf-fortran/4.4.4\n") 90 f.write("module load hdf5/1.8.20\n") 91 f.write("module load boost\n") 92 f.write("module load blitz\n") 93 f.write("module load feature/bridge/heterogenous_mpmd\n") 94 f.write("module load nco\n") 95 f.write("module load cdo\n") 96 f.write("export KMP_STACKSIZE=3g\n") 97 f.write("export KMP_LIBRARY=turnaround\n") 98 f.write("export MKL_SERIAL=YES\n") 99 f.write("export OMP_NUM_THREADS=${BRIDGE_MSUB_NCORE}\n") 100 f.write("set -x \n") 101 f.write("export machine_name=irene\n") 102 f.write("cp ../setup.py ./\n") 103 f.write("cp ../run_sub_test.sh ./\n") 104 f.write("mv user_params.def user_params.def_bkp\n") 105 f.write("cp "+configName+"/setup/user_param.py user_params.def\n") 106 f.write("python setup.py\n") 107 f.write("cmake .\n") 108 f.write("ctest -V #enable all output\n") 109 f.write("rm -f setup.py run_sub_test.sh\n") 110 f.write("rm -f run_test_*.py\n") 111 f.write("rm -f user_param.py.*\n") 112 f.write("rm -f user_param.def\n") 113 f.write("mv user_params.def_bkp user_params.def\n") 114 f.write("\n") 115 f.close 116 19 117 20 118 … … 200 298 print red("\n **************************************************") 201 299 g.close() 300 301 # generate job submission script 302 hostname=os.getenv('machine_name') 303 304 if hostname.startswith("jeanzay"): 305 write_jz_job(configName, NumberClients+NumberServers) 306 307 elif hostname.startswith("irene"): 308 write_irene_job(configName, NumberClients+NumberServers) 309 310 else : 311 print("machine unknown") 312 print >> sys.stderr, 1 313 sys.exit() 202 314 break 203 315 … … 231 343 print red("\n **************************************************") 232 344 g.close() 345 346 # generate job submission script 347 hostname=os.getenv('machine_name') 348 349 if hostname.startswith("jeanzay"): 350 write_jz_job(configName, NumberClients+NumberServers) 351 352 elif hostname.startswith("irene"): 353 write_irene_job(configName, NumberClients+NumberServers) 354 355 else : 356 print("machine unknown") 357 print >> sys.stderr, 1 358 sys.exit() 359 360 233 361 f.close() 234 362 h.write("\n")
Note: See TracChangeset
for help on using the changeset viewer.