Commit Graph

9736 Commits

Author SHA1 Message Date
Kenneth Moreland
170a10e4b4 Fix slow ArrayCopy calls
The `ArrayCopy` method has been changed to be precompiled. It handles
most standard array types. But there are some special `ArrayHandle`
types that are not correctly handled, and these go to a slow fallback.
Find places in the code that use that fallback and fix them.

There are also some instances of replacing an `ArrayHandleCounting` with
an `ArrayHandleIndex`. This change is probably not strictly necessary to
make the `ArrayCopy` faster, but when it can be used `ArrayHandleIndex`
is generally better.
2022-01-24 14:15:45 -07:00
Kenneth Moreland
63c45efc04 GenerateIds filter does not require device compiler 2022-01-24 14:05:58 -07:00
Kenneth Moreland
245fc3a983 Compile IO library without device compiler 2022-01-24 12:17:23 -07:00
Kenneth Moreland
9b017f4f95 Correct inefficient extract component for decorating arrays
Many arrays decorate other arrays but still allow an efficient component
extraction. However, the component can only be extracted if it can be
efficiently extracted from the array being decorated. In this case, the
array reported that it could efficiently extract even though it could
not.

Fixed this by having the `ArrayExtractComponentImpl` classes inherit
from the respective superclass. This will in turn inhert the
`ArrayExtractComponentImplInefficient` if it is the base class.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
392d781359 Add ArrayCopy specialization for Counting and Permutation array
This required adding another source file.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
f3c82bfea7 Add ArrayCopy fast paths
There are some common uses of `ArrayCopy` that don't use basic arrays.
Rather than move away from `ArrayCopy` for these use cases, compile a
special fast path for these cases.

This required some restructuring of the code to get the template
resolution to work correctly.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
00609b0af2 Make ArrayCopy not depend on a device compiler
Rather than require `ArrayCopy` to create special versions of copy for
all arrays, use a precompiled versions. This should speed up compiles,
reduce the amount of code being generated, and require the device
compiler on fewer source files.

There are some cases where you still need to copy arrays that are not
well supported by the precompiled versions in `ArrayCopy`. (It will
always work, but the fallback is very slow.) In this case, you will want
to switch over to `ArrayCopyDevice`, which has the old behavior.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
aefc753329 Implement permutation mapping in vtkm_cont
There was a precompiled version of mapping permutations in the
filter library. However, there are reasons to be able to copy
a permutation of an array outside of filters. So add the
capability to the more general filter library.
2022-01-24 12:17:23 -07:00
Kenneth Moreland
2b8d89fd50 Fix Fill for ArrayHandleView
The Fill method in the storage was filling the wrong buffers.
2022-01-24 12:17:23 -07:00
Li-Ta Lo
578f980ac4 Merge branch 'master' into new_connected_components
# Conflicts:
#	vtkm/filter/CMakeLists.txt
#	vtkm/filter/testing/CMakeLists.txt
2022-01-24 12:11:33 -07:00
Li-Ta Lo
c181cc08a9 Merge topic 'density_estimate'
af37ecd54 make fields associate with mesh
71ec80a3b Merge branch 'master' into density_estimate
ac6a93003 minor update based on code review
1d3c38793 add ALL_BACKENDS
5f9ee86f2 migrate particle density filters
271e02335 migrate Entropy and ND filters
c4a7444b0 migrate Histogram filter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2677
2022-01-24 13:41:56 -05:00
Li-Ta Lo
af37ecd54d make fields associate with mesh 2022-01-24 09:19:24 -07:00
Abhishek Yenpure
bb27a0f8fe Adding debug updates 2022-01-23 22:42:07 -08:00
Abhishek Yenpure
16f15c94b9 Adding fixes to identify degenerate cells 2022-01-22 21:06:28 -08:00
Li-Ta Lo
ee1b752e8e Merge branch 'master' into new_connected_components 2022-01-22 10:12:25 -07:00
Li-Ta Lo
71ec80a3bd Merge branch 'master' into density_estimate 2022-01-22 09:07:52 -07:00
Li-Ta Lo
ac6a93003d minor update based on code review 2022-01-22 08:39:10 -07:00
Vicente Adolfo Bolea Sanchez
cc6502498e HIP: remove bogus kokkoscore props 2022-01-21 16:36:40 -05:00
Kenneth Moreland
c31ed6a2d5 Merge topic 'ollielo/vtk-m-entity_extraction'
61e2a620a document why a .ResetCellSetList is necessary
ced89bb39 Move internal functions into top level anonymous namespace
e8278094f migrate Mask
679f1b00e migrate GhostCellRemove and Threshold
7e08f4fb1 Migrate ExtractStructured
e3703b09c migrate ExtractGeometry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2680
2022-01-21 11:34:38 -05:00
Li-Ta Lo
61e2a620a9 document why a .ResetCellSetList is necessary 2022-01-20 15:17:18 -07:00
Kenneth Moreland
ced89bb396 Move internal functions into top level anonymous namespace 2022-01-20 15:16:03 -07:00
Li-Ta Lo
e8278094f9 migrate Mask
tidy up language and library usage

update benchmark
2022-01-20 15:14:37 -07:00
Li-Ta Lo
679f1b00e9 migrate GhostCellRemove and Threshold 2022-01-20 15:10:22 -07:00
Li-Ta Lo
7e08f4fb1b Migrate ExtractStructured
DoMapField

