VTK-m merge requestshttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests2024-02-08T17:44:26-05:00https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3194ci: fix typo for CTEST_EXCLUSION2024-02-08T17:44:26-05:00Vicente Boleavicente.bolea@kitware.comci: fix typo for CTEST_EXCLUSION@sujin.philip this explains why UnitTestWorkletParticleAdvection was not being ignored in the hip build@sujin.philip this explains why UnitTestWorkletParticleAdvection was not being ignored in the hip buildVicente Boleavicente.bolea@kitware.comVicente Boleavicente.bolea@kitware.comhttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3180update minimum ANARI-SDK version required2024-02-08T14:55:48-05:00Jefferson Amstutzjamstutz@nvidia.comupdate minimum ANARI-SDK version required@vbolea this will require updating the Kokkos Docker image.@vbolea this will require updating the Kokkos Docker image.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3192Fix doxygen and sphinx warnings2024-02-08T14:51:04-05:00Kenneth MorelandFix doxygen and sphinx warningshttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3193Fix typo in CI name2024-02-08T12:58:26-05:00Kenneth MorelandFix typo in CI namehttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3190Update docs CI to match job naming convention2024-02-07T12:31:29-05:00Kenneth MorelandUpdate docs CI to match job naming conventionThe naming convention for CI jobs is generally `stage:name` where the
`stage` matches the GitLab stage and the `name` is a description.
However, the documentation jobs broke this convention by being called
`docs:type` where `type` is `co...The naming convention for CI jobs is generally `stage:name` where the
`stage` matches the GitLab stage and the `name` is a description.
However, the documentation jobs broke this convention by being called
`docs:type` where `type` is `continuous`, `latest`, or `master`. This
breaks the convention because `docs` is not a stage and `type` does not
really describe the build. This fouls up things like
`reproduce_ci_env.py` that expect the first part of the name to be the
same as the stage.
This changes the names to `build:docs-continuous`, `build:docs-latest`,
and `build:docs-master`. This follows the convention of matching the
names with the stage.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3186Support `Fill` for `ArrayHandleStride`2024-02-05T10:34:58-05:00Kenneth MorelandSupport `Fill` for `ArrayHandleStride`Previously, if you called `Fill` on an `ArrayHandleStride`, you would get
an exception that said the feature was not supported. It turns out that
filling values is very useful in situations where, for example, you need to
initialize an a...Previously, if you called `Fill` on an `ArrayHandleStride`, you would get
an exception that said the feature was not supported. It turns out that
filling values is very useful in situations where, for example, you need to
initialize an array when processing an unknown type (and thus dealing with
extracted components).
This implementation of `Fill` first attempts to call `Fill` on the
contained array. This only works if the stride is set to 1. If this does
not work, then the code leverages the precompiled `ArrayCopy`. It does this
by first creating a new `ArrayHandleStride` containing the fill value and a
modulo of 1 so that value is constantly repeated. It then reconstructs an
`ArrayHandleStride` for itself with a modified size and offset to match the
start and end indices.
Referencing the `ArrayCopy` was tricky because it kept creating circular
dependencies among `ArrayHandleStride`, `ArrayExtractComponent`, and
`UnknownArrayHandle`. These dependencies were broken by having
`ArrayHandleStride` directly use the internal `ArrayCopyUnknown` function
and to use a forward declaration of `UnknownArrayHandle` rather than
including its header.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3183Deprecate the GetCounts() method in Keys objects2024-01-29T12:25:18-05:00Kenneth MorelandDeprecate the GetCounts() method in Keys objectsThe `vtkm::worklet::Keys` object held a `SortedValuesMap` array, an
`Offsets` array, a `Counts` array, and (optionally) a `UniqueKeys` array.
Of these, the `Counts` array is redundant because the counts are trivially
computed by subtract...The `vtkm::worklet::Keys` object held a `SortedValuesMap` array, an
`Offsets` array, a `Counts` array, and (optionally) a `UniqueKeys` array.
Of these, the `Counts` array is redundant because the counts are trivially
computed by subtracting adjacent entries in the offsets array. This pattern
shows up a lot in VTK-m, and most places we have moved to removing the
counts and just using the offsets.
This change removes the `Count` array from the `Keys` object. Where the
count is needed internally, adjacent offsets are subtracted. The deprecated
`GetCounts` method is implemented by copying values into a new array.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3181Deprecate boundary condition in neighborhood worklets2024-01-19T11:55:08-05:00Kenneth MorelandDeprecate boundary condition in neighborhood workletsThis feature was introduced but is never used anywhere. It is up to the
worklet subclass to determine what to do with the boundaries with the
`BoundaryState` object.
In the future we may have a neighborhood worklet of compile-fixed size...This feature was introduced but is never used anywhere. It is up to the
worklet subclass to determine what to do with the boundaries with the
`BoundaryState` object.
In the future we may have a neighborhood worklet of compile-fixed sized
for better memory access efficiency. If that is the case, we can
reintroduce this idea. We can decide on the right implementation if that
design ever comes to pass.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3178ci,ascent: remove ascent build2024-01-05T12:37:09-05:00Vicente Boleavicente.bolea@kitware.comci,ascent: remove ascent buildThe ascent machine has been decommissioned, in this MR we remove the build that used to run in Ascent. If the time comes and we have access to another similar system we can reuse the scripts (recover it inspecting the git log) that we ar...The ascent machine has been decommissioned, in this MR we remove the build that used to run in Ascent. If the time comes and we have access to another similar system we can reuse the scripts (recover it inspecting the git log) that we are removing hereVicente Boleavicente.bolea@kitware.comVicente Boleavicente.bolea@kitware.comhttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3149enable partitioned rendering by ghost blanking and depth sorting2024-01-05T11:37:32-05:00Roxana Bujackenable partitioned rendering by ghost blanking and depth sortingWe can now render partitionedData by looping across all partitions in the order that treats transparency the best. For the MapperRaytracer and MapperConnectivity, we have the blanking in the ghost array specifically taken care of such th...We can now render partitionedData by looping across all partitions in the order that treats transparency the best. For the MapperRaytracer and MapperConnectivity, we have the blanking in the ghost array specifically taken care of such that blanked cells in AMR data are not rendered.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3177Add documentation of logging2024-01-05T09:49:50-05:00Kenneth MorelandAdd documentation of logginghttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3169Allow floating-point isovalues for contours of integer fields2024-01-02T11:29:01-05:00Kenneth MorelandAllow floating-point isovalues for contours of integer fieldsThe flying edges version of the contouring filter converted the isovalues
provided into the same type as the field. This is fine for a floating point
field, but for an integer field the isovalue was truncated to the nearest
integer.
Thi...The flying edges version of the contouring filter converted the isovalues
provided into the same type as the field. This is fine for a floating point
field, but for an integer field the isovalue was truncated to the nearest
integer.
This is problematic because it is common to provide a fractional isovalue
(usually N + 0.5) for integer fields to avoid degenerate cases of the
contour intersecting vertices. It also means the behavior changes between
an integer type that is directly supported (like a `signed char`) or an
integer type that is not directly supported and converted to a floating
point field (like potentially a `char`).
This change updates the worklets to allow the isovalue to have a different
type than the field and to always use a floating point type for the
isovalue.
Backport: releasehttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3172Add advanced types chapter to user's guide2023-12-28T11:24:40-05:00Kenneth MorelandAdd advanced types chapter to user's guidehttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3173Increase test timeout for debug builds2023-12-19T12:04:56-05:00Kenneth MorelandIncrease test timeout for debug buildsMost of the CI builds are release, and the timeout set for them makes
sense. But for those debug builds, some of the longer-running tests
often exceed the provided timeout. To rightsize the timeouts, make them
longer for debug builds.Most of the CI builds are release, and the timeout set for them makes
sense. But for those debug builds, some of the longer-running tests
often exceed the provided timeout. To rightsize the timeouts, make them
longer for debug builds.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3168cmake: VTKm_ENABLE_KOKKOS_THRUST disabled by default2023-12-18T17:24:33-05:00Vicente Boleavicente.bolea@kitware.comcmake: VTKm_ENABLE_KOKKOS_THRUST disabled by defaultFollowup of !3160
In !3160 we moved the definition of the option VTKm_ENABLE_KOKKOS_THRUST before we include the `CMake/VTKmDeviceAdapters.cmake` since we needed to test value of `VTKm_ENABLE_KOKKOS_THRUST` to `find_package(rocthrust)`...Followup of !3160
In !3160 we moved the definition of the option VTKm_ENABLE_KOKKOS_THRUST before we include the `CMake/VTKmDeviceAdapters.cmake` since we needed to test value of `VTKm_ENABLE_KOKKOS_THRUST` to `find_package(rocthrust)`. While that solved the problem of `rocthurst` being "found" by find_package we also made the definition of `VTKm_ENABLE_KOKKOS_THRUST` to default to OFF since it depended on variables `Kokkos_ENABLE_CUDA OR Kokkos_ENABLE_HIP` which are defined at `CMake/VTKmDeviceAdapters.cmake`.
In short a classic chicken and egg problem. I attempt to solve this by moving the `find_package(rocthrust)` outside of the `CMake/VTKmDeviceAdapters.cmake` and arranging the order so that we perform the mentioned actions in the following order:
```
find_package(kokkos)
option(VTKm_ENABLE_KOKKOS_THRUST)
find_package(rocthrust)
```Vicente Boleavicente.bolea@kitware.comVicente Boleavicente.bolea@kitware.comhttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3171Favor base types used by VTK-m when making new basic array2023-12-18T13:57:36-05:00Kenneth MorelandFavor base types used by VTK-m when making new basic arrayWhen calling `NewInstanceBasic` on an `UnknownArrayHandle`, all C base
types will be tried. In some cases, multiple type will match the same
array. When this happens, favor types used by VTK-m (e.g. `long long`
over `long`).
Backport: r...When calling `NewInstanceBasic` on an `UnknownArrayHandle`, all C base
types will be tried. In some cases, multiple type will match the same
array. When this happens, favor types used by VTK-m (e.g. `long long`
over `long`).
Backport: releasehttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3160kokkos: fix link to roc::rocthrust target2023-12-14T18:11:10-05:00Vicente Boleavicente.bolea@kitware.comkokkos: fix link to roc::rocthrust targetThis makes vtk_cont to link with rocthrust target when `VTKm_ENABLE_KOKKOS_THRUST=ON`. It should solve the error in the spack build: https://gitlab.spack.io/spack/spack/-/jobs/9314553
Backport: releaseThis makes vtk_cont to link with rocthrust target when `VTKm_ENABLE_KOKKOS_THRUST=ON`. It should solve the error in the spack build: https://gitlab.spack.io/spack/spack/-/jobs/9314553
Backport: releaseVicente Boleavicente.bolea@kitware.comVicente Boleavicente.bolea@kitware.comhttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3164Add benchmark for 2D explicit grids.2023-12-13T21:10:31-05:00Dave PugmireAdd benchmark for 2D explicit grids.Benchmark for 2d explicit grids.Benchmark for 2d explicit grids.https://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3156Update the developing algorithms section of the user's guide2023-12-13T18:18:37-05:00Kenneth MorelandUpdate the developing algorithms section of the user's guidehttps://gitlab.kitware.com/vtk/vtk-m/-/merge_requests/3167support more volume types via array element conversion + ensure scalar data2023-12-12T23:04:58-05:00Jefferson Amstutzjamstutz@nvidia.comsupport more volume types via array element conversion + ensure scalar data