diff --git a/benchpress/config/benchmarks_wdl.yml b/benchpress/config/benchmarks_wdl.yml index 0b1596bb3..c6e25fb73 100644 --- a/benchpress/config/benchmarks_wdl.yml +++ b/benchpress/config/benchmarks_wdl.yml @@ -10,7 +10,7 @@ wdl_bench: install_markers: - ./benchmarks/wdl_bench/ProtocolBench - ./benchmarks/wdl_bench/VarintUtilsBench - - ./benchmarks/wdl_bench/bench-memcmp + - ./benchmarks/wdl_bench/wdl_build/glibc-build/benchtests/bench-memcmp - ./benchmarks/wdl_bench/benchsleef128 - ./benchmarks/wdl_bench/concurrency_concurrent_hash_map_bench - ./benchmarks/wdl_bench/container_hash_maps_bench diff --git a/packages/wdl_bench/install_wdl_bench.sh b/packages/wdl_bench/install_wdl_bench.sh index b8cd93534..04a0cad63 100644 --- a/packages/wdl_bench/install_wdl_bench.sh +++ b/packages/wdl_bench/install_wdl_bench.sh @@ -434,13 +434,16 @@ build_glibc() } ') CENTOS_MAJOR="$(awk -F "=" '/^VERSION_ID=/ {print $2}' /etc/os-release | tr -d '"')" + GLIBC_RPM_VERSION="$(rpm -q --queryformat '%{VERSION}' glibc)" + GLIBC_RPM_RELEASE="$(rpm -q --queryformat '%{RELEASE}' glibc)" BASE_URL="https://mirror.stream.centos.org/${CENTOS_MAJOR}-stream/BaseOS/source/tree/" + KOJI_URL="https://kojihub.stream.centos.org/kojifiles/packages/${lib}/${GLIBC_RPM_VERSION}/${GLIBC_RPM_RELEASE}/src/${GLIBC_SPKG}.rpm" if dnf download --source "$GLIBC_SPKG" --setopt=timeout=60 >/dev/null 2>&1; then echo "${GLIBC_SPKG}.rpm downloaded from the default repo" elif dnf download --source "$GLIBC_SPKG" --repofrompath=src,"${BASE_URL}" --enablerepo=src --setopt=timeout=60 >/dev/null 2>&1; then echo "${GLIBC_SPKG}.rpm downloaded from the official CentOS repo" - elif curl -fLO "${BASE_URL}/Packages/${GLIBC_SPKG}.rpm" --connect-timeout 60 >/dev/null 2>&1 && rpm -K "${GLIBC_SPKG}.rpm" >/dev/null 2>&1; then - echo "${GLIBC_SPKG}.rpm downloaded from the official CentOS rpm package URL" + elif curl -fL --retry 3 --connect-timeout 60 -o "${GLIBC_SPKG}.rpm" "$KOJI_URL" >/dev/null 2>&1 && rpm -K "${GLIBC_SPKG}.rpm" >/dev/null 2>&1; then + echo "${GLIBC_SPKG}.rpm downloaded from CentOS Stream Koji" else echo "Failed to download ${GLIBC_SPKG}.rpm" exit 1 diff --git a/packages/wdl_bench/run_prod.sh b/packages/wdl_bench/run_prod.sh index 7f636a5c7..5d9acfb8b 100755 --- a/packages/wdl_bench/run_prod.sh +++ b/packages/wdl_bench/run_prod.sh @@ -55,6 +55,17 @@ exec_non_json() { return 1 } +is_benchmark_supported() { + local benchmark="$1" + + if [[ "$benchmark" == "benchsleef512" ]]; then + [[ "$(uname -m)" == "x86_64" ]] && grep -qwm1 avx512f /proc/cpuinfo + return + fi + + return 0 +} + run_list="" declare -A prod_benchmark_config=( @@ -128,7 +139,9 @@ main() { valid_prod_benchmarks=() for bin in $prod_benchmark_candidates; do - if [ -f "./$bin" ]; then + if ! is_benchmark_supported "$bin"; then + echo "Skipping $bin (requires x86_64 with AVX-512F)" + elif [ -f "./$bin" ]; then valid_prod_benchmarks+=("$bin") # echo "Adding $bin to run list" elif [ "$bin" = "bench-memcmp" ] && [ -f "${WDL_BUILD}/glibc-build/benchtests/$bin" ]; then