Merge topic 'update-diy'

188e5080b Merge branch 'upstream-diy' into update-diy
12b45d864 diy 2023-06-16 (3ee23f39)
1bea838be diy: set diy version to latest for/vtk-m
9c0b16414 remove gcc13 warning
d907d832a CI,opensuse: added sles build with gcc13

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !3084
This commit is contained in:
Vicente Bolea 2023-06-21 19:01:28 +00:00 committed by Kitware Robot
commit bce19a2e4c
9 changed files with 92 additions and 51 deletions

@ -62,6 +62,11 @@
extends:
- .docker_image
.opensuse: &opensuse
image: "kitware/vtkm:ci-opensuse-20230619"
extends:
- .docker_image
.run_automatically: &run_automatically
rules:
- if: '$CI_MERGE_REQUEST_ID'
@ -226,6 +231,7 @@ include:
- local: '/.gitlab/ci/centos8.yml'
- local: '/.gitlab/ci/doxygen.yml'
- local: '/.gitlab/ci/macos.yml'
- local: '/.gitlab/ci/opensuse.yml'
- local: '/.gitlab/ci/rhel8.yml'
- local: '/.gitlab/ci/ubuntu1604.yml'
- local: '/.gitlab/ci/ubuntu1804.yml'

@ -0,0 +1,24 @@
FROM opensuse/tumbleweed
LABEL maintainer "Vicente Adolfo Bolea Sanchez<vicente.bolea@kitware.com>"
# Base dependencies for building VTK-m projects
RUN zypper refresh && \
zypper update -y && \
zypper install -y --no-recommends \
cmake \
curl \
gcc13-c++ \
git \
git-lfs \
hdf5-devel \
libgomp1 \
mpich \
mpich-devel \
ninja \
python311 \
python311-scipy \
tbb-devel && \
zypper clean --all
# Need to run git-lfs install manually on system packaged version
RUN git-lfs install

32
.gitlab/ci/opensuse.yml Normal file

@ -0,0 +1,32 @@
build:opensuse_gcc13:
tags:
- build
- vtkm
- docker
- linux-x86_64
extends:
- .opensuse
- .cmake_build_linux
- .run_automatically
variables:
CMAKE_BUILD_TYPE: Debug
VTKM_SETTINGS: "benchmarks+tbb+openmp+mpi+shared+hdf5+min_build"
test:opensuse_gcc13:
tags:
- test
- vtkm
- docker
- linux-x86_64
extends:
- .opensuse
- .cmake_test_linux
- .run_automatically
variables:
#Restrict OpenMP number of threads since multiple test stages
#execute on the same hardware concurrently
OMP_NUM_THREADS: 4
dependencies:
- build:opensuse_gcc13
needs:
- build:opensuse_gcc13

@ -1,36 +1,3 @@
build:ubuntu2004_gcc9:
tags:
- build
- vtkm
- docker
- linux-x86_64
extends:
- .ubuntu2004
- .cmake_build_linux
- .run_automatically
variables:
CMAKE_BUILD_TYPE: Debug
VTKM_SETTINGS: "benchmarks+tbb+openmp+mpi+shared+hdf5+min_build"
test:ubuntu2004_gcc9:
tags:
- test
- vtkm
- docker
- linux-x86_64
extends:
- .ubuntu2004
- .cmake_test_linux
- .run_automatically
variables:
#Restrict OpenMP number of threads since multiple test stages
#execute on the same hardware concurrently
OMP_NUM_THREADS: 4
dependencies:
- build:ubuntu2004_gcc9
needs:
- build:ubuntu2004_gcc9
build:ubuntu2004_kokkos:
tags:
- build

@ -78,15 +78,17 @@ void TestWithExplicitData()
"Wrong point field data");
}
const auto& connectivityArray =
output.GetCellSet().AsCellSet<vtkm::cont::CellSetExplicit<>>().GetConnectivityArray(
vtkm::TopologyElementTagCell(), vtkm::TopologyElementTagPoint());
auto connectivityArrayPortal = connectivityArray.ReadPortal();
for (vtkm::IdComponent i = 0; i < connectivityArray.GetNumberOfValues(); i++)
{
VTKM_TEST_ASSERT(test_equal(connectivityArrayPortal.Get(i), expectedConnectivityArray[i]),
"Wrong connectivity array value");
const auto connectivityArray =
output.GetCellSet().AsCellSet<vtkm::cont::CellSetExplicit<>>().GetConnectivityArray(
vtkm::TopologyElementTagCell(), vtkm::TopologyElementTagPoint());
auto connectivityArrayPortal = connectivityArray.ReadPortal();
for (vtkm::IdComponent i = 0; i < connectivityArray.GetNumberOfValues(); i++)
{
VTKM_TEST_ASSERT(test_equal(connectivityArrayPortal.Get(i), expectedConnectivityArray[i]),
"Wrong connectivity array value");
}
}
auto newCoords = output.GetCoordinateSystem().GetDataAsMultiplexer();

