Compare commits

...

9 Commits

Author SHA1 Message Date
Tushar Athawale
0ed77bff8e Merge branch 'NewDatasetsForTutorial' into 'master'
Draft: Adding new data to tutorial examples

See merge request vtk/vtk-m!2844
2024-06-28 14:40:11 -04:00
Kenneth Moreland
fc570a75a5 Merge branch 'release' into master 2024-06-28 11:10:45 -04:00
Kenneth Moreland
cb07d8400c Merge branch 'release-2.0' into release 2024-06-28 11:10:45 -04:00
Kenneth Moreland
f610044d79 Merge topic 'split-contour-bench-2-1' into release-2.0
6f5f65487 Split the contour benchmark into structured/unstructured

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !3239
2024-06-28 11:10:45 -04:00
Vicente Bolea
9c0a3aef31 Merge topic 'update-rocm'
c6f0e3698 ci: update kokkos hip to 6.1, ubuntu 2204

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !3237
2024-06-27 14:21:15 -04:00
Kenneth Moreland
6f5f654878 Split the contour benchmark into structured/unstructured
We've been having problems with PerformanceTestBenchContour. In the last
few iteration, the runtime goes way up. We cannot find any reason for
this in the source code. There don't appear to be any particular
problems with memory or tables. The best we can figure is an issue with
the device hardware in the container.

The easy solution should be to break the benchmark into smaller peices
to avoid the problem.
2024-06-26 17:47:27 -04:00
Vicente Adolfo Bolea Sanchez
c6f0e36986 ci: update kokkos hip to 6.1, ubuntu 2204 2024-06-26 16:31:25 -04:00
Tushar Athawale
bb8d52f9c4 Tutorial files restored 2023-09-13 04:56:40 -04:00
Tushar Athawale
af3640d932 Adding new data to tutorial examples 2022-12-22 04:59:27 -05:00
10 changed files with 125 additions and 72 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

@ -87,3 +87,7 @@ vtkm_add_target_information(extract_edges
# Copy the data file to be adjacent to the binaries
file(GENERATE OUTPUT "$<TARGET_FILE_DIR:mag_grad>/data/kitchen.vtk" INPUT "${CMAKE_CURRENT_SOURCE_DIR}/data/kitchen.vtk")
file(GENERATE OUTPUT "$<TARGET_FILE_DIR:contour>/data/skull.vtk" INPUT "${CMAKE_CURRENT_SOURCE_DIR}/data/skull.vtk")
file(GENERATE OUTPUT "$<TARGET_FILE_DIR:contour>/data/raw_data.vtk" INPUT "${CMAKE_CURRENT_SOURCE_DIR}/data/raw_data.vtk")

@ -18,15 +18,14 @@ int main(int argc, char** argv)
{
vtkm::cont::Initialize(argc, argv);
vtkm::io::VTKDataSetReader reader("data/kitchen.vtk");
vtkm::io::VTKDataSetReader reader("data/raw_data.vtk");
vtkm::cont::DataSet ds_from_file = reader.ReadDataSet();
vtkm::filter::contour::Contour contour;
contour.SetActiveField("c1");
contour.SetNumberOfIsoValues(3);
contour.SetIsoValue(0, 0.05);
contour.SetIsoValue(1, 0.10);
contour.SetIsoValue(2, 0.15);
contour.SetActiveField("ground_truth");
contour.SetNumberOfIsoValues(1);
contour.SetIsoValue(0, 1500);
contour.SetGenerateNormals(true);
vtkm::cont::DataSet ds_from_contour = contour.Execute(ds_from_file);
vtkm::io::VTKDataSetWriter writer("out_mc.vtk");

3
tutorial/data/skull.vtk Normal file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:084c919cf28c100ac67e50a0ad529380d0635891e8a11a953a88776900e7ef8a
size 24256465