From e44b105b800dfa89c47e1112e840767e1d99338c Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Mon, 26 Dec 2022 14:01:16 -0500 Subject: [PATCH 1/5] Require Google benchmark 1.5.4 - This is the first version introduced proper CMake version support --- benchmarks/bvh_driver/CMakeLists.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/benchmarks/bvh_driver/CMakeLists.txt b/benchmarks/bvh_driver/CMakeLists.txt index 155cba87e..20ce2e59e 100644 --- a/benchmarks/bvh_driver/CMakeLists.txt +++ b/benchmarks/bvh_driver/CMakeLists.txt @@ -1,9 +1,8 @@ set(POINT_CLOUDS_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/benchmarks/point_clouds) set(UNIT_TESTS_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/test) -# We require version 1.4.0 or higher but the format used by Google benchmark is -# wrong and thus, we cannot check the version during the configuration step. -find_package(benchmark REQUIRED) +find_package(benchmark 1.5.4 REQUIRED) +message(STATUS "Found benchmark: ${benchmark_DIR} (version \"${benchmark_VERSION}\")") find_package(Threads REQUIRED) From e148d786ab4d2aa3afda03cff90a7e017174119f Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Mon, 26 Dec 2022 13:36:42 -0500 Subject: [PATCH 2/5] Switch google benchmark rates to use 1.5 rate feature --- benchmarks/bvh_driver/benchmark_registration.hpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/benchmarks/bvh_driver/benchmark_registration.hpp b/benchmarks/bvh_driver/benchmark_registration.hpp index d08c3d320..bcdfd6a1d 100644 --- a/benchmarks/bvh_driver/benchmark_registration.hpp +++ b/benchmarks/bvh_driver/benchmark_registration.hpp @@ -219,12 +219,8 @@ void BM_construction(benchmark::State &state, Spec const &spec) std::chrono::duration elapsed_seconds = end - start; state.SetIterationTime(elapsed_seconds.count()); } - // In Benchmark 1.5.0, it could be rewritten as - // state.counters["rate"] = benchmark::Counter( - // spec.n_values, benchmark::Counter::kIsIterationInvariantRate); - // Benchmark 1.4 does not support kIsIterationInvariantRate, however. state.counters["rate"] = benchmark::Counter( - spec.n_values * state.iterations(), benchmark::Counter::kIsRate); + spec.n_values, benchmark::Counter::kIsIterationInvariantRate); } template @@ -260,7 +256,7 @@ void BM_radius_search(benchmark::State &state, Spec const &spec) state.SetIterationTime(elapsed_seconds.count()); } state.counters["rate"] = benchmark::Counter( - spec.n_queries * state.iterations(), benchmark::Counter::kIsRate); + spec.n_queries, benchmark::Counter::kIsIterationInvariantRate); } template @@ -298,7 +294,7 @@ void BM_radius_callback_search(benchmark::State &state, Spec const &spec) state.SetIterationTime(elapsed_seconds.count()); } state.counters["rate"] = benchmark::Counter( - spec.n_queries * state.iterations(), benchmark::Counter::kIsRate); + spec.n_queries, benchmark::Counter::kIsIterationInvariantRate); } template @@ -333,7 +329,7 @@ void BM_knn_search(benchmark::State &state, Spec const &spec) state.SetIterationTime(elapsed_seconds.count()); } state.counters["rate"] = benchmark::Counter( - spec.n_queries * state.iterations(), benchmark::Counter::kIsRate); + spec.n_queries, benchmark::Counter::kIsIterationInvariantRate); } template @@ -370,7 +366,7 @@ void BM_knn_callback_search(benchmark::State &state, Spec const &spec) state.SetIterationTime(elapsed_seconds.count()); } state.counters["rate"] = benchmark::Counter( - spec.n_queries * state.iterations(), benchmark::Counter::kIsRate); + spec.n_queries, benchmark::Counter::kIsIterationInvariantRate); } template From f22594affde070135761cec9569630bc94a5ca7c Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Mon, 26 Dec 2022 13:37:44 -0500 Subject: [PATCH 3/5] Update gitlab-ci.yml to install benchmark 1.6.0 --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd9916e19..1e7756bf6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,7 +18,7 @@ stages: extends: .LoadModules stage: buildDependencies script: - - git clone https://github.com/google/benchmark.git -b v1.4.1 && + - git clone https://github.com/google/benchmark.git -b v1.6.0 && cd benchmark && git clone https://github.com/google/googletest.git -b release-1.8.1 && mkdir build && cd build && From 6cb3c70830610c0e33ed842fb0d01ae3aafc7161 Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Tue, 27 Dec 2022 11:35:58 -0500 Subject: [PATCH 4/5] Upgrade SYCL container's benchmark to 1.5.4 --- docker/Dockerfile.sycl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.sycl b/docker/Dockerfile.sycl index 18060a25e..fbfb363b2 100644 --- a/docker/Dockerfile.sycl +++ b/docker/Dockerfile.sycl @@ -110,7 +110,7 @@ RUN BOOST_VERSION=1.72.0 && \ # Install Google Benchmark support library ENV BENCHMARK_DIR=/opt/benchmark RUN SCRATCH_DIR=/scratch && mkdir -p ${SCRATCH_DIR} && cd ${SCRATCH_DIR} && \ - git clone https://github.com/google/benchmark.git -b v1.5.0 && \ + git clone https://github.com/google/benchmark.git -b v1.5.4 && \ cd benchmark && \ mkdir build && cd build && \ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=${BENCHMARK_DIR} -D BENCHMARK_ENABLE_TESTING=OFF .. && \ From 9f1deb6cc4bc3f241ae0957c9a926ed67234ef35 Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Tue, 27 Dec 2022 12:21:11 -0500 Subject: [PATCH 5/5] [ci skip] Update nightly containers to Ubuntu 22.04 --- .jenkins/nightly.groovy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.jenkins/nightly.groovy b/.jenkins/nightly.groovy index 96979d7b2..bc46fdf96 100644 --- a/.jenkins/nightly.groovy +++ b/.jenkins/nightly.groovy @@ -8,10 +8,10 @@ pipeline { stage('Build') { parallel { - stage('CUDA-11.4.2') { + stage('CUDA-11.7.1') { agent { docker { - image 'nvidia/cuda:11.4.2-devel-ubuntu20.04' + image 'nvidia/cuda:11.7.1-devel-ubuntu22.04' label 'NVIDIA_Tesla_V100-PCIE-32GB && nvidia-docker' } } @@ -47,10 +47,10 @@ pipeline { } } } - stage('ROCm-5.2') { + stage('ROCm-5.4') { agent { docker { - image 'rocm/dev-ubuntu-20.04:5.2-complete' + image 'rocm/dev-ubuntu-22.04:5.4-complete' label 'AMD_Radeon_Instinct_MI100 && rocm-docker' args '--device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined --group-add video --env HIP_VISIBLE_DEVICES=${HIP_VISIBLE_DEVICES}' }