Commit Graph

176 Commits

Author SHA1 Message Date
Gunther H. Weber
1128786951 Removed virtual functions to fix compile/link error 2021-10-20 14:46:21 -07:00
Oliver Ruebel
370fd5de52 Avoid ReadPortal/WritePortal to get/set individual values as possible. 2021-10-20 14:46:21 -07:00
Oliver Ruebel
76d88db157 Added GetOwnedVerticesByGlobalID for the 2D and 3D meshes 2021-10-20 14:46:20 -07:00
Oliver Ruebel
b0fe5ffe40 Add doc in IdRelabeler 2021-10-20 14:46:20 -07:00
Oliver Ruebel
434b0a0943 Move PointDoubling to meshextrema submodule since only used in MeshExtrema.h 2021-10-20 14:46:20 -07:00
Kenneth Moreland
b1343474c1 Consolidate count-to-offset algorithms
For no particularly good reason, there were two functions that converted
and array of counts to an array of offsets: `ConvertNumComponentsToOffsets`
and `ConvertNumIndicesToOffsets`. These functions were identical, except
one was defined in `ArrayHandleGroupVecVariable.h` and the other was
defined in `CellSetExplicit.h`.

These two functions have been consolidated into one (which is now called
`ConvertNumComponentsToOffsets`). The consolidated function has also been
put in its own header file: `ConvertNumComponentsToOffsets.h`.

Normally, backward compatibility would be established using deprecated
features. However, one of the things being worked on is the removal of
device-specific code (e.g. `vtkm::cont::Algorithm`) from core classes like
`CellSetExplicit` so that less code needs to use the device compiler
(especially downstream code).

