Commit Graph

10715 Commits

Author SHA1 Message Date
Jay
90e1e82b86 add composite filter 2023-01-26 04:48:23 +00:00
Kenneth Moreland
b62d3a5975 Merge topic 'clip-interp-any-field'
1889447d8 Update clip filter's field map to work on any field type

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2969
2023-01-25 10:14:31 -05:00
Vicente Adolfo Bolea Sanchez
9b268bce63 perftest: reorder fixtures; fetch vtk/vtk-m objects 2023-01-25 18:43:52 +09:00
Kenneth Moreland
1889447d82 Update clip filter's field map to work on any field type
The previous implementation of the map field in the clip filters
(`ClipWithField` and `ClipWithImplicitFunction`) checked for common field
types and interpolated those. If the field value type did not match, it
would either convert the field to floats (which is at odds with what VTK
does) or fail outright if the `Vec` length is not supported.

The map field function for clip has been changed to support all possible
types. It does this by using the extract component functionality to get
data from any type of array.
2023-01-24 11:14:51 -07:00
Kenneth Moreland
0513eaf5fc Merge topic 'output-vec-like-fix'
eda6dc39f Support using arrays with dynamic Vec-likes as output arrays

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2963
2023-01-24 12:28:03 -05:00
Kenneth Moreland
eda6dc39f2 Support using arrays with dynamic Vec-likes as output arrays
When you use an `ArrayHandle` as an output array in a worklet (for example,
as a `FieldOut`), the fetch operation does not read values from the array
during the `Load`. Instead, it just constructs a new object. This makes
sense as an output array is expected to have garbage in it anyway.

This is a problem for some special arrays that contain `Vec`-like objects
that are sized dynamically. For example, if you use an
`ArrayHandleGroupVecVariable`, each entry is a dynamically sized `Vec`. The
array is referenced by creating a special version of `Vec` that holds a
reference to the array portal and an index. Components are retrieved and
set by accessing the memory in the array portal. This allows us to have a
dynamically sized `Vec` in the execution environment without having to
allocate within the worklet.

The problem comes when we want to use one of these arrays with `Vec`-like
objects for an output. The typical fetch fails because you cannot construct
one of these `Vec`-like objects without an array portal to bind it to. In
these cases, we need the fetch to create the `Vec`-like object by reading
it from the array. Even though the data will be garbage, you get the
necessary buffer into the array (and nothing more).

Previously, the problem was fixed by creating partial specializations of
the `Fetch` for these `ArrayHandle`s. This worked OK as long as you were
using the array directly. However, the approach failed if the `ArrayHandle`
was wrapped in another `ArrayHandle` (for example, if an `ArrayHandleView`
was applied to an `ArrayHandleGroupVecVariable`).

