ci: update kokkos hip to 6.1, ubuntu 2204

This commit is contained in:
Vicente Adolfo Bolea Sanchez 2024-06-24 18:07:45 -04:00
parent f1eac04f72
commit c6f0e36986
7 changed files with 113 additions and 66 deletions

@ -69,8 +69,8 @@
extends:
- .docker_image
.ubuntu2004_hip_kokkos: &ubuntu2004_hip_kokkos
image: "kitware/vtkm:ci-ubuntu2004_hip_kokkos-20230220"
.ubuntu2204_hip_kokkos: &ubuntu2204_hip_kokkos
image: "kitware/vtkm:ci-ubuntu2204_hip_kokkos-20240625"
extends:
- .docker_image
@ -245,4 +245,5 @@ include:
- local: '/.gitlab/ci/ubuntu1604.yml'
- local: '/.gitlab/ci/ubuntu1804.yml'
- local: '/.gitlab/ci/ubuntu2004.yml'
- local: '/.gitlab/ci/ubuntu2204.yml'
- local: '/.gitlab/ci/windows10.yml'

@ -10,7 +10,7 @@
##
##=============================================================================
FROM rocm/dev-ubuntu-20.04
FROM rocm/dev-ubuntu-22.04
LABEL maintainer "Vicente Adolfo Bolea Sanchez<vicente.bolea@gmail.com>"
# Base dependencies for building VTK-m projects
@ -58,11 +58,22 @@ ENV PATH "/opt/cmake/bin:${PATH}"
ENV CMAKE_PREFIX_PATH "/opt/rocm/lib/cmake:/opt/rocm/lib:${CMAKE_PREFIX_PATH}"
ENV CMAKE_GENERATOR "Ninja"
# Build and install Kokkos
ARG KOKKOS_VERSION=3.7.01
ENV KOKKOS_VERSION=3.7.01
COPY kokkos_cmake_config.cmake kokkos_cmake_config.cmake
RUN curl -L https://github.com/kokkos/kokkos/archive/refs/tags/$KOKKOS_VERSION.tar.gz | tar -xzf - && \
cmake -S kokkos-$KOKKOS_VERSION -B build -C kokkos_cmake_config.cmake && \
cmake -S kokkos-$KOKKOS_VERSION -B build -C kokkos_cmake_config.cmake \
-DCMAKE_PREFIX_INSTALL=/opt/kokkos/$KOKKOS_VERSION \
-DKokkos_ARCH_VEGA900=ON && \
cmake --build build -v && \
cmake --install build && \
rm -rf build kokkos-$KOKKOS_VERSION
ENV KOKKOS_VERSION=4.3.01
COPY kokkos_cmake_config.cmake kokkos_cmake_config.cmake
RUN curl -L https://github.com/kokkos/kokkos/archive/refs/tags/$KOKKOS_VERSION.tar.gz | tar -xzf - && \
cmake -S kokkos-$KOKKOS_VERSION -B build -C kokkos_cmake_config.cmake \
-DCMAKE_PREFIX_INSTALL=/opt/kokkos/$KOKKOS_VERSION \
-DKokkos_ARCH_VEGA906=ON && \
cmake --build build -v && \
cmake --install build && \
rm -rf build kokkos-$KOKKOS_VERSION

@ -9,13 +9,10 @@
##============================================================================
set(CMAKE_BUILD_TYPE "release" CACHE STRING "")
set(CMAKE_INSTALL_PREFIX /opt/kokkos CACHE PATH "")
set(CMAKE_C_COMPILER /opt/rocm/llvm/bin/clang CACHE FILEPATH "")
set(CMAKE_CXX_COMPILER /opt/rocm/llvm/bin/clang++ CACHE FILEPATH "")
set(CMAKE_CXX_STANDARD "14" CACHE STRING "")
set(CMAKE_POSITION_INDEPENDENT_CODE ON CACHE BOOL "")
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "")
set(Kokkos_ARCH_VEGA900 ON CACHE BOOL "")
set(Kokkos_ENABLE_HIP ON CACHE BOOL "")
set(Kokkos_ENABLE_HIP_RELOCATABLE_DEVICE_CODE OFF CACHE BOOL "")

@ -196,7 +196,7 @@ test:ubuntu1804_clang8:
# Build on ubuntu1804 with kokkos and test on ubuntu1804
# Uses CUDA 11
build:ubuntu1804_kokkos:
build:ubuntu1804_kokkos37:
tags:
- build
- vtkm
@ -212,7 +212,7 @@ build:ubuntu1804_kokkos:
CMAKE_BUILD_TYPE: Release
VTKM_SETTINGS: "benchmarks+kokkos+turing+64bit_floats+shared"
test:ubuntu1804_kokkos:
test:ubuntu1804_kokkos37:
tags:
- test
- vtkm
@ -225,9 +225,9 @@ test:ubuntu1804_kokkos:
- .cmake_test_linux
- .run_automatically
dependencies:
- build:ubuntu1804_kokkos
- build:ubuntu1804_kokkos37
needs:
- build:ubuntu1804_kokkos
- build:ubuntu1804_kokkos37
build:ubuntu1804_cuda_perftest:
tags:

