sscal.sh 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #!/bin/bash
  2. CORES=16;
  3. export EXEC=examples/bin/fmm_cheb
  4. # Set run parameters
  5. declare -a nodes=();
  6. declare -a cores=();
  7. declare -a mpi_proc=();
  8. declare -a threads=();
  9. declare -a testcase=();
  10. declare -a n_pts=();
  11. declare -a m=();
  12. declare -a q=();
  13. declare -a tol=();
  14. declare -a depth=();
  15. declare -a unif=();
  16. declare -a adap=();
  17. declare -a max_time=();
  18. ###################################################################################################
  19. # NON-UNIFORM OCTREE, LAPLACE KERNEL, STRONG SCALABILITY #
  20. ###################################################################################################
  21. # m=10, q=14, octants=
  22. nodes+=( 1 8 64 512 4096 32768 :)
  23. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  24. mpi_proc+=( 4 32 256 2048 16384 16384 :)
  25. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  26. testcase+=( 1 1 1 1 1 1 :)
  27. n_pts+=( $((8**7)) $((8**7)) $((8**7)) $((8**7)) $((8**7)) $((8**7)) :)
  28. m_pts+=( 1 1 1 1 1 1 :)
  29. m+=( 10 10 10 10 10 10 :)
  30. q+=( 14 14 14 14 14 14 :)
  31. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 1e-0 :)
  32. depth+=( 15 15 15 15 15 15 :)
  33. unif+=( 0 0 0 0 0 0 :)
  34. adap+=( 0 0 0 0 0 0 :)
  35. max_time+=( 800 800 800 800 800 800 :)
  36. ###################################################################################################
  37. # NON-UNIFORM OCTREE, STOKES KERNEL, STRONG SCALABILITY #
  38. ###################################################################################################
  39. # m=10, q=14, octants=
  40. nodes+=( 1 8 64 512 4096 32768 :)
  41. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  42. mpi_proc+=( 1 8 64 512 4096 32768 :)
  43. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  44. testcase+=( 3 3 3 3 3 3 :)
  45. n_pts+=( $((8**7)) $((8**7)) $((8**7)) $((8**7)) $((8**7)) $((8**7)) :)
  46. m_pts+=( 1 1 1 1 1 1 :)
  47. m+=( 10 10 10 10 10 10 :)
  48. q+=( 14 14 14 14 14 14 :)
  49. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 1e-0 :)
  50. depth+=( 15 15 15 15 15 15 :)
  51. unif+=( 0 0 0 0 0 0 :)
  52. adap+=( 0 0 0 0 0 0 :)
  53. max_time+=( 2400 2400 2400 2400 2400 2400 :)
  54. ###################################################################################################
  55. # UNIFORM OCTREE, HELMHOLTZ KERNEL, STRONG SCALABILITY #
  56. ###################################################################################################
  57. # m=10, q=14, octants=262144
  58. nodes+=( 4 8 16 32 64 128 256 512 1024 :)
  59. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  60. mpi_proc+=( 4 8 16 32 64 128 256 512 1024 :)
  61. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  62. testcase+=( 5 5 5 5 5 5 5 5 5 :)
  63. n_pts+=( $((8**6)) $((8**6)) $((8**6)) $((8**6)) $((8**6)) $((8**6)) $((8**6)) $((8**6)) $((8**6)) :)
  64. m_pts+=( 1 1 1 1 1 1 1 1 1 :)
  65. m+=( 10 10 10 10 10 10 10 10 10 :)
  66. q+=( 14 14 14 14 14 14 14 14 14 :)
  67. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 1e-0 1e-0 1e-0 1e-0 :)
  68. depth+=( 15 15 15 15 15 15 15 15 15 :)
  69. unif+=( 1 1 1 1 1 1 1 1 1 :)
  70. adap+=( 0 0 0 0 0 0 0 0 0 :)
  71. max_time+=( 2400 2400 2400 2400 2400 2400 2400 2400 2400 :)
  72. ###################################################################################################
  73. # Export arrays
  74. export nodes_="$(declare -p nodes)";
  75. export cores_="$(declare -p cores)";
  76. export mpi_proc_="$(declare -p mpi_proc)";
  77. export threads_="$(declare -p threads)";
  78. export testcase_="$(declare -p testcase)";
  79. export n_pts_="$(declare -p n_pts)";
  80. export m_pts_="$(declare -p m_pts)";
  81. export m_="$(declare -p m)";
  82. export q_="$(declare -p q)";
  83. export tol_="$(declare -p tol)";
  84. export depth_="$(declare -p depth)";
  85. export unif_="$(declare -p unif)";
  86. export adap_="$(declare -p adap)";
  87. export max_time_="$(declare -p max_time)";
  88. export RESULT_FNAME=$(basename ${0%.*}).out;
  89. export WORK_DIR=$(dirname ${PWD}/$0)/..
  90. cd ${WORK_DIR}
  91. TERM_WIDTH=$(stty size | cut -d ' ' -f 2)
  92. ./scripts/.submit_jobs.sh | cut -b -${TERM_WIDTH}