#!/bin/bash -x #SBATCH -J Test_case_B-gpu #SBATCH --account=prpb85 #SBATCH --nodes=24 #SBATCH --ntasks-per-node=4 #SBATCH --cpus-per-task=12 #SBATCH --time=00:29:59 #SBATCH --partition=booster #SBATCH --output=specfem_%x_juwels-booster-%j.output #SBATCH --gres=gpu:4 ##SBATCH --acctg-freq=task=1 set -e source ../env/env_juwels-booster grep "^[^#;]" ../env/env_juwels-booster cat job_juwels-booster_test_case_B.slurm echo "==========" echo "config.log" echo "==========" cat $install_dir/TestCaseB/specfem3d_globe/config.log echo "========" echo "make.log" echo "========" cat $install_dir/TestCaseB/specfem3d_globe/make.log cd $install_dir/TestCaseB/specfem3d_globe export I_MPI_PMI_VALUE_LENGTH_MAX=1800 #Make sure that OMP_NUM_THREADS / KMP_HW_SUBSET = cpus-per-task export KMP_HW_SUBSET=1T export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK} export KMP_AFFINITY=granularity=core,compact export FORT_BUFFERED=true ulimit -s unlimited MESHER_EXE=./bin/xmeshfem3D SOLVER_EXE=./bin/xspecfem3D # backup files used for this simulation cp DATA/Par_file OUTPUT_FILES/ cp DATA/STATIONS OUTPUT_FILES/ cp DATA/CMTSOLUTION OUTPUT_FILES/ ## ## mesh generation ## sleep 2 echo echo `date` echo "starting MPI mesher" echo MPI_PROCESS=` echo "$SLURM_NNODES*$SLURM_NTASKS_PER_NODE" | bc -l` echo "SLURM_NTASKS_PER_NODE = " $SLURM_NTASKS_PER_NODE echo "SLURM_CPUS_PER_TASKS = " $SLURM_CPUS_PER_TASK echo "SLURM_NNODES=" $SLURM_NNODES echo "MPI_PROCESS $MPI_PROCESS" echo "OMP_NUM_THREADS=$OMP_NUM_THREADS" time srun -n ${MPI_PROCESS} ${MESHER_EXE} echo " mesher done: `date`" echo ## ## forward simulation ## sleep 2 echo echo `date` echo starting run in current directory $PWD echo time srun -n ${MPI_PROCESS} ${SOLVER_EXE} echo "=====================" echo `date` ls -lrth $install_dir/TestCaseB/specfem3d_globe/OUTPUT_FILES/output_*.txt cat $install_dir/TestCaseB/specfem3d_globe/OUTPUT_FILES/output_mesher.txt cat $install_dir/TestCaseB/specfem3d_globe/OUTPUT_FILES/output_solver.txt