.job.ronaldo 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. #PBS -N fmm
  3. #PBS -V
  4. #
  5. # Options for Ronaldo
  6. #PBS -q ob
  7. eval $nodes_;
  8. eval $cores_;
  9. eval $mpi_proc_;
  10. eval $threads_;
  11. eval $testcase_;
  12. eval $n_pts_;
  13. eval $m_;
  14. eval $q_;
  15. eval $tol_;
  16. eval $depth_;
  17. eval $unif_;
  18. eval $adap_;
  19. eval $max_time_;
  20. eval $fname_;
  21. eval $args_;
  22. WORK_DIR=${PBS_O_WORKDIR}
  23. cd ${WORK_DIR}
  24. for (( k=0; k<${#nodes[@]}; k++ )) ; do
  25. if [ "${nodes[k]}" == "${NODES}" ] &&
  26. [ "${mpi_proc[k]}" == "${MPI_PROC}" ]; then
  27. export OMP_NUM_THREADS=${threads[k]};
  28. # CPU only
  29. EXEC_=${EXEC};
  30. FNAME=${RESULT_DIR}/$(basename ${EXEC_})_${fname[k]}.out;
  31. if [ -f ${EXEC_} ] && [ ! -s ${FNAME} ] ; then
  32. printf '%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};
  33. printf "COMMAND: ${EXEC_} ${args[k]}\n" | tee -a ${FNAME};
  34. ${TIMEOUT} ${max_time[k]} time mpirun --hostfile ${PBS_NODEFILE} -np ${mpi_proc[k]} ${EXEC_} ${args[k]} &> >(tee -a ${FNAME});
  35. printf '\n%*s\n\n' "100" ' ' | tr ' ' "#" | tee -a ${FNAME};
  36. fi;
  37. fi;
  38. done;