wscal.sh 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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. # UNIFORM OCTREE, LAPLACE KERNEL, WEAK SCALABILITY #
  20. ###################################################################################################
  21. # m=10, q=14, octants=64k oct/node
  22. nodes+=( 4 32 256 2048 16384 :)
  23. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  24. mpi_proc+=( 4 32 256 2048 16384 :)
  25. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  26. testcase+=( 1 1 1 1 1 :)
  27. n_pts+=( $((8**6)) $((8**7)) $((8**8)) $((8**9)) $((8**10)) :)
  28. m+=( 10 10 10 10 10 :)
  29. q+=( 14 14 14 14 14 :)
  30. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
  31. depth+=( 15 15 15 15 15 :)
  32. unif+=( 1 1 1 1 1 :)
  33. adap+=( 0 0 0 0 0 :)
  34. max_time+=( 800 800 800 800 800 :)
  35. # m=10, q=14, octants=32k oct/node
  36. nodes+=( 1 8 64 512 4096 32768 :)
  37. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  38. mpi_proc+=( 1 8 64 512 4096 32768 :)
  39. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  40. testcase+=( 1 1 1 1 1 1 :)
  41. n_pts+=( $((8**5)) $((8**6)) $((8**7)) $((8**8)) $((8**9)) $((8**10)) :)
  42. m+=( 10 10 10 10 10 10 :)
  43. q+=( 14 14 14 14 14 14 :)
  44. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 1e-0 :)
  45. depth+=( 15 15 15 15 15 15 :)
  46. unif+=( 1 1 1 1 1 1 :)
  47. adap+=( 0 0 0 0 0 0 :)
  48. max_time+=( 400 400 400 400 400 400 :)
  49. # m=10, q=14, octants=16k oct/node
  50. nodes+=( 2 16 128 1024 8192 :)
  51. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  52. mpi_proc+=( 2 16 128 1024 8192 :)
  53. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  54. testcase+=( 1 1 1 1 1 :)
  55. n_pts+=( $((8**5)) $((8**6)) $((8**7)) $((8**8)) $((8**9)) :)
  56. m+=( 10 10 10 10 10 :)
  57. q+=( 14 14 14 14 14 :)
  58. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
  59. depth+=( 15 15 15 15 15 :)
  60. unif+=( 1 1 1 1 1 :)
  61. adap+=( 0 0 0 0 0 :)
  62. max_time+=( 200 200 200 200 200 :)
  63. # m=10, q=14, octants=8k oct/node
  64. nodes+=( 4 32 256 2048 16384 : :)
  65. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  66. mpi_proc+=( 4 32 256 2048 16384 : :)
  67. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  68. testcase+=( 1 1 1 1 1 : :)
  69. n_pts+=( $((8**5)) $((8**6)) $((8**7)) $((8**8)) $((8**9)) : :)
  70. m+=( 10 10 10 10 10 : :)
  71. q+=( 14 14 14 14 14 : :)
  72. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 : :)
  73. depth+=( 15 15 15 15 15 : :)
  74. unif+=( 1 1 1 1 1 : :)
  75. adap+=( 0 0 0 0 0 : :)
  76. max_time+=( 100 100 100 100 100 : :)
  77. ###################################################################################################
  78. # UNIFORM OCTREE, STOKES KERNEL, WEAK SCALABILITY #
  79. ###################################################################################################
  80. # m=10, q=14, octants=32k oct/node
  81. nodes+=( 1 8 64 512 4096 32768 :)
  82. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  83. mpi_proc+=( 1 8 64 512 4096 32768 :)
  84. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  85. testcase+=( 3 3 3 3 3 3 :)
  86. n_pts+=( $((8**5)) $((8**6)) $((8**7)) $((8**8)) $((8**9)) $((8**10)) :)
  87. m+=( 10 10 10 10 10 10 :)
  88. q+=( 14 14 14 14 14 14 :)
  89. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 1e-0 :)
  90. depth+=( 15 15 15 15 15 15 :)
  91. unif+=( 1 1 1 1 1 1 :)
  92. adap+=( 0 0 0 0 0 0 :)
  93. max_time+=( 2400 2400 2400 2400 2400 2400 :)
  94. # m=10, q=14, octants=16k oct/node
  95. nodes+=( 2 16 128 1024 8192 :)
  96. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  97. mpi_proc+=( 2 16 128 1024 8192 :)
  98. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
  99. testcase+=( 3 3 3 3 3 :)
  100. n_pts+=( $((8**5)) $((8**6)) $((8**7)) $((8**8)) $((8**9)) :)
  101. m+=( 10 10 10 10 10 :)
  102. q+=( 14 14 14 14 14 :)
  103. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
  104. depth+=( 15 15 15 15 15 :)
  105. unif+=( 1 1 1 1 1 :)
  106. adap+=( 0 0 0 0 0 :)
  107. max_time+=( 1200 1200 1200 1200 1200 :)
  108. # m=10, q=14, octants=8k oct/node
  109. nodes+=( 4 32 256 2048 16384 : :)
  110. cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  111. mpi_proc+=( 4 32 256 2048 16384 : :)
  112. threads+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
  113. testcase+=( 3 3 3 3 3 : :)
  114. n_pts+=( $((8**5)) $((8**6)) $((8**7)) $((8**8)) $((8**9)) : :)
  115. m+=( 10 10 10 10 10 : :)
  116. q+=( 14 14 14 14 14 : :)
  117. tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 : :)
  118. depth+=( 15 15 15 15 15 : :)
  119. unif+=( 1 1 1 1 1 : :)
  120. adap+=( 0 0 0 0 0 : :)
  121. max_time+=( 600 600 600 600 600 : :)
  122. ###################################################################################################
  123. # Export arrays
  124. export nodes_="$(declare -p nodes)";
  125. export cores_="$(declare -p cores)";
  126. export mpi_proc_="$(declare -p mpi_proc)";
  127. export threads_="$(declare -p threads)";
  128. export testcase_="$(declare -p testcase)";
  129. export n_pts_="$(declare -p n_pts)";
  130. export m_="$(declare -p m)";
  131. export q_="$(declare -p q)";
  132. export tol_="$(declare -p tol)";
  133. export depth_="$(declare -p depth)";
  134. export unif_="$(declare -p unif)";
  135. export adap_="$(declare -p adap)";
  136. export max_time_="$(declare -p max_time)";
  137. export RESULT_FNAME=$(basename ${0%.*}).out;
  138. export WORK_DIR=$(dirname ${PWD}/$0)/..
  139. cd ${WORK_DIR}
  140. TERM_WIDTH=$(stty size | cut -d ' ' -f 2)
  141. ./scripts/.submit_jobs.sh | cut -b -${TERM_WIDTH}