add back deprecated ExtractStructured.h
2022-01-20 15:10:20 -07:00
Li-Ta Lo
e3703b09cf migrate ExtractGeometry 2022-01-20 15:02:59 -07:00
Vicente Bolea
be309097c0 Merge topic 'add-mingw-patch'
a6dcac2cb Fix build with MinGW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2666
2022-01-20 13:04:01 -05:00
Abhishek Yenpure
4556eed085 Adding more debug 2022-01-19 16:43:35 -08:00
Li-Ta Lo
1d3c387936 add ALL_BACKENDS 2022-01-19 13:55:42 -07:00
Li-Ta Lo
5f9ee86f28 migrate particle density filters 2022-01-19 10:34:43 -07:00
Julien Schueller
a6dcac2cb1 Fix build with MinGW
Co-authored-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2022-01-19 16:41:42 +00:00
Abhishek Yenpure
ed616d7206 Adding print to debug 2022-01-19 08:27:34 -08:00
Li-Ta Lo
271e023354 migrate Entropy and ND filters 2022-01-19 07:20:48 -07:00
Abhishek Yenpure
b4f9f17aa4 Adding print to debug 2022-01-18 23:07:34 -08:00
Abhishek Yenpure
b18d375746 Adding print to debug 2022-01-18 22:56:34 -08:00
Abhishek Yenpure
70bb70f61d Adding print to debug 2022-01-18 22:27:45 -08:00
Abhishek Yenpure
39778a93cf Adding print to debug 2022-01-18 22:20:21 -08:00
Li-Ta Lo
c4a7444b02 migrate Histogram filter 2022-01-17 09:18:42 -07:00
Li-Ta Lo
de66d93d05 Add ALL_BACKENDS 2022-01-16 14:13:10 -07:00
Li-Ta Lo
77650a9ca0 migrate connected components filters 2022-01-16 12:15:03 -07:00
Abhishek Yenpure
dc37c48a1f Adding updates to unit test 2022-01-14 13:30:28 -08:00
Li-Ta Lo
5e991e4bf4 Merge branch 'master' into new_contour
# Conflicts:
#	benchmarking/BenchmarkFilters.cxx
#	vtkm/filter/CMakeLists.txt
#	vtkm/filter/clean_grid/CMakeLists.txt
#	vtkm/filter/clean_grid/CleanGrid.cxx
#	vtkm/filter/clean_grid/testing/CMakeLists.txt
#	vtkm/filter/clean_grid/testing/UnitTestCleanGrid.cxx
#	vtkm/filter/contour/testing/RenderTestContourFilter.cxx
#	vtkm/filter/contour/testing/UnitTestContourFilter.cxx
#	vtkm/filter/entity_extraction/CMakeLists.txt
#	vtkm/filter/entity_extraction/ExternalFaces.cxx
#	vtkm/filter/entity_extraction/ExtractPoints.cxx
#	vtkm/filter/entity_extraction/MaskPoints.cxx
#	vtkm/filter/entity_extraction/ThresholdPoints.cxx
#	vtkm/filter/testing/CMakeLists.txt
#	vtkm/filter/testing/UnitTestMultiBlockFilter.cxx
#	vtkm/worklet/testing/UnitTestOrientNormals.cxx
2022-01-14 13:31:01 -07:00
Abhishek Yenpure
d3d2ad84ba Adding venn250 data file 2022-01-14 10:28:07 -08:00
Li-Ta Lo
25224e0e4a Merge topic 'NewFilter'
36fbc019a prevent shadowing for older GCC
63b9b1275 MapperWireframer.cxx really should include Algorithm.h
fa0905e3e migrate clean_grid and extract_entity filters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2665
2022-01-14 09:31:41 -05:00
Abhishek Yenpure
ed65758a5e Adding MIR unit test with data (Venn from Ascent examples) 2022-01-13 18:26:19 -08:00
Kenneth Moreland
e8a6d37190 Merge topic 'allocate-and-fill'
d7b4390d1 Specify end position when filling values in Buffer
7a4cbaf10 Suggestions during review by Gunther Weber
8e4fb7ebd Suppress unhelpful nvcc warning
bacca0693 Add Fill method for non-standard Storage
9da66ff32 Prefer ArrayHandle::Fill over Algorithm::Fill
f79cf1d5f Add BitField::Fill and BitField::AllocateAndFill
926164049 Add Fill and AllocateAndFill to ArrayHandle
0cf996f41 Add ability to fill values in a Buffer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2660
2022-01-13 17:15:37 -05:00
Abhishek Yenpure
8fcfef6293 Adding fixes to binary search for material 2022-01-13 13:08:43 -08:00
Li-Ta Lo
36fbc019a6 prevent shadowing for older GCC 2022-01-13 13:30:35 -07:00
Li-Ta Lo
63b9b12755 MapperWireframer.cxx really should include Algorithm.h 2022-01-13 11:14:48 -07:00
Li-Ta Lo
fa0905e3e5 migrate clean_grid and extract_entity filters 2022-01-13 11:14:48 -07:00
Kenneth Moreland
bdb989df61 Merge topic 'more-efficient-merge-partitions'
10f21b21a Pre-allocate arrays for MergePartitionedDataSet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Roxana Bujack <bujack@lanl.gov>
Merge-request: !2664
2022-01-13 09:04:37 -05:00