mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-05 01:49:02 +00:00
perftest: add benchmark build
This commit is contained in:
parent
19f10b9a0b
commit
ebdd6b55a5
@ -81,7 +81,7 @@
|
|||||||
- .docker_image
|
- .docker_image
|
||||||
|
|
||||||
.ubuntu1804_cuda: &ubuntu1804_cuda
|
.ubuntu1804_cuda: &ubuntu1804_cuda
|
||||||
image: "kitware/vtkm:ci-ubuntu1804_cuda11.6-20220407"
|
image: "kitware/vtkm:ci-ubuntu1804_cuda11-20220919"
|
||||||
extends:
|
extends:
|
||||||
- .docker_image
|
- .docker_image
|
||||||
|
|
||||||
@ -96,7 +96,7 @@
|
|||||||
- .docker_image
|
- .docker_image
|
||||||
|
|
||||||
.ubuntu2004: &ubuntu2004
|
.ubuntu2004: &ubuntu2004
|
||||||
image: "kitware/vtkm:ci-ubuntu2004-20210920"
|
image: "kitware/vtkm:ci-ubuntu2004-20220623"
|
||||||
extends:
|
extends:
|
||||||
- .docker_image
|
- .docker_image
|
||||||
|
|
||||||
|
@ -22,6 +22,9 @@ tar xf "$tarball"
|
|||||||
mkdir build
|
mkdir build
|
||||||
mkdir "$install_dir"
|
mkdir "$install_dir"
|
||||||
|
|
||||||
cmake -GNinja -S benchmark* -B build -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON
|
cmake -GNinja -S benchmark* -B build \
|
||||||
|
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON \
|
||||||
|
-DCMAKE_BUILD_TYPE="Release"
|
||||||
|
|
||||||
cmake --build build
|
cmake --build build
|
||||||
cmake --install build --prefix "$install_dir"
|
cmake --install build --prefix "$install_dir"
|
||||||
|
@ -107,6 +107,9 @@ foreach(option IN LISTS options)
|
|||||||
set(VTKm_CUDA_Architecture "turing" CACHE STRING "")
|
set(VTKm_CUDA_Architecture "turing" CACHE STRING "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
elseif(ampere STREQUAL option)
|
||||||
|
set(CMAKE_CUDA_ARCHITECTURES "80" CACHE STRING "")
|
||||||
|
|
||||||
elseif(hip STREQUAL option)
|
elseif(hip STREQUAL option)
|
||||||
if(CMAKE_VERSION VERSION_LESS_EQUAL 3.20)
|
if(CMAKE_VERSION VERSION_LESS_EQUAL 3.20)
|
||||||
message(FATAL_ERROR "VTK-m requires cmake > 3.20 to enable HIP support")
|
message(FATAL_ERROR "VTK-m requires cmake > 3.20 to enable HIP support")
|
||||||
@ -154,6 +157,9 @@ foreach(option IN LISTS options)
|
|||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "CCACHE version [${CCACHE_VERSION}] is <= 4")
|
message(FATAL_ERROR "CCACHE version [${CCACHE_VERSION}] is <= 4")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
elseif(perftest STREQUAL option)
|
||||||
|
set(VTKm_ENABLE_PERFORMANCE_TESTING "ON" CACHE STRING "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
@ -29,7 +29,7 @@ set(test_exclusions
|
|||||||
string(REPLACE " " ";" test_exclusions "${test_exclusions}")
|
string(REPLACE " " ";" test_exclusions "${test_exclusions}")
|
||||||
string(REPLACE ";" "|" test_exclusions "${test_exclusions}")
|
string(REPLACE ";" "|" test_exclusions "${test_exclusions}")
|
||||||
if (test_exclusions)
|
if (test_exclusions)
|
||||||
set(test_exclusions "(${test_exclusions})")
|
set(test_exclusions EXCLUDE "(${test_exclusions})")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.21)
|
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.21)
|
||||||
@ -41,17 +41,32 @@ if (DEFINED ENV{CTEST_MAX_PARALLELISM})
|
|||||||
set(PARALLEL_LEVEL $ENV{CTEST_MAX_PARALLELISM})
|
set(PARALLEL_LEVEL $ENV{CTEST_MAX_PARALLELISM})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (DEFINED ENV{TEST_INCLUSIONS})
|
||||||
|
set(test_inclusions INCLUDE $ENV{TEST_INCLUSIONS})
|
||||||
|
unset(test_exclusions)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
ctest_test(APPEND
|
ctest_test(APPEND
|
||||||
PARALLEL_LEVEL ${PARALLEL_LEVEL}
|
PARALLEL_LEVEL ${PARALLEL_LEVEL}
|
||||||
RETURN_VALUE test_result
|
RETURN_VALUE test_result
|
||||||
EXCLUDE "${test_exclusions}"
|
${test_exclusions}
|
||||||
|
${test_inclusions}
|
||||||
REPEAT "UNTIL_PASS:${CTEST_REPEAT_UNTIL_PASS}"
|
REPEAT "UNTIL_PASS:${CTEST_REPEAT_UNTIL_PASS}"
|
||||||
${junit_args}
|
${junit_args}
|
||||||
)
|
)
|
||||||
message(STATUS "ctest_test RETURN_VALUE: ${test_result}")
|
message(STATUS "ctest_test RETURN_VALUE: ${test_result}")
|
||||||
|
|
||||||
|
if(VTKm_ENABLE_PERFORMANCE_TESTING)
|
||||||
|
file(GLOB note_files
|
||||||
|
"${CTEST_BINARY_DIRECTORY}/benchmark_*.stdout"
|
||||||
|
"${CTEST_BINARY_DIRECTORY}/compare_*.stdout"
|
||||||
|
"${CTEST_BINARY_DIRECTORY}/$ENV{CI_COMMIT_SHA}_*.json")
|
||||||
|
list(APPEND CTEST_NOTES_FILES ${note_files})
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT DEFINED ENV{GITLAB_CI_EMULATION})
|
if(NOT DEFINED ENV{GITLAB_CI_EMULATION})
|
||||||
ctest_submit(PARTS Test BUILD_ID build_id)
|
ctest_submit(PARTS Test Notes BUILD_ID build_id)
|
||||||
message(STATUS "Test submission build_id: ${build_id}")
|
message(STATUS "Test submission build_id: ${build_id}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
24
.gitlab/ci/docker/ubuntu1804/cuda/Dockerfile
Normal file
24
.gitlab/ci/docker/ubuntu1804/cuda/Dockerfile
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
FROM nvidia/cuda:11.7.1-devel-ubuntu18.04
|
||||||
|
LABEL maintainer "Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>"
|
||||||
|
|
||||||
|
# Base dependencies for building VTK-m projects
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
clang-8 \
|
||||||
|
curl \
|
||||||
|
g++-8 \
|
||||||
|
git \
|
||||||
|
libmpich-dev \
|
||||||
|
libomp-dev \
|
||||||
|
libtbb-dev \
|
||||||
|
mpich \
|
||||||
|
ninja-build \
|
||||||
|
python3 \
|
||||||
|
python3-scipy \
|
||||||
|
&& \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Install Git LFS from official tarball, repo version is too old
|
||||||
|
RUN curl -OL https://github.com/git-lfs/git-lfs/releases/download/v3.2.0/git-lfs-linux-amd64-v3.2.0.tar.gz && \
|
||||||
|
tar -xvzf git-lfs-linux-amd64-v3.2.0.tar.gz && \
|
||||||
|
./git-lfs-3.2.0/install.sh && \
|
||||||
|
rm -rf ./git-lfs-3.2.0
|
@ -1,38 +0,0 @@
|
|||||||
FROM nvidia/cuda:11.6.1-devel-ubuntu18.04
|
|
||||||
LABEL maintainer "Robert Maynard<robert.maynard@kitware.com>"
|
|
||||||
|
|
||||||
# Base dependencies for building VTK-m projects
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
||||||
curl \
|
|
||||||
g++-8 \
|
|
||||||
clang-8 \
|
|
||||||
git \
|
|
||||||
git-lfs \
|
|
||||||
libmpich-dev \
|
|
||||||
libomp-dev \
|
|
||||||
libtbb-dev \
|
|
||||||
mpich \
|
|
||||||
ninja-build \
|
|
||||||
&& \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Need to run git-lfs install manually on ubuntu based images when using the
|
|
||||||
# system packaged version
|
|
||||||
RUN git-lfs install
|
|
||||||
|
|
||||||
# Provide a consistent CMake path across all images
|
|
||||||
# Allow tests that require CMake to work correctly
|
|
||||||
RUN mkdir /opt/cmake && \
|
|
||||||
curl -L https://github.com/Kitware/CMake/releases/download/v3.16.7/cmake-3.16.7-Linux-x86_64.sh > cmake-3.16.7-Linux-x86_64.sh && \
|
|
||||||
sh cmake-3.16.7-Linux-x86_64.sh --prefix=/opt/cmake/ --exclude-subdir --skip-license && \
|
|
||||||
rm cmake-3.16.7-Linux-x86_64.sh
|
|
||||||
|
|
||||||
# Provide CMake 3.17 so we can re-run tests easily
|
|
||||||
# This will be used when we run just the tests
|
|
||||||
RUN mkdir /opt/cmake-latest/ && \
|
|
||||||
curl -L https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3.17.3-Linux-x86_64.sh > cmake-3.17.3-Linux-x86_64.sh && \
|
|
||||||
sh cmake-3.17.3-Linux-x86_64.sh --prefix=/opt/cmake-latest/ --exclude-subdir --skip-license && \
|
|
||||||
rm cmake-3.17.3-Linux-x86_64.sh && \
|
|
||||||
ln -s /opt/cmake-latest/bin/ctest /opt/cmake-latest/bin/ctest-latest
|
|
||||||
|
|
||||||
ENV PATH "/opt/cmake/bin:/opt/cmake-latest/bin:${PATH}"
|
|
@ -4,7 +4,7 @@ LABEL maintainer "Vicente Adolfo Bolea Sanchez<vicente.bolea@kitware.com>"
|
|||||||
ENV TZ=America/New_York
|
ENV TZ=America/New_York
|
||||||
|
|
||||||
# Base dependencies for building VTK-m projects
|
# Base dependencies for building VTK-m projects
|
||||||
RUN apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \
|
RUN apt update && DEBIAN_FRONTEND="noninteractive" apt install -y --no-install-recommends \
|
||||||
cmake \
|
cmake \
|
||||||
curl \
|
curl \
|
||||||
g++ \
|
g++ \
|
||||||
@ -16,7 +16,10 @@ RUN apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-i
|
|||||||
libhdf5-dev \
|
libhdf5-dev \
|
||||||
mpich \
|
mpich \
|
||||||
ninja-build \
|
ninja-build \
|
||||||
software-properties-common
|
python \
|
||||||
|
python3-scipy \
|
||||||
|
software-properties-common && \
|
||||||
|
apt clean
|
||||||
|
|
||||||
# Need to run git-lfs install manually on ubuntu based images when using the
|
# Need to run git-lfs install manually on ubuntu based images when using the
|
||||||
# system packaged version
|
# system packaged version
|
||||||
|
@ -220,3 +220,39 @@ test:ubuntu1804_kokkos:
|
|||||||
- build:ubuntu1804_kokkos
|
- build:ubuntu1804_kokkos
|
||||||
needs:
|
needs:
|
||||||
- build:ubuntu1804_kokkos
|
- build:ubuntu1804_kokkos
|
||||||
|
|
||||||
|
build:ubuntu1804_cuda_perftest:
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
- vtkm
|
||||||
|
- docker
|
||||||
|
- linux
|
||||||
|
extends:
|
||||||
|
- .ubuntu1804_cuda
|
||||||
|
- .cmake_build_linux
|
||||||
|
- .run_automatically
|
||||||
|
variables:
|
||||||
|
CMAKE_BUILD_TYPE: Release
|
||||||
|
VTKM_SETTINGS: "benchmarks+ampere+perftest+cuda+mpi+shared"
|
||||||
|
|
||||||
|
test:ubuntu1804_cuda_perftest:
|
||||||
|
tags:
|
||||||
|
- benchmark
|
||||||
|
- vtkm
|
||||||
|
- docker
|
||||||
|
- cuda-rt
|
||||||
|
- linux
|
||||||
|
extends:
|
||||||
|
- .ubuntu1804_cuda
|
||||||
|
- .cmake_test_linux
|
||||||
|
- .run_automatically
|
||||||
|
dependencies:
|
||||||
|
- build:ubuntu1804_cuda_perftest
|
||||||
|
needs:
|
||||||
|
- build:ubuntu1804_cuda_perftest
|
||||||
|
variables:
|
||||||
|
TEST_INCLUSIONS: "PerformanceTest"
|
||||||
|
VTKm_PERF_REMOTE_URL: "https://vbolea:$VTKM_BENCH_RECORDS_TOKEN@gitlab.kitware.com/vbolea/vtk-m-benchmark-records.git"
|
||||||
|
VTKm_PERF_ALPHA: "0.05"
|
||||||
|
VTKm_PERF_REPETITIONS: "10"
|
||||||
|
VTKm_PERF_DIST: "t"
|
||||||
|
@ -59,3 +59,5 @@ set(CTEST_REPEAT_UNTIL_PASS 3)
|
|||||||
if (NOT x"@CMAKE_HIP_COMPILER@"x STREQUAL xx)
|
if (NOT x"@CMAKE_HIP_COMPILER@"x STREQUAL xx)
|
||||||
set(CTEST_REPEAT_UNTIL_PASS 0)
|
set(CTEST_REPEAT_UNTIL_PASS 0)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(VTKm_ENABLE_PERFORMANCE_TESTING "@VTKm_ENABLE_PERFORMANCE_TESTING@")
|
||||||
|
Loading…
Reference in New Issue
Block a user