From d4cfe340096c2269197bedaa65ae45d734257ae5 Mon Sep 17 00:00:00 2001 From: Vicente Adolfo Bolea Sanchez Date: Sun, 21 Feb 2021 16:53:22 +0100 Subject: [PATCH] CI: adds ubuntu1804 build with benchmarks Signed-off-by: Vicente Adolfo Bolea Sanchez --- .gitlab-ci.yml | 1 + .gitlab/ci/config/google_benchmarks.sh | 27 ++++++++++++++++++++++++++ .gitlab/ci/config/initial_config.cmake | 1 + .gitlab/ci/ubuntu1804.yml | 6 +++--- 4 files changed, 32 insertions(+), 3 deletions(-) create mode 100755 .gitlab/ci/config/google_benchmarks.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 52e16c598..93a7bdbd5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -131,6 +131,7 @@ stages: - export PATH=$PWD/.gitlab:$PATH - SCCACHE_IDLE_TIMEOUT=0 sccache --start-server - sccache --show-stats + - .gitlab/ci/config/google_benchmarks.sh - "cmake --version" - "cmake -V -P .gitlab/ci/config/gitlab_ci_setup.cmake" - "ctest -VV -S .gitlab/ci/ctest_configure.cmake" diff --git a/.gitlab/ci/config/google_benchmarks.sh b/.gitlab/ci/config/google_benchmarks.sh new file mode 100755 index 000000000..3cd69cde8 --- /dev/null +++ b/.gitlab/ci/config/google_benchmarks.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +set -xe + +readonly version="v1.5.2" +readonly tarball="$version.tar.gz" +readonly url="https://github.com/google/benchmark/archive/$tarball" +readonly sha256sum="dccbdab796baa1043f04982147e67bb6e118fe610da2c65f88912d73987e700c" +readonly install_dir="$HOME/gbench" + +if ! [[ "$VTKM_SETTINGS" =~ "benchmarks" ]]; then + exit 0 +fi + +cd "$HOME" + +echo "$sha256sum $tarball" > gbenchs.sha256sum +curl --insecure -OL "$url" +sha256sum --check gbenchs.sha256sum +tar xf "$tarball" + +mkdir build +mkdir "$install_dir" + +cmake -GNinja -S benchmark* -B build -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON +cmake --build build +cmake --install build --prefix "$install_dir" diff --git a/.gitlab/ci/config/initial_config.cmake b/.gitlab/ci/config/initial_config.cmake index dc6e40b5d..912978167 100644 --- a/.gitlab/ci/config/initial_config.cmake +++ b/.gitlab/ci/config/initial_config.cmake @@ -64,6 +64,7 @@ foreach(option IN LISTS options) elseif(benchmarks STREQUAL option) set(VTKm_ENABLE_BENCHMARKS "ON" CACHE STRING "") + set(ENV{CMAKE_PREFIX_PATH} "$ENV{HOME}/gbench") elseif(mpi STREQUAL option) set(VTKm_ENABLE_MPI "ON" CACHE STRING "") diff --git a/.gitlab/ci/ubuntu1804.yml b/.gitlab/ci/ubuntu1804.yml index af7c85ba5..be7acd23b 100644 --- a/.gitlab/ci/ubuntu1804.yml +++ b/.gitlab/ci/ubuntu1804.yml @@ -16,7 +16,7 @@ build:ubuntu1804_gcc9: CC: "gcc-9" CXX: "g++-9" CMAKE_BUILD_TYPE: Debug - VTKM_SETTINGS: "tbb+openmp+mpi+shared+hdf5" + VTKM_SETTINGS: "benchmarks+tbb+openmp+mpi+shared+hdf5" test:ubuntu1804_gcc9: tags: @@ -56,7 +56,7 @@ build:ubuntu1804_gcc7: CC: "gcc-7" CXX: "g++-7" CUDAHOSTCXX: "g++-7" - VTKM_SETTINGS: "cuda+turing+mpi+64bit_floats+no_virtual" + VTKM_SETTINGS: "benchmarks+cuda+turing+mpi+64bit_floats+no_virtual" test:ubuntu1804_gcc7: tags: @@ -202,7 +202,7 @@ build:ubuntu1804_kokkos: variables: CMAKE_GENERATOR: "Ninja" CMAKE_BUILD_TYPE: Release - VTKM_SETTINGS: "kokkos+turing+static+64bit_floats" + VTKM_SETTINGS: "benchmarks+kokkos+turing+static+64bit_floats" test:ubuntu1804_kokkos: tags: