| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | #!/bin/bash#SBATCH -J fmm#SBATCH --export=ALL## Options for Stampede#SBATCH -p normal-mic# SBATCH -A <project>eval    $nodes_;eval    $cores_;eval $mpi_proc_;eval  $threads_;eval $testcase_;eval    $n_pts_;eval        $m_;eval        $q_;eval      $tol_;eval    $depth_;eval     $unif_;eval     $adap_;eval $max_time_;eval    $fname_;eval     $args_;WORK_DIR=${PWD}cd ${WORK_DIR}#export KMP_AFFINITY=verbose#Set mic environment variables#export OFFLOAD_REPORT=2export MIC_ENV_PREFIX=MICexport MIC_KMP_AFFINITY=explicit,granularity=fine,proclist=[1-240:1]export MIC_OMP_NUM_THREADS=240export MIC_USE_2MB_BUFFERS=64Kfor (( k=0; k<${#nodes[@]}; k++ )) ; do  if [ "${nodes[k]}" == "${NODES}" ] &&     [ "${mpi_proc[k]}" == "${MPI_PROC}" ]; then    export OMP_NUM_THREADS=${threads[k]};    # CPU only    EXEC_=${EXEC};    FNAME=${RESULT_DIR}/$(basename ${EXEC_})_${fname[k]}.out;    if [ -f ${EXEC_} ] && [ ! -s ${FNAME} ] ; then      printf '%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};      printf "COMMAND: ${EXEC_} ${args[k]}\n" | tee -a ${FNAME};      ${TIMEOUT} ${max_time[k]} time ibrun tacc_affinity ${EXEC_} ${args[k]} &> >(tee -a ${FNAME});      printf '\n%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};    fi;    # CPU+PHI seqential    EXEC_=${EXEC}_mic;    FNAME=${RESULT_DIR}/$(basename ${EXEC_})_${fname[k]}.out;    if [ -f ${EXEC_} ] && [ ! -s ${FNAME} ] ; then      printf '%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};      printf "COMMAND: ${EXEC_} ${args[k]}\n" | tee -a ${FNAME};      ${TIMEOUT} ${max_time[k]} time ibrun tacc_affinity ${EXEC_} ${args[k]} &> >(tee -a ${FNAME});      printf '\n%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};    fi;    # CPU+PHI asynchronous    EXEC_=${EXEC}_async;    FNAME=${RESULT_DIR}/$(basename ${EXEC_})_${fname[k]}.out;    if [ -f ${EXEC_} ] && [ ! -s ${FNAME} ] ; then      printf '%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};      printf "COMMAND: ${EXEC_} ${args[k]}\n" | tee -a ${FNAME};      ${TIMEOUT} ${max_time[k]} time ibrun tacc_affinity ${EXEC_} ${args[k]} &> >(tee -a ${FNAME});      printf '\n%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};    fi;  fi;done;
 |