Part of this change removed unnecessary includes of `Algorithm.h` in
`ArrayHandleGroupVecVariable.h` and `CellSetExplicit.h`. This header had to
be added to some classes that were not including it themselves.
2021-09-16 14:24:41 -06:00
Kenneth Moreland
c17a5569f5 Do not try to use ArrayGetValue on arrays of non-basic types
This is no longer supported.
2021-08-11 07:56:32 -06:00
Gunther H. Weber
f9eab2eeec Replace STL exception in contour tree with VTKM exception 2021-07-15 14:00:23 -07:00
Gunther Weber
6c7a062b01 Merge topic 'contour-tree-performance-improvements'
851c32718 Clean-up 0f CopyArrayByIndices and CopyVecArrayByIndices helpers
89fc3be8f Changed comment style to avoid warning
17caf7f3a Fixed incorrect filename in CMakeLists.txt
c3b3c44eb Update CMakeLists.txt
b625ef7db Removed helper function for debugging
dffb7afbc Clean-up. Move functor class outside template.
51f737041 Clean-up. Move functor class outside template.
749232665 Added missing const qualifier
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2443
2021-07-14 13:04:06 -04:00
Gunther H. Weber
851c327188 Clean-up 0f CopyArrayByIndices and CopyVecArrayByIndices helpers 2021-06-28 15:44:44 -07:00
Gunther H. Weber
89fc3be8fa Changed comment style to avoid warning 2021-06-28 15:44:44 -07:00
Gunther H. Weber
17caf7f3a4 Fixed incorrect filename in CMakeLists.txt 2021-06-28 15:44:44 -07:00
Gunther H. Weber
c3b3c44eb1 Update CMakeLists.txt 2021-06-28 15:44:44 -07:00
Gunther H. Weber
b625ef7dbd Removed helper function for debugging 2021-06-28 15:44:44 -07:00
Gunther H. Weber
dffb7afbcd Clean-up. Move functor class outside template. 2021-06-28 15:44:44 -07:00
Gunther H. Weber
51f737041b Clean-up. Move functor class outside template. 2021-06-28 15:44:44 -07:00
Gunther H. Weber
749232665b Added missing const qualifier 2021-06-28 15:44:44 -07:00
Gunther H. Weber
32dcd3d0c5 Refactor merging to be restricted to only common vertices 2021-06-28 15:44:44 -07:00
Gunther H. Weber
47cc80e42c Add missing ArrayRangeComputeTemplate.h include to avoid memory copy 2021-06-28 15:44:44 -07:00
Gunther H. Weber
f5b95fe42d Clean up/remove contour tree mesh worklets no longer used. 2021-06-28 15:44:43 -07:00
Gunther H. Weber
35da705571 Add missing contour tree mesh worklets to CMakeLists.txt 2021-06-28 15:44:43 -07:00
Gunther H. Weber
b2fd0f9178 Added missing VTKM_EXEC in CopyNeighborsToPackedArray worklet 2021-06-28 15:44:43 -07:00
Gunther H. Weber
4da3fb57e9 Improved merge by keeping track of insert position 2021-06-28 15:44:43 -07:00
Gunther H. Weber
9ccde88d0f Commented out debug output/added comment. 2021-06-28 15:44:43 -07:00
Gunther H. Weber
9548ba5100 Add debug out and refactor for debugging 2021-06-28 15:44:43 -07:00
Gunther H. Weber
968ccfc351 Refactored ContourTreeMesh based on Ken Moreland's suggestions 2021-06-28 15:44:43 -07:00
Gunther H. Weber
39aad140ef More uses of ArrayGetValue where appropriate 2021-06-28 15:44:43 -07:00
Gunther H. Weber
85503c55d3 Fix dash board compiler warnings 2021-06-28 15:44:43 -07:00
Gunther H. Weber
abe7de6cc1 Avoid inner loop branch through compile time optimization 2021-06-28 15:44:43 -07:00
Gunther H. Weber
8ff6461ee7 Use vtkm::LowerBound/vtkm::UpperBound instead of custom binary search 2021-06-28 15:44:43 -07:00
Gunther H. Weber
5e98005227 Use ArrayGetValue to avoid array transfer to control environment 2021-06-28 15:44:43 -07:00
Gunther H. Weber
b490727324 Replace ScanExclusive with ScanExtended based on review feedback. 2021-06-28 15:44:43 -07:00
Gunther H. Weber
7f46a21bf0 Fix compile error on ubuntu1804_clang_cuda 2021-06-28 15:44:43 -07:00
Gunther H. Weber
84022a02eb Refactor changes to CombinedVectorDifferentFromNext.h 2021-06-28 15:44:43 -07:00
Oliver Ruebel
7ff30cb0c4 Avoid extra array copy and use ScanExclusive in ContourTreeMesh::MergeWith 2021-06-28 15:44:43 -07:00
Oliver Ruebel
9603c9f9bc Avoid pulling arrys to host to compute nCombinedNeighbours 2021-06-28 15:44:42 -07:00
Gunther H. Weber
4403947746 Fix MergeCombinedOtherStartIndexWorklet instead of using STL; clean up 2021-06-28 15:44:42 -07:00
Gunther H. Weber
b1ace58809 Use worklet to combine sorted lists instead of serial std::merge 2021-06-28 15:44:42 -07:00
Oliver Ruebel
f28961af94 Add time profiling for ContourTreeMesh::MergeWith 2021-06-28 15:44:42 -07:00
Oliver Ruebel
48d91b99f6 Throw exception if merge tree gets stuck in a loop 2021-02-23 15:26:10 -08:00
Oliver Ruebel
c7ea03ee27 Throw exception if contour tree gets stuck in a loop 2021-02-23 15:25:53 -08:00
Gunther Weber
561db99b30 Merge topic 'debug/ctwarp3d'
7a14ea0ef Use Float64 instead of FloatDefault in TreeCompiler
96424c833 Fix bad ordering of args for CountLinkComponentsIn2DSlice in IsNecessary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2414
2021-02-21 21:57:38 -05:00
Gunther H. Weber
ebb265ce03 Add missing VTKM_EXEC_CONT declarations to functor 2021-02-18 16:53:50 -08:00
Gunther H. Weber
10ea36bb95 Pick one approach of using array handle decorator for contour tree 2021-02-18 11:55:04 -08:00
Gunther H. Weber
585f0ccb18 Two versions for replacing array transform with array decorator 2021-02-17 19:17:31 -08:00
Oliver Ruebel
96424c8331 Fix bad ordering of args for CountLinkComponentsIn2DSlice in IsNecessary 2021-02-15 04:17:04 -08:00
Kenneth Moreland
f4bc3002bb Fix compiler error with constexpr method
The `GetMaxNumberOfNeighbours` of the `MeshStructure*` classes was
declared `constexpr`. This was causing some compiler errors.

I think the problem is actually a bug with GCC (https://gcc.gnu.org/
bugzilla/show_bug.cgi?id=66297). Whether it is a compiler bug or not,
there does not seem to be a large value to declaring this method
`constexpr`, so I just removed the keyword.
2021-02-08 17:21:53 -07:00
Kenneth Moreland
c55d15f397 Deprecate ArrayHandle::ExecutionTypes
The newer version of `ArrayHandle` no longer supports different types of
portals for different devices. Thus, the `ReadPortalType` and
`WritePortalType` are sufficient for all types of portals across all
devices.

This significantly simplifies supporting execution objects on devices,
and thus this change also includes many changes to various execution
objects to remove their dependence on the device adapter tag.
2021-02-08 12:17:37 -07:00
Oliver Ruebel
cea1173233 Reverse error check in ContourTreeMaker 2021-02-02 13:46:01 -08:00
Oliver Ruebel
5005b5d44a Updated ContourTreeMesh::DebugPrint / ContourTreeMaker::DebugPrintt to use per-call build guards 2021-02-02 13:44:50 -08:00