e9fd545b0 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into euler_integrator_fix
23126bbec Integrator status fix for consistant behavior
3e18f105e Fixing Integrator Status Behavior
ff112e424 Integrator status behavior check
343f2d577 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into euler_integrator_fix
82cfba27c Rectify testing code
8ddecbb43 Fixing test issues
6274b1657 Updating Euler Integrator to work
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2023
3273f1c48 Update to AddPointField of dataset
eef30c232 Merge branch 'master' into add/hyperstructstats
1014dbf04 Fix BOV reader support in ContourTreeApp
e908826c1 Temporary disabled BOV reader in ContourTreeApp pending #517
8a27ff510 Merge branch 'master' into add/hyperstructstats
43e470de7 Fix g++ conversion warning in ContourTreeApp
a9a4736c3 Add BOV reader support and fix TBB settings in contour tree app
38da8dc43 Fix TBB check bug in ContourTreeApp
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2002
The centos7 on rhel8 was not running the install tests
as the path to cmake/ctest wasn't valid. This causes
the causes the following issues:
1. NOT_RUN tests with REPEAT don't show up in CMake failed
output fixed by:
https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4801
2. failed tests cause ctest_test to return an error code,
which propagates to the script, which propagates to
having ctest running the script return an error.
251bd82b8 Significantly improve FlyingEdges performance across all devices
fa9373801 Rework FlyingEdges::Pass1 to handle NUMA and CUDA requirements.
769a10b47 FlyingEdge Normal and Point generation occurs in Pass4
93d87e06f Optimize StructuredPointGradient for non boundary points.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2080
We now use SumYAxis when executing with CUDA for better memory patterns.
Instead of using the heavy Pass4/Pass4WithNormals, CUDA now uses a
2 pass approach with the second pass outputting the normals and
coordinates using with significantly less warp divergence
First the Pass1 now uses WorkletVisitPointsWithCells as it is
faster since it doesn't compute some implicit boundary / neighborhood
info.
Second we reworked the logic around using `Fill` and a conditional
write of the edge case. The requirements of SMP when on a NUMA
machine is the complete opposite of what works great with CUDA.
5498ecd35 Properly handle global (whole mesh) fields in data set filters
f8fd0ce31 Silence warning about cast losing precision
3c4e8a2ea Convert filters to use precompiled field map functions where applicable
98f20ec26 Use a worklet to permute fields rather than ArrayHandlePermutation
4a5dbb65d Convert CleanGrid (and dependents) to use precompiled field map
2383a7fff Add MapFieldPermutation function
b1f288aae Add non-templated base class to Keys class.
934732bb6 Add MapFieldPermutation function
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1954
When VTK compiles VTK-m for inclusion as an accelerator library, it sets
an option to compile filters and other components for a different (and
expanded) set of common types. We should test this configuration.
Generally, fields that have a WHOLE_MESH association might be valid even
if the structure of the mesh changes. Thus, it makes sense for filters
to pass this data pretty much all the time.
Also cleaned up some code and comments to make the relationship between
`MapFieldOntoOutput` and `DoMapField` more clear.
When using math operators on small integers, the numbers are promoted to
32-bit ints. If that is set back to the same type, then some compilers
give a warning. This is annoying and pointless when dealing with
templated types, but we have to deal with it.
According to talks with Rob Maynard, using a worklet should be
(counterintuitively) faster than using ArrayHandlePermutation with
ArrayCopy.
This change also gives an opportunity to handle invalid indices, which
may be intentionally set when no mapping is available for that value.
For this case, MapFieldPermutation now takes an invalidValue argument to
set such values.
This function is compiled into the vtkm_filter library, so all filters
can implement this type of mapping without providing their own version
of compiling it.
Because we only compile it once, we provide more types to convert.
Hopefully the total compile time balances out.
The only reason Keys has a template is so that it can hold a UniqueKeys
array and provide the key for each group. If that is not needed and you
want to implement a library function that takes a keys object, you can
now grab the Keys superclass KeysBase. KeysBase is not templated, so you
can pass it to a standard method in a library.
This function is compiled into the vtkm_filter library, so all filters
can implement this type of mapping without providing their own version
of compiling it.
Because we only compile it once, we provide more types to convert.
Hopefully the total compile time balances out.
-- Setting the Spatial and OK bit both to 1 for Euler integrator
similar to RK4
-- After discussion w/ Dave, the Spatial/Temporal bit will be the
status of the particle and not the OK bit.
544a078cd Remove use of deprecated policies in examples
06f5119c2 Fix deprecation warning
f29a4712b Correct field types for ComputeMoments filter
a20ec03d0 Disable proxies in filter benchmark
72cd0107e Deprecate Execute with policy
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2093
10dc96cb8 Remove extra count variable
536249f63 Merge remote-tracking branch 'upstream/master' into lagrangian_bugfix
519844782 Fix order of initialized seeds to match output format
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !2084
This means that the filters in the examples will no longer properly
support the policies handed to them, but that is the direction we are
headed as the policies are now deprecated.