@ -8,7 +8,7 @@ readonly name="diy"
readonly ownership="Diy Upstream <kwrobot@kitware.com>"
readonly subtree="vtkm/thirdparty/$name/vtkm$name"
readonly repo="https://gitlab.kitware.com/third-party/diy2.git"
readonly tag="for/vtk-m-20230328-g9bea15a1"
readonly tag="for/vtk-m-20230616-g40ea01f9"
readonly paths="
cmake
include

@ -121,6 +121,12 @@ endif()
if (NOT DEFINED diy_export_name)
set(diy_export_name "diy_targets")
endif()
if (NOT DEFINED diy_development_component)
set(diy_development_component "development")
endif()
if (NOT DEFINED diy_runtime_component)
set(diy_runtime_component "runtime")
endif()
if (NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
@ -273,22 +279,26 @@ configure_package_config_file(
# install targets
if (NOT DEFINED diy_install_only_libraries) # defined by parent project if building for binary distribution
install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/${diy_prefix} DESTINATION ${diy_install_include_dir})
install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/${diy_prefix}
DESTINATION ${diy_install_include_dir}
COMPONENT ${diy_development_component})
if (build_diy_mpi_lib)
install(FILES ${PROJECT_BINARY_DIR}/include/${diy_prefix}/mpi/mpitypes.hpp DESTINATION ${diy_install_include_dir}/${diy_prefix}/mpi)
install(FILES ${PROJECT_BINARY_DIR}/include/${diy_prefix}/mpi/mpitypes.hpp
DESTINATION ${diy_install_include_dir}/${diy_prefix}/mpi
COMPONENT ${diy_development_component})
endif()
endif()
install(TARGETS ${diy_targets} EXPORT ${diy_export_name}
ARCHIVE DESTINATION ${diy_install_lib_dir}
LIBRARY DESTINATION ${diy_install_lib_dir}
RUNTIME DESTINATION ${diy_install_bin_dir})
ARCHIVE DESTINATION ${diy_install_lib_dir} COMPONENT ${diy_development_component}
LIBRARY DESTINATION ${diy_install_lib_dir} COMPONENT ${diy_runtime_component}
RUNTIME DESTINATION ${diy_install_bin_dir} COMPONENT ${diy_runtime_component})
if (CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) # Only generate these files when diy is the main project
export(EXPORT ${diy_export_name} NAMESPACE DIY:: FILE "${PROJECT_BINARY_DIR}/diy-targets.cmake")
install(EXPORT ${diy_export_name} NAMESPACE DIY:: DESTINATION "." FILE diy-targets.cmake)
install(FILES "${PROJECT_BINARY_DIR}/diy-config.cmake" DESTINATION ".")
install(EXPORT ${diy_export_name} NAMESPACE DIY:: DESTINATION "." FILE diy-targets.cmake COMPONENT ${diy_development_component})
install(FILES "${PROJECT_BINARY_DIR}/diy-config.cmake" DESTINATION "." COMPONENT ${diy_development_component})
endif()
if (python)

@ -2,9 +2,9 @@
#define VTKMDIY_MPI_NO_MPI_HPP
#include <cassert> // std::assert
#include <cstdint> // uintptr_t
#include <stdexcept> // std::runtime_error
static const int MPI_SUCCESS = 0;
static const int MPI_ANY_SOURCE = -1;
static const int MPI_ANY_TAG = -1;

@ -69,7 +69,7 @@ namespace diy
void wipe() { std::vector<char>().swap(buffer); reset(); }
void reset() { position = 0; }
void skip(size_t s) { position += s; }
void swap(MemoryBuffer& o) { std::swap(position, o.position); buffer.swap(o.buffer); }
void swap(MemoryBuffer& o) { std::swap(position, o.position); buffer.swap(o.buffer); std::swap(blob_position, o.blob_position); blobs.swap(o.blobs); }
bool empty() const { return buffer.empty(); }
size_t size() const { return buffer.size(); }
void reserve(size_t s) { buffer.reserve(s); }