123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393 |
- #!/bin/bash
- CORES=16;
- export EXEC=examples/bin/fmm_cheb
- # Set run parameters
- declare -a nodes=();
- declare -a cores=();
- declare -a mpi_proc=();
- declare -a threads=();
- declare -a testcase=();
- declare -a n_pts=();
- declare -a m=();
- declare -a q=();
- declare -a tol=();
- declare -a depth=();
- declare -a unif=();
- declare -a adap=();
- declare -a max_time=();
- ###################################################################################################
- # 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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+=( 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 : :)
- ###################################################################################################
- # Export arrays
- export nodes_="$(declare -p nodes)";
- export cores_="$(declare -p cores)";
- export mpi_proc_="$(declare -p mpi_proc)";
- export threads_="$(declare -p threads)";
- export testcase_="$(declare -p testcase)";
- export n_pts_="$(declare -p n_pts)";
- export m_="$(declare -p m)";
- export q_="$(declare -p q)";
- export tol_="$(declare -p tol)";
- export depth_="$(declare -p depth)";
- export unif_="$(declare -p unif)";
- export adap_="$(declare -p adap)";
- export max_time_="$(declare -p max_time)";
- export RESULT_FNAME=$(basename ${0%.*}).out;
- export WORK_DIR=$(dirname ${PWD}/$0)/..
- cd ${WORK_DIR}
- TERM_WIDTH=$(stty size | cut -d ' ' -f 2)
- ./scripts/.submit_jobs.sh | cut -b -${TERM_WIDTH}
|