To get around this problem and simplify things, the basic `Fetch` for
direct output arrays is changed to handle all cases where the values in the
`ArrayHandle` cannot be directly constructed. A compile-time check of the
array's value type is checked with `std::is_default_constructible`. If it
can be constructed, then the array is not accessed. If it cannot be
constructed, then it grabs a value out of the array.
2023-01-23 13:02:40 -07:00
Kenneth Moreland
679a61bb71 Merge topic 'resize-extracted-components'
23469cab6 Add ability to resize ArrayHandleRecombineVec
2061e95ef Add ability to resize ArrayHandleStride

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2964
2023-01-23 14:09:10 -05:00
Vicente Bolea
ff340c268a Merge topic 'fix-testing-h' into release-2.0
a6f2a93c4 testing: remove vtkm/cont/testing relative path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2965
2023-01-20 02:13:27 -05:00
Vicente Bolea
673706c96c Merge branch 'release-2.0' 2023-01-20 02:13:27 -05:00
Vicente Bolea
caadd3248d Merge topic 'fix-testing-h'
a6f2a93c4 testing: remove vtkm/cont/testing relative path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2965
2023-01-20 02:13:27 -05:00
Sujin Philip
f8af0b17f4 Merge topic 'cuda-12-fixes'
5d0481342 Fix compile issues when using cuda 12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2960
2023-01-19 14:42:28 -05:00
Vicente Adolfo Bolea Sanchez
a6f2a93c40 testing: remove vtkm/cont/testing relative path 2023-01-19 17:11:20 +09:00
Kenneth Moreland
23469cab68 Add ability to resize ArrayHandleRecombineVec
This feature enables the ability to anonomously create an array (such as
with `UnknownArrayHandle::NewInstance()`) and then use that as an output
array.
2023-01-18 14:29:23 -06:00
Kenneth Moreland
2061e95efe Add ability to resize ArrayHandleStride
This feature enables the ability to anonomously create an array (such as
with `UnknownArrayHandle::NewInstance()`) and then use that as an output
array. Although resizing `ArrayHandleStride` is a little wonky, it
allows worklets to resize them after creation rather than having to know
what size to make and allocating the array.
2023-01-18 14:29:23 -06:00
Sujin Philip
5d0481342a Fix compile issues when using cuda 12
CUDA 12 adds a `cub::Swap` function that creates ambiguity with `vtkm::Swap`.
This happens when a function from the `cub` namespace is called with an object
of a class defined in the `vtkm` namespace as an argument. If that function
has an unqualified call to `Swap`, it results in ADL being used, causing the
templated functions `cub::Swap` and `vtkm::Swap` to conflict.
2023-01-18 12:06:35 -05:00
Oliver Ruebel
146b051436 Merge topic 'add_hdf5_reader'
44c276174 Remove bad import and fix warning in ContourTreeAppDataIO.h
113e6be32 Remove bad import in ContourTreeApp distributed
27d3d403f Remove bade import in streamline_mpi example
0e5aeb10f Update contour_tree_distributed/CMakeLists.txt
565772854 Merge branch 'master' into add_hdf5_reader
fbc313186 Fix error in ContourTreeAppDataIO
63ec3f3bc Updated contour tree distributed IO to use CellSetStructured
b0952365f Merge remote-tracking branch 'origin/master' into add_hdf5_reader
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2802
2023-01-17 12:39:30 -05:00
Mark Bolstad
5197ad3d20 Merge topic 'override_ctest_timeout'
841da4169 Follow better CMake/VTK-m practices
c5ce6cb96 Replace if/then with string parameter
95c641559 Add cmake flag to override default ctest timeouts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2958
2023-01-17 12:02:54 -05:00
oruebel
44c2761740 Remove bad import and fix warning in ContourTreeAppDataIO.h 2023-01-16 18:26:32 -08:00
oruebel
113e6be327 Remove bad import in ContourTreeApp distributed 2023-01-16 18:25:48 -08:00
oruebel
27d3d403f6 Remove bade import in streamline_mpi example 2023-01-16 18:25:17 -08:00
oruebel
0e5aeb10fe Update contour_tree_distributed/CMakeLists.txt 2023-01-16 18:08:58 -08:00
oruebel
565772854a Merge branch 'master' into add_hdf5_reader 2023-01-16 17:56:36 -08:00
Kenneth Moreland
50a4935825 Merge topic 'document-field-index-order' into release-2.0
c0e0032e1 Clarify field index ordering in Doxygen

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2959
2023-01-13 11:14:36 -05:00
Kenneth Moreland
6c1c19259a Merge branch 'release-2.0' 2023-01-13 11:14:36 -05:00
Kenneth Moreland
886f45078b Merge topic 'document-field-index-order'
c0e0032e1 Clarify field index ordering in Doxygen

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2959
2023-01-13 11:14:36 -05:00
Kenneth Moreland
3568adf5b3 Merge topic 'sprintf-warning' into release-2.0
f275972e3 Resolve sprintf warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2961
2023-01-13 10:53:47 -05:00
Kenneth Moreland
2de57deafc Merge branch 'release-2.0' 2023-01-13 10:53:47 -05:00
Kenneth Moreland
d65d6ec3bf Merge topic 'sprintf-warning'
f275972e3 Resolve sprintf warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2961
2023-01-13 10:53:47 -05:00
Vicente Bolea
5b4e63f789 Merge topic 'fix-vtkm-devices-namespaces' into release-2.0
d5ce96789 CMAKE: fix vtkm devices namespaces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2953
2023-01-13 09:51:00 -05:00
Vicente Bolea
6c6dc9521a Merge branch 'release-2.0' 2023-01-13 09:51:00 -05:00
Vicente Bolea
3a620941dd Merge topic 'fix-vtkm-devices-namespaces'
d5ce96789 CMAKE: fix vtkm devices namespaces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2953
2023-01-13 09:51:00 -05:00
Kenneth Moreland
c0e0032e1d Clarify field index ordering in Doxygen
The fields in a `DataSet` are indexed from `0` to `GetNumberOfFields() - 1`.
It is natural to assume that the fields will be indexed in the order that
they are added, but they are not. Rather, the indexing is arbitrary and can
change any time a field is added to the dataset.

