| 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=2
 
- export MIC_ENV_PREFIX=MIC
 
- export MIC_KMP_AFFINITY=explicit,granularity=fine,proclist=[1-240:1]
 
- export MIC_OMP_NUM_THREADS=240
 
- export MIC_USE_2MB_BUFFERS=64K
 
- for (( 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;
 
 
  |