123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386 |
- #!/bin/bash
- CORES=16;
- export EXEC=examples/bin/fmm_cheb
- # List arrays and corresponding executable option prefix
- declare -a opt_array=(nodes cores mpi_proc threads testcase n_pts m_pts m q tol depth unif adap max_time);
- declare -a opt_names=( - - - omp test N M m q tol d unif adap -);
- for (( i=0; i<${#opt_names[@]}; i++ )) ; do # Declare arrays
- eval "declare -a ${opt_array[$i]}=()";
- done
- ###################################################################################################
- # UNIFORM OCTREE, LAPLACE KERNEL, OMP SCALABILITY RESULTS #
- ###################################################################################################
- # m=10, q=14, octants=512, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 1 1 :)
- threads+=( 1 2 4 8 16 :)
- testcase+=( 1 1 1 1 1 :)
- n_pts+=( $((8**3)) $((8**3)) $((8**3)) $((8**3)) $((8**3)) :)
- m_pts+=( 1 1 1 1 1 :)
- m+=( 10 10 10 10 10 :)
- q+=( 14 14 14 14 14 :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 15 15 :)
- unif+=( 1 1 1 1 1 :)
- adap+=( 0 0 0 0 0 :)
- max_time+=( 320 160 80 40 20 :)
- # m=10, q=14, octants=4096, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 1 1 :)
- threads+=( 1 2 4 8 16 :)
- testcase+=( 1 1 1 1 1 :)
- n_pts+=( $((8**4)) $((8**4)) $((8**4)) $((8**4)) $((8**4)) :)
- m_pts+=( 1 1 1 1 1 :)
- m+=( 10 10 10 10 10 :)
- q+=( 14 14 14 14 14 :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 15 15 :)
- unif+=( 1 1 1 1 1 :)
- adap+=( 0 0 0 0 0 :)
- max_time+=( 2560 1280 640 320 160 :)
- # m=10, q=14, octants=32768, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 : :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
- mpi_proc+=( 1 1 1 1 1 : :)
- threads+=( 1 2 4 8 16 : :)
- testcase+=( 1 1 1 1 1 : :)
- n_pts+=( $((8**5)) $((8**5)) $((8**5)) $((8**5)) $((8**5)) : :)
- m_pts+=( 1 1 1 1 1 : :)
- m+=( 10 10 10 10 10 : :)
- q+=( 14 14 14 14 14 : :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 : :)
- depth+=( 15 15 15 15 15 : :)
- unif+=( 1 1 1 1 1 : :)
- adap+=( 0 0 0 0 0 : :)
- max_time+=( 2560 1280 640 320 160 : :)
- ###################################################################################################
- # NON-UNIFORM OCTREE, LAPLACE KERNEL, OMP SCALABILITY RESULTS #
- ###################################################################################################
- # m=10, q=14, octants=939, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 1 1 :)
- threads+=( 1 2 4 8 16 :)
- testcase+=( 1 1 1 1 1 :)
- n_pts+=( 32 32 32 32 32 :)
- m_pts+=( 1 1 1 1 1 :)
- m+=( 10 10 10 10 10 :)
- q+=( 14 14 14 14 14 :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 15 15 :)
- unif+=( 0 0 0 0 0 :)
- adap+=( 0 0 0 0 0 :)
- max_time+=( 320 160 80 40 20 :)
- # m=10, q=14, octants=5685, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 1 1 :)
- threads+=( 1 2 4 8 16 :)
- testcase+=( 1 1 1 1 1 :)
- n_pts+=( 256 256 256 256 256 :)
- m_pts+=( 1 1 1 1 1 :)
- m+=( 10 10 10 10 10 :)
- q+=( 14 14 14 14 14 :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 15 15 :)
- unif+=( 0 0 0 0 0 :)
- adap+=( 0 0 0 0 0 :)
- max_time+=( 2560 1280 640 320 160 :)
- # m=10, q=14, octants=37416, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 : :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
- mpi_proc+=( 1 1 1 1 1 : :)
- threads+=( 1 2 4 8 16 : :)
- testcase+=( 1 1 1 1 1 : :)
- n_pts+=( 2048 2048 2048 2048 2048 : :)
- m_pts+=( 1 1 1 1 1 : :)
- m+=( 10 10 10 10 10 : :)
- q+=( 14 14 14 14 14 : :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 : :)
- depth+=( 15 15 15 15 15 : :)
- unif+=( 0 0 0 0 0 : :)
- adap+=( 0 0 0 0 0 : :)
- max_time+=( 2560 1280 640 320 160 : :)
- ###################################################################################################
- ###################################################################################################
- # UNIFORM OCTREE, STOKES KERNEL, OMP SCALABILITY RESULTS #
- ###################################################################################################
- # m=10, q=14, octants=512, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 1 1 :)
- threads+=( 1 2 4 8 16 :)
- testcase+=( 3 3 3 3 3 :)
- n_pts+=( $((8**3)) $((8**3)) $((8**3)) $((8**3)) $((8**3)) :)
- m_pts+=( 1 1 1 1 1 :)
- m+=( 10 10 10 10 10 :)
- q+=( 14 14 14 14 14 :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 15 15 :)
- unif+=( 1 1 1 1 1 :)
- adap+=( 0 0 0 0 0 :)
- max_time+=( 3080 1540 720 360 180 :)
- # m=10, q=14, octants=4096, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 1 1 :)
- threads+=( 1 2 4 8 16 :)
- testcase+=( 3 3 3 3 3 :)
- n_pts+=( $((8**4)) $((8**4)) $((8**4)) $((8**4)) $((8**4)) :)
- m_pts+=( 1 1 1 1 1 :)
- m+=( 10 10 10 10 10 :)
- q+=( 14 14 14 14 14 :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 15 15 :)
- unif+=( 1 1 1 1 1 :)
- adap+=( 0 0 0 0 0 :)
- max_time+=( 23040 11520 5760 2880 1440 :)
- # m=10, q=14, octants=32768, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 : :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : :)
- mpi_proc+=( 1 1 1 1 1 : :)
- threads+=( 1 2 4 8 16 : :)
- testcase+=( 3 3 3 3 3 : :)
- n_pts+=( $((8**5)) $((8**5)) $((8**5)) $((8**5)) $((8**5)) : :)
- m_pts+=( 1 1 1 1 1 : :)
- m+=( 10 10 10 10 10 : :)
- q+=( 14 14 14 14 14 : :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 : :)
- depth+=( 15 15 15 15 15 : :)
- unif+=( 1 1 1 1 1 : :)
- adap+=( 0 0 0 0 0 : :)
- max_time+=( 184320 92160 46080 23040 11520 : :)
- ###################################################################################################
- # NON-UNIFORM OCTREE, STOKES KERNEL, OMP SCALABILITY RESULTS #
- ###################################################################################################
- # m=10, q=14, octants=939, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 1 1 :)
- threads+=( 1 2 4 8 16 :)
- testcase+=( 3 3 3 3 3 :)
- n_pts+=( 32 32 32 32 32 :)
- m_pts+=( 1 1 1 1 1 :)
- m+=( 10 10 10 10 10 :)
- q+=( 14 14 14 14 14 :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 15 15 :)
- unif+=( 0 0 0 0 0 :)
- adap+=( 0 0 0 0 0 :)
- max_time+=( 3080 1540 720 360 180 :)
- # m=10, q=14, octants=5685, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 1 1 :)
- threads+=( 1 2 4 8 16 :)
- testcase+=( 3 3 3 3 3 :)
- n_pts+=( 256 256 256 256 256 :)
- m_pts+=( 1 1 1 1 1 :)
- m+=( 10 10 10 10 10 :)
- q+=( 14 14 14 14 14 :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 15 15 :)
- unif+=( 0 0 0 0 0 :)
- adap+=( 0 0 0 0 0 :)
- max_time+=( 23040 11520 5760 2880 1440 :)
- # m=10, q=14, octants=37416, threads={1,2,4,8,16}
- nodes+=( 1 1 1 1 1 : : : :)
- cores+=( ${CORES} ${CORES} ${CORES} ${CORES} ${CORES} : : : :)
- mpi_proc+=( 1 1 1 1 1 : : : :)
- threads+=( 1 2 4 8 16 : : : :)
- testcase+=( 3 3 3 3 3 : : : :)
- n_pts+=( 2048 2048 2048 2048 2048 : : : :)
- m_pts+=( 1 1 1 1 1 : : : :)
- m+=( 10 10 10 10 10 : : : :)
- q+=( 14 14 14 14 14 : : : :)
- tol+=( 1e-0 1e-0 1e-0 1e-0 1e-0 : : : :)
- depth+=( 15 15 15 15 15 : : : :)
- unif+=( 0 0 0 0 0 : : : :)
- adap+=( 0 0 0 0 0 : : : :)
- max_time+=( 184320 92160 46080 23040 11520 : : : :)
- ###################################################################################################
- ###################################################################################################
- # UNIFORM OCTREE, LAPLACE KERNEL, SINGLE NODE PERFORMANCE #
- ###################################################################################################
- # m=6, q=9, octants={512,4096,3276}
- nodes+=( 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 :)
- threads+=( ${CORES} ${CORES} ${CORES} :)
- testcase+=( 1 1 1 :)
- n_pts+=( $((8**3)) $((8**4)) $((8**5)) :)
- m_pts+=( 1 1 1 :)
- m+=( 6 6 6 :)
- q+=( 9 9 9 :)
- tol+=( 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 :)
- unif+=( 1 1 1 :)
- adap+=( 0 0 0 :)
- max_time+=( 20 160 1280 :)
- # m=10, q=14, octants={512,4096,3276}
- nodes+=( 1 1 1 : :)
- cores+=( ${CORES} ${CORES} ${CORES} : :)
- mpi_proc+=( 1 1 1 : :)
- threads+=( ${CORES} ${CORES} ${CORES} : :)
- testcase+=( 1 1 1 : :)
- n_pts+=( $((8**3)) $((8**4)) $((8**5)) : :)
- m_pts+=( 1 1 1 : :)
- m+=( 10 10 10 : :)
- q+=( 14 14 14 : :)
- tol+=( 1e-0 1e-0 1e-0 : :)
- depth+=( 15 15 15 : :)
- unif+=( 1 1 1 : :)
- adap+=( 0 0 0 : :)
- max_time+=( 20 160 1280 : :)
- ###################################################################################################
- # NON-UNIFORM OCTREE, LAPLACE KERNEL, SINGLE NODE PERFORMANCE #
- ###################################################################################################
- # m=6, q=9, octants={512,4096,3276}
- nodes+=( 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 :)
- threads+=( ${CORES} ${CORES} ${CORES} :)
- testcase+=( 1 1 1 :)
- n_pts+=( 32 256 2048 :)
- m_pts+=( 1 1 1 :)
- m+=( 6 6 6 :)
- q+=( 9 9 9 :)
- tol+=( 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 :)
- unif+=( 0 0 0 :)
- adap+=( 0 0 0 :)
- max_time+=( 20 160 1280 :)
- # m=10, q=14, octants={512,4096,3276}
- nodes+=( 1 1 1 : :)
- cores+=( ${CORES} ${CORES} ${CORES} : :)
- mpi_proc+=( 1 1 1 : :)
- threads+=( ${CORES} ${CORES} ${CORES} : :)
- testcase+=( 1 1 1 : :)
- n_pts+=( 32 256 2048 : :)
- m_pts+=( 1 1 1 : :)
- m+=( 10 10 10 : :)
- q+=( 14 14 14 : :)
- tol+=( 1e-0 1e-0 1e-0 : :)
- depth+=( 15 15 15 : :)
- unif+=( 0 0 0 : :)
- adap+=( 0 0 0 : :)
- max_time+=( 20 160 1280 : :)
- ###################################################################################################
- # UNIFORM OCTREE, STOKES KERNEL, SINGLE NODE PERFORMANCE #
- ###################################################################################################
- # m=6, q=9, octants={512,4096,3276}
- nodes+=( 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 :)
- threads+=( ${CORES} ${CORES} ${CORES} :)
- testcase+=( 3 3 3 :)
- n_pts+=( $((8**3)) $((8**4)) $((8**5)) :)
- m_pts+=( 1 1 1 :)
- m+=( 6 6 6 :)
- q+=( 9 9 9 :)
- tol+=( 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 :)
- unif+=( 1 1 1 :)
- adap+=( 0 0 0 :)
- max_time+=( 180 1440 11520 :)
- # m=10, q=14, octants={512,4096,3276}
- nodes+=( 1 1 1 : :)
- cores+=( ${CORES} ${CORES} ${CORES} : :)
- mpi_proc+=( 1 1 1 : :)
- threads+=( ${CORES} ${CORES} ${CORES} : :)
- testcase+=( 3 3 3 : :)
- n_pts+=( $((8**3)) $((8**4)) $((8**5)) : :)
- m_pts+=( 1 1 1 : :)
- m+=( 10 10 10 : :)
- q+=( 14 14 14 : :)
- tol+=( 1e-0 1e-0 1e-0 : :)
- depth+=( 15 15 15 : :)
- unif+=( 1 1 1 : :)
- adap+=( 0 0 0 : :)
- max_time+=( 180 1440 11520 : :)
- ###################################################################################################
- # NON-UNIFORM OCTREE, STOKES KERNEL, SINGLE NODE PERFORMANCE #
- ###################################################################################################
- # m=6, q=9, octants={512,4096,3276}
- nodes+=( 1 1 1 :)
- cores+=( ${CORES} ${CORES} ${CORES} :)
- mpi_proc+=( 1 1 1 :)
- threads+=( ${CORES} ${CORES} ${CORES} :)
- testcase+=( 3 3 3 :)
- n_pts+=( 32 256 2048 :)
- m_pts+=( 1 1 1 :)
- m+=( 6 6 6 :)
- q+=( 9 9 9 :)
- tol+=( 1e-0 1e-0 1e-0 :)
- depth+=( 15 15 15 :)
- unif+=( 0 0 0 :)
- adap+=( 0 0 0 :)
- max_time+=( 180 1440 11520 :)
- # m=10, q=14, octants={512,4096,3276}
- nodes+=( 1 1 1 : :)
- cores+=( ${CORES} ${CORES} ${CORES} : :)
- mpi_proc+=( 1 1 1 : :)
- threads+=( ${CORES} ${CORES} ${CORES} : :)
- testcase+=( 3 3 3 : :)
- n_pts+=( 32 256 2048 : :)
- m_pts+=( 1 1 1 : :)
- m+=( 10 10 10 : :)
- q+=( 14 14 14 : :)
- tol+=( 1e-0 1e-0 1e-0 : :)
- depth+=( 15 15 15 : :)
- unif+=( 0 0 0 : :)
- adap+=( 0 0 0 : :)
- max_time+=( 180 1440 11520 : :)
- ###################################################################################################
- WORK_DIR=$(dirname ${PWD}/$0)/..
- TERM_WIDTH=$(stty size | cut -d ' ' -f 2)
- source ${WORK_DIR}/scripts/.submit_jobs.sh | cut -b -${TERM_WIDTH}
|