To make this more clear, Doxygen documentation is added to the `DataSet`
methods to inform users to not make any assumptions about the order of
field indexing.
2023-01-10 10:42:49 -07:00
Kenneth Moreland
f275972e3b Resolve sprintf warning
The latest verson of Xcode clang warns about using sprintf because of
its inherent vulnerability. Change it to snprintf.
2023-01-10 10:38:29 -07:00
Mark Bolstad
841da4169e Follow better CMake/VTK-m practices 2023-01-09 15:05:19 -07:00
Mark Bolstad
c5ce6cb96b Replace if/then with string parameter 2023-01-09 10:12:27 -07:00
Mark Bolstad
95c641559d Add cmake flag to override default ctest timeouts
The current ctest timeout in VTK-m are fine for the CI, but are too long for develoment when a test is hanging on a queued node. This commit allows a developer to turn off the majority of the hard coded timeout values which allows them to set them at the ctest command-line.
2023-01-09 08:42:23 -07:00
Abhishek Yenpure
bdfe192c19 Merge topic 'ascent_cmake_config'
51ca95bf6 Add VTKm_USE_DEFAULT_TYPES_FOR_ASCENT to VTKmConfig.cmake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2955
2023-01-05 13:50:51 -05:00
Abhishek Yenpure
51ca95bf6e Add VTKm_USE_DEFAULT_TYPES_FOR_ASCENT to VTKmConfig.cmake 2023-01-04 11:20:39 -08:00
Kenneth Moreland
007c249a19 Merge topic 'force-method-types'
a3d7f9475 Force functions passed as templates to be functors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Mark Bolstad <mbolsta@sandia.gov>
Merge-request: !2956
2023-01-04 10:50:43 -05:00
Kenneth Moreland
a3d7f9475b Force functions passed as templates to be functors
There are some special functions/methods that take as an argument a
function-like object and then call that function with some arguments.
There are some instances where a templated function was passed given the
appropriate template. Even though there is a specific function, this
gets passed as a function pointer and calling a function pointer on some
devices is a no-no.

Replace these function arguments with lambdas, which are constructed as
unnamed functor objects.
2023-01-03 13:56:29 -07:00
Vicente Adolfo Bolea Sanchez
d5ce967890 CMAKE: fix vtkm devices namespaces 2022-12-26 13:40:12 -05:00
Ben Boeckel
a15ea70ec7 Merge branch 'release-1.9' into release-2.0 2022-12-21 12:28:47 -05:00
Ben Boeckel
6ff755a9a8 Merge branch 'release-2.0' 2022-12-21 12:28:47 -05:00
Ben Boeckel
e8fd3ee5b8 Merge topic 'ci-arch-tags' into release-2.0
c8cc834b9 gitlab-ci: add missing platform and feature tags to ascent job
23c0eadb8 Merge branch 'ci-arch-tags-1.9' into ci-arch-tags
054661f68 gitlab-ci: use arch-specific tags for OS selection
4dd268c58 Merge branch 'ci-arch-tags-1.8' into ci-arch-tags-1.9
4c010f6c8 Merge branch 'ci-arch-tags-1.7' into ci-arch-tags-1.8
c3f4c924d gitlab-ci: add missing feature tag for doxygen submission
7766bbc3c gitlab-ci: use arch-specific tags for OS selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2952
2022-12-21 12:28:47 -05:00
Ben Boeckel
9e9f903f6b Merge branch 'release-1.8' into release-1.9 2022-12-21 12:28:47 -05:00
Ben Boeckel
1c1f842014 Merge topic 'ci-arch-tags'
c8cc834b9 gitlab-ci: add missing platform and feature tags to ascent job
23c0eadb8 Merge branch 'ci-arch-tags-1.9' into ci-arch-tags
054661f68 gitlab-ci: use arch-specific tags for OS selection
4dd268c58 Merge branch 'ci-arch-tags-1.8' into ci-arch-tags-1.9
4c010f6c8 Merge branch 'ci-arch-tags-1.7' into ci-arch-tags-1.8
c3f4c924d gitlab-ci: add missing feature tag for doxygen submission
7766bbc3c gitlab-ci: use arch-specific tags for OS selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2952
2022-12-21 12:28:47 -05:00
Ben Boeckel
831ae618e8 Merge topic 'ci-arch-tags' into release-1.9
054661f68 gitlab-ci: use arch-specific tags for OS selection
4dd268c58 Merge branch 'ci-arch-tags-1.8' into ci-arch-tags-1.9
4c010f6c8 Merge branch 'ci-arch-tags-1.7' into ci-arch-tags-1.8
c3f4c924d gitlab-ci: add missing feature tag for doxygen submission
7766bbc3c gitlab-ci: use arch-specific tags for OS selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2952
2022-12-21 12:28:47 -05:00
Ben Boeckel
6ce131dfd4 Merge branch 'release-1.7' into release-1.8 2022-12-21 12:28:47 -05:00
Ben Boeckel
5cd4c23c82 Merge topic 'ci-arch-tags' into release-1.8
4c010f6c8 Merge branch 'ci-arch-tags-1.7' into ci-arch-tags-1.8
c3f4c924d gitlab-ci: add missing feature tag for doxygen submission
7766bbc3c gitlab-ci: use arch-specific tags for OS selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2952
2022-12-21 12:28:47 -05:00
Ben Boeckel
9d78e44508 Merge topic 'ci-arch-tags' into release-1.7
c3f4c924d gitlab-ci: add missing feature tag for doxygen submission
7766bbc3c gitlab-ci: use arch-specific tags for OS selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2952
2022-12-21 12:28:46 -05:00