From f2b8d6cdb44c2ffb3a1a306b4eb2f29a98a65dab Mon Sep 17 00:00:00 2001 From: Guillaume Raffy Date: Tue, 7 Jun 2022 19:01:30 +0200 Subject: [PATCH] now the hibridon benchmark runs one job for each machine type on physix - also tuned memry requirements so that the `representative_test` succeeds --- .ipr/launch-perf-jobs.sh | 127 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 121 insertions(+), 6 deletions(-) diff --git a/.ipr/launch-perf-jobs.sh b/.ipr/launch-perf-jobs.sh index ff854d3..c976ef0 100755 --- a/.ipr/launch-perf-jobs.sh +++ b/.ipr/launch-perf-jobs.sh @@ -38,14 +38,104 @@ function launch_job_for_host_group() local hosts='' local num_cores='' case "${host_group_id}" in + 'intel_xeon_x5550') + hosts="${hosts}physix48.ipr.univ-rennes1.fr" + num_cores='8' + ;; + 'intel_xeon_x5650') + hosts="${hosts}physix49.ipr.univ-rennes1.fr" + hosts="${hosts}|physix50.ipr.univ-rennes1.fr" + hosts="${hosts}|physix51.ipr.univ-rennes1.fr" + hosts="${hosts}|physix52.ipr.univ-rennes1.fr" + hosts="${hosts}|physix53.ipr.univ-rennes1.fr" + hosts="${hosts}|physix54.ipr.univ-rennes1.fr" + hosts="${hosts}|physix55.ipr.univ-rennes1.fr" + hosts="${hosts}|physix56.ipr.univ-rennes1.fr" + hosts="${hosts}|physix57.ipr.univ-rennes1.fr" + hosts="${hosts}|physix58.ipr.univ-rennes1.fr" + hosts="${hosts}|physix59.ipr.univ-rennes1.fr" + num_cores='12' + ;; + 'intel_xeon_e5-2660') + hosts="${hosts}physix60.ipr.univ-rennes1.fr" + hosts="${hosts}|physix61.ipr.univ-rennes1.fr" + hosts="${hosts}|physix62.ipr.univ-rennes1.fr" + hosts="${hosts}|physix63.ipr.univ-rennes1.fr" + + hosts="${hosts}|physix64.ipr.univ-rennes1.fr" + hosts="${hosts}|physix65.ipr.univ-rennes1.fr" + hosts="${hosts}|physix66.ipr.univ-rennes1.fr" + hosts="${hosts}|physix67.ipr.univ-rennes1.fr" + + hosts="${hosts}|physix68.ipr.univ-rennes1.fr" + hosts="${hosts}|physix69.ipr.univ-rennes1.fr" + hosts="${hosts}|physix70.ipr.univ-rennes1.fr" + hosts="${hosts}|physix71.ipr.univ-rennes1.fr" + num_cores='16' + ;; + 'intel_xeon_e5-2660v2') + hosts="${hosts}physix72.ipr.univ-rennes1.fr" + hosts="${hosts}|physix73.ipr.univ-rennes1.fr" + hosts="${hosts}|physix74.ipr.univ-rennes1.fr" + hosts="${hosts}|physix75.ipr.univ-rennes1.fr" + + hosts="${hosts}|physix76.ipr.univ-rennes1.fr" + hosts="${hosts}|physix77.ipr.univ-rennes1.fr" + hosts="${hosts}|physix78.ipr.univ-rennes1.fr" + hosts="${hosts}|physix79.ipr.univ-rennes1.fr" + + hosts="${hosts}|physix80.ipr.univ-rennes1.fr" + hosts="${hosts}|physix81.ipr.univ-rennes1.fr" + hosts="${hosts}|physix82.ipr.univ-rennes1.fr" + hosts="${hosts}|physix84.ipr.univ-rennes1.fr" + num_cores='20' + ;; + 'intel_xeon_e5-2660v4') + hosts="${hosts}physix84.ipr.univ-rennes1.fr" + hosts="${hosts}|physix85.ipr.univ-rennes1.fr" + hosts="${hosts}|physix86.ipr.univ-rennes1.fr" + hosts="${hosts}|physix87.ipr.univ-rennes1.fr" + num_cores='28' + ;; 'intel_xeon_gold_6140') hosts="${hosts}physix88.ipr.univ-rennes1.fr" hosts="${hosts}|physix89.ipr.univ-rennes1.fr" num_cores='36' ;; - 'intel_xeon_x5550') - hosts="${hosts}physix48.ipr.univ-rennes1.fr" - num_cores='8' + 'intel_xeon_gold_6154') + hosts="${hosts}physix90.ipr.univ-rennes1.fr" + num_cores='72' + ;; + 'intel_xeon_gold_5222') + hosts="${hosts}physix92.ipr.univ-rennes1.fr" + num_cores='4' + ;; + 'intel_xeon_gold_6226r') + hosts="${hosts}physix93.ipr.univ-rennes1.fr" + hosts="${hosts}|physix94.ipr.univ-rennes1.fr" + num_cores='32' + ;; + 'intel_xeon_gold_6240r') + hosts="${hosts}physix99.ipr.univ-rennes1.fr" + num_cores='48' + ;; + 'intel_xeon_gold_6248r') + hosts="${hosts}physix95.ipr.univ-rennes1.fr" + hosts="${hosts}|physix96.ipr.univ-rennes1.fr" + hosts="${hosts}|physix97.ipr.univ-rennes1.fr" + hosts="${hosts}|physix98.ipr.univ-rennes1.fr" + hosts="${hosts}|physix99.ipr.univ-rennes1.fr" + hosts="${hosts}|physix100.ipr.univ-rennes1.fr" + hosts="${hosts}|physix101.ipr.univ-rennes1.fr" + hosts="${hosts}|physix102.ipr.univ-rennes1.fr" + num_cores='48' + ;; + 'amd_epyc_7282') + hosts="${hosts}physix12.ipr.univ-rennes1.fr" + hosts="${hosts}|physix13.ipr.univ-rennes1.fr" + hosts="${hosts}|physix14.ipr.univ-rennes1.fr" + hosts="${hosts}|physix15.ipr.univ-rennes1.fr" + num_cores='32' ;; *) error "unhandled host_group_id : ${host_group_id}" @@ -53,9 +143,22 @@ function launch_job_for_host_group() ;; esac + quick_test='arch4_quick' # about 2s on a core i5 8th generation representative_test='nh3h2_qma_long' # about 10min on a core i5 8th generation - benchmark_test="${quick_test}" + benchmark_test="${representative_test}" + case "${benchmark_test}" in + 'arch4_quick') + ram_per_core='1G' + ;; + 'nh3h2_qma_long') + ram_per_core='2.8G' # this was enough on physix48, but maybe we can reduce more + ;; + *) + error "unhandled benchmark_test : ${benchmark_test}" + exit 1 + ;; + esac git_repos_url="https://github.com/hibridon/hibridon" git_user='g-raffy' # os.environ['HIBRIDON_REPOS_USER'] @@ -70,7 +173,7 @@ function launch_job_for_host_group() local hibench_root_dir="$GLOBAL_WORK_DIR/graffy/hibridon/benchmarks/starbench" mkdir -p "${hibench_root_dir}" - local this_bench_dir="${hibench_root_dir}/${hibridon_version}/${benchmark_test}/${host_group_id}" + local this_bench_dir="${hibench_root_dir}/${hibridon_version}/${benchmark_test}/${host_group_id}/$(date --iso-8601=seconds)" mkdir -p "${this_bench_dir}" command="/tmp/hibench.job \"${git_repos_url}\" \"${git_user}\" \"${git_pass_file}\" \"${hibridon_version}\" \"${cmake_options}\" \"${benchmark_command}\"" @@ -84,7 +187,7 @@ function launch_job_for_host_group() qsub_command="${qsub_command} -l \"hostname=${hosts}\"" qsub_command="${qsub_command} -cwd" qsub_command="${qsub_command} -m ae" - qsub_command="${qsub_command} -l mem_available=1G" + qsub_command="${qsub_command} -l mem_available=${ram_per_core}" qsub_command="${qsub_command} -N ${benchmark_test}_${host_group_id}" qsub_command="${qsub_command} ${command}" # qsub -pe smp "$num_cores" -l "hostname=${hosts}" @@ -99,6 +202,18 @@ function launch_perf_jobs() local hibridon_version="$1" # the version of hibridon to test, in the form of a valid commit number eg 'a3bed1c3ccfbca572003020d3e3d3b1ff3934fad' launch_job_for_host_group "${hibridon_version}" 'intel_xeon_x5550' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_x5650' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_e5-2660' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_e5-2660v2' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_e5-2660v4' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_gold_6140' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_gold_6154' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_gold_5222' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_gold_6226r' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_gold_6240r' + launch_job_for_host_group "${hibridon_version}" 'intel_xeon_gold_6248r' + launch_job_for_host_group "${hibridon_version}" 'amd_epyc_7282' + #launch_job_for_host_group "${hibridon_version}" 'intel_xeon_gold_6140' }