added ifort build to hibridon's benchmark

This commit is contained in:
Guillaume Raffy 2022-06-09 08:54:50 +02:00
parent f2b8d6cdb4
commit 58dbfc9be6
2 changed files with 60 additions and 16 deletions

View File

@ -7,6 +7,7 @@ git_pass_file="$3" # eg "$HOME/.github/personal_access_tokens/bench.hibridon.clu
code_version="$4" # git branch id or commit id eg : 'a3bed1c3ccfbca572003020d3e3d3b1ff3934fad'
cmake_options="$5" # eg '-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON'
benchmark_command="$6" # eg 'ctest -L ^arch4_quick$'
env_vars_bash_commands="$7" # defines extra environment variables prior to launch starbench. eg "export MKLROOT=/opt/intel/compilers_and_libraries_2020.1.217/linux/mkl"
cmake_path='/opt/cmake/cmake-3.23.0/bin/cmake'
@ -37,6 +38,13 @@ EOF
chmod a+x "$starbench_path"
# set environment variables
echo "env_vars_bash_commands=$env_vars_bash_commands"
eval $env_vars_bash_commands
# launch starbench
command="${starbench_path}"
command="${command} --git-repos-url ${git_repos_url}"
command="${command} --git-user ${git_user}"

View File

@ -35,6 +35,7 @@ function launch_job_for_host_group()
{
local hibridon_version="$1" # the version of hibridon to test, in the form of a valid commit number eg 'a3bed1c3ccfbca572003020d3e3d3b1ff3934fad'
local host_group_id="$2" # eg 'xeon_gold_6140'
local compiler_id="$3" # eg 'gfortran' 'ifort'
local hosts=''
local num_cores=''
case "${host_group_id}" in
@ -163,9 +164,29 @@ function launch_job_for_host_group()
git_repos_url="https://github.com/hibridon/hibridon"
git_user='g-raffy' # os.environ['HIBRIDON_REPOS_USER']
git_pass_file="$HOME/.github/personal_access_tokens/bench.hibridon.cluster.ipr.univ-rennes1.fr.pat"
cmake_options='-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON'
cmake_options=''
cmake_options="${cmake_options} -DCMAKE_BUILD_TYPE=Release" # build in release mode for highest performance
cmake_options="${cmake_options} -DBUILD_TESTING=ON" # enable hibridon tests
benchmark_command="ctest --output-on-failure -L ^${benchmark_test}\$"
local env_vars_bash_commands=''
case "${compiler_id}" in
'ifort')
env_vars_bash_commands='module load compilers/ifort/latest'
cmake_options="${cmake_options} -DCMAKE_Fortran_COMPILER=ifort" # use intel fortran compiler
cmake_options="${cmake_options} -DBLA_VENDOR=Intel10_64lp" # use 64 bits intel mkl with multithreading
;;
'gfortran')
env_vars_bash_commands=''
cmake_options="${cmake_options} -DCMAKE_Fortran_COMPILER=gfortran" # use gfortran compiler
;;
*)
error "unhandled compiler_id : ${compiler_id}"
exit 1
;;
esac
# cat $SCRIPT_DIR/hibench.job | sed "s~<include:starbench.py>~$(cat $SCRIPT_DIR/starbench.py)~" > /tmp/hibench.job
cat $SCRIPT_DIR/hibench.job | substitute_TAG_with_FILEcontents '<include:starbench.py>' "$SCRIPT_DIR/starbench.py" > /tmp/hibench.job
chmod a+x /tmp/hibench.job
@ -173,10 +194,10 @@ 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}/$(date --iso-8601=seconds)"
local this_bench_dir="${hibench_root_dir}/${hibridon_version}/${benchmark_test}/${host_group_id}/${compiler_id}"
mkdir -p "${this_bench_dir}"
command="/tmp/hibench.job \"${git_repos_url}\" \"${git_user}\" \"${git_pass_file}\" \"${hibridon_version}\" \"${cmake_options}\" \"${benchmark_command}\""
command="/tmp/hibench.job \"${git_repos_url}\" \"${git_user}\" \"${git_pass_file}\" \"${hibridon_version}\" \"${cmake_options}\" \"${benchmark_command}\" \"${env_vars_bash_commands}\""
echo "command = $command"
# eval $command
@ -200,19 +221,34 @@ function launch_job_for_host_group()
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'
local compilers=''
compilers="${compilers} gfortran"
compilers="${compilers} ifort"
local host_groups=''
host_groups="${host_groups} intel_xeon_x5550"
host_groups="${host_groups} intel_xeon_x5650"
host_groups="${host_groups} intel_xeon_e5-2660"
host_groups="${host_groups} intel_xeon_e5-2660v2"
host_groups="${host_groups} intel_xeon_e5-2660v4"
host_groups="${host_groups} intel_xeon_gold_6140"
host_groups="${host_groups} intel_xeon_gold_6154"
host_groups="${host_groups} intel_xeon_gold_5222"
host_groups="${host_groups} intel_xeon_gold_6226r"
host_groups="${host_groups} intel_xeon_gold_6240r"
host_groups="${host_groups} intel_xeon_gold_6248r"
host_groups="${host_groups} amd_epyc_7282"
local compiler=''
local host_group=''
for compiler in ${compilers}
do
for host_group in ${host_groups}
do
launch_job_for_host_group "${hibridon_version}" "${host_group}" "${compiler}"
done
done
#launch_job_for_host_group "${hibridon_version}" 'intel_xeon_gold_6140'
}