@ -10,7 +10,7 @@
##
##=============================================================================
build:ubuntu2004_kokkos:
build:ubuntu2004_kokkos37:
tags:
- build
- vtkm
@ -25,7 +25,7 @@ build:ubuntu2004_kokkos:
CMAKE_PREFIX_PATH: "/opt/anari"
VTKM_SETTINGS: "kokkos+shared+64bit_floats+rendering+anari"
test:ubuntu2004_kokkos:
test:ubuntu2004_kokkos37:
tags:
- test
- vtkm
@ -36,55 +36,6 @@ test:ubuntu2004_kokkos:
- .cmake_test_linux
- .run_automatically
dependencies:
- build:ubuntu2004_kokkos
- build:ubuntu2004_kokkos37
needs:
- build:ubuntu2004_kokkos
build:ubuntu2004_hip_kokkos:
tags:
- vtkm
- docker
- linux-x86_64
- radeon
extends:
- .ubuntu2004_hip_kokkos
- .cmake_build_linux
- .run_automatically
variables:
CMAKE_BUILD_TYPE: "RelWithDebInfo"
VTKM_SETTINGS: "benchmarks+kokkos+hip+no_rendering+ccache"
CMAKE_PREFIX_PATH: "/opt/rocm/lib/cmake"
LD_LIBRARY_PATH: "/opt/rocm/lib"
CMAKE_HIP_COMPILER: "/opt/rocm/llvm/bin/clang++"
Kokkos_CXX_COMPILER: "/opt/rocm/llvm/bin/clang++"
CMAKE_HIP_ARCHITECTURES: "gfx900"
# -isystem= is not affected by CCACHE_BASEDIR, thus we must ignore it
CCACHE_IGNOREOPTIONS: "-isystem=*"
CCACHE_BASEDIR: "$CI_PROJECT_DIR"
CCACHE_COMPILERCHECK: "content"
CCACHE_NOHASHDIR: "true"
CCACHE_RESHARE: "true"
after_script:
- ccache -v -s
- ccache -z
test:ubuntu2004_hip_kokkos:
tags:
- vtkm
- docker
- linux-x86_64
- radeon
extends:
- .ubuntu2004_hip_kokkos
- .cmake_test_linux
- .run_upstream_branches
variables:
CTEST_MAX_PARALLELISM: 1
CTEST_EXCLUSIONS: "UnitTestWorkletParticleAdvection"
dependencies:
- build:ubuntu2004_hip_kokkos
needs:
- build:ubuntu2004_hip_kokkos
timeout: 3 hours
- build:ubuntu2004_kokkos37

85
.gitlab/ci/ubuntu2204.yml Normal file

@ -0,0 +1,85 @@
##=============================================================================
##
## Copyright (c) Kitware, Inc.
## All rights reserved.
## See LICENSE.txt for details.
##
## This software is distributed WITHOUT ANY WARRANTY; without even
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
## PURPOSE. See the above copyright notice for more information.
##
##=============================================================================
.kokkos_rocm_vars: &kokkos_rocm_vars
variables:
CCACHE_BASEDIR: "$CI_PROJECT_DIR"
CCACHE_COMPILERCHECK: "content"
# -isystem= is not affected by CCACHE_BASEDIR, thus we must ignore it
CCACHE_IGNOREOPTIONS: "-isystem=*"
CCACHE_NOHASHDIR: "true"
CCACHE_RESHARE: "true"
CMAKE_BUILD_TYPE: "RelWithDebInfo"
CMAKE_HIP_COMPILER: "/opt/rocm/llvm/bin/clang++"
Kokkos_CXX_COMPILER: "/opt/rocm/llvm/bin/clang++"
LD_LIBRARY_PATH: "/opt/rocm/lib"
CXX: "hipcc"
build:ubuntu2204_hip_kokkos37:
tags:
- vtkm
- docker
- linux-x86_64
- radeon
extends:
- .ubuntu2204_hip_kokkos
- .cmake_build_linux
- .kokkos_rocm_vars
- .run_automatically
variables:
CMAKE_BUILD_TYPE: "RelWithDebInfo"
CMAKE_HIP_ARCHITECTURES: "gfx900"
Kokkos_DIR: "/opt/kokkos/3.7.01/"
VTKM_SETTINGS: "benchmarks+kokkos+hip+no_rendering+ccache"
after_script:
- ccache -v -s
- ccache -z
test:ubuntu2204_hip_kokkos37:
tags:
- vtkm
- docker
- linux-x86_64
- radeon
extends:
- .ubuntu2204_hip_kokkos
- .cmake_test_linux
- .run_upstream_branches
variables:
CTEST_MAX_PARALLELISM: 1
CTEST_EXCLUSIONS: "UnitTestWorkletParticleAdvection"
dependencies:
- build:ubuntu2204_hip_kokkos37
needs:
- build:ubuntu2204_hip_kokkos37
timeout: 3 hours
build:ubuntu2204_hip_kokkos43:
tags:
- vtkm
- docker
- linux-x86_64
- radeon
extends:
- .ubuntu2204_hip_kokkos
- .cmake_build_linux
- .kokkos_rocm_vars
- .run_automatically
variables:
CMAKE_BUILD_TYPE: "RelWithDebInfo"
CMAKE_HIP_ARCHITECTURES: "gfx906"
Kokkos_DIR: "/opt/kokkos/4.3.01/"
VTKM_SETTINGS: "benchmarks+kokkos+hip+no_rendering+ccache"
after_script:
- ccache -v -s
- ccache -z

@ -81,6 +81,8 @@ Optional dependencies are:
+ Kokkos Device Adapter
+ [Kokkos](https://kokkos.github.io/) 3.7+
+ CXX env variable or CMAKE_CXX_COMPILER should be set to
hipcc when using Kokkos device adapter with HIP (ROCM>=6).
+ CUDA Device Adapter
+ [Cuda Toolkit 9.2, >= 10.2](https://developer.nvidia.com/cuda-toolkit)
+ Note CUDA >= 10.2 is required on Windows