.job.sh 839 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/bash
  2. eval $nodes_;
  3. eval $cores_;
  4. eval $mpi_proc_;
  5. eval $threads_;
  6. eval $max_time_;
  7. eval $fname_;
  8. eval $args_;
  9. WORK_DIR=${PWD}
  10. cd ${WORK_DIR}
  11. #export KMP_AFFINITY=verbose
  12. for (( k=0; k<${#nodes[@]}; k++ )) ; do
  13. if [ "${nodes[k]}" == "${NODES}" ] &&
  14. [ "${mpi_proc[k]}" == "${MPI_PROC}" ]; then
  15. export OMP_NUM_THREADS=${threads[k]};
  16. # CPU only
  17. EXEC_=${EXEC};
  18. FNAME=${RESULT_DIR}/$(basename ${EXEC_})_${fname[k]}.out;
  19. if [ -f ${EXEC_} ] && [ ! -s ${FNAME} ] ; then
  20. printf '%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};
  21. printf "COMMAND: ${EXEC_} ${args[k]}\n" | tee -a ${FNAME};
  22. ${TIMEOUT} ${max_time[k]} time mpirun -np ${mpi_proc[k]} ${EXEC_} ${args[k]} &> >(tee -a ${FNAME});
  23. printf '\n%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};
  24. fi;
  25. fi;
  26. done;