Commit Graph

630 Commits

Author SHA1 Message Date
Li-Ta Lo
93a85d01db update example/clipping 2022-01-11 08:08:42 -07:00
Li-Ta Lo
3c700259a1 migrate Contour, ClipWithField and Slice 2022-01-10 20:39:43 -07:00
Li-Ta Lo
28fce9e259 add namespace 2022-01-06 16:15:54 -07:00
Li-Ta Lo
f5bbc6fc83 migrate clean_grid and extract_entity filters 2022-01-06 14:52:27 -07:00
Kenneth Moreland
4650a1da96 Deprecate old methods from DynamicCellSet
The `DynamicCellSet` (and the related `DynamicCellSetBase`) are
deprecated and replaced with `UnknownCellSet` (and `UncertainCellSet`).
Thus, `UnknownCellSet` has some methods inherited from `DynamicCellSet`
but replaced with other functionality. These methods are now marked as
deprecated and their use is removed.
2022-01-05 08:18:17 -07:00
Kenneth Moreland
0b84787f78 Deprecate DynamicCellSet and remove from code
The `DynamicCellSet` class is now marked as deprecated (as is the header
that contains it), and all non-deprecated code is moved to its
`UnknownCellSet` replacement.

Also added a deprecation warning for the VariantArrayHandle.h header
file and deleted a couple inappropriate uses of it.
2022-01-04 15:38:18 -07:00
Gunther H. Weber
2b6fd71c5b Make volume metric data filter output and print tree in app; general clean up 2021-10-20 14:46:24 -07:00
Gunther H. Weber
fd91947fb8 Added scripts to test volume computation 2021-10-20 14:46:24 -07:00
Gunther H. Weber
5ad51b5289 Clean up test script 2021-10-20 14:46:24 -07:00
Gunther H. Weber
17a8cf16a2 Added verification code to test results of contour tree app. 2021-10-20 14:46:24 -07:00
Oliver Ruebel
16ac89d897 Add --augmentHierarchicalTree option for the ContourTreeDistributed example 2021-10-20 14:46:22 -07:00
Gunther H. Weber
e2fe35e129 Started adding DIY code for HierarchicalAugmenter 2021-10-20 14:46:21 -07:00
Kenneth Moreland
03a4750a3f Change Oscillator output field name to oscillating 2021-10-05 08:20:27 -06:00
Kenneth Moreland
ea1a55359f Name tangle source fields appropriately
The `Tangle` source would create a point field generically named
`nodevar`. This name was not indicitive of the data or its source. Thus,
the output point field has been renamed `tangle`.

The `Tangle` source was also creating a cell field (named `cellvar`).
This field was really just a mirror of the cell indices (counting from 0
on up). This field has been removed from the input. If you want such a
field, you can now use the `GenerateIds` filter to add it to any data
set.
2021-10-04 13:44:27 -06:00
Nickolas Davis
9baa7cd9fa Implement tbb runtime device configuration and update vtkm to use it 2021-09-20 10:24:23 -06:00
Kenneth Moreland
32870353bc Remove use of deprecated items from StreamlineMPI example 2021-09-08 08:57:13 -06:00
Kenneth Moreland
264a8a4b6c Remove dependence of examples on testing files
The testing files (even the headers) are not available if
`VTKm_ENABLE_TESTING` is off.

Mostly, the testing was used to generate example data sets. Instead,
change the examples to load data files.
2021-09-08 08:54:15 -06:00
Nickolas Davis
5530d86e4a update cuda examples to use RuntimeDeviceConfiguration 2021-09-02 09:17:36 -06:00
Kenneth Moreland
69bacdfca8 Fix deprecation warning in histogram example
The examples do not get compiled as often as the test, so minor issues
sometimes creep in. The histogram example was still using some
deprecated methods.
2021-08-06 06:53:29 -06:00
Gunther H. Weber
1437a2e04f Use --vtkm-device instad of -d in test script 2021-06-28 15:44:43 -07:00
Gunther H. Weber
36a7f8e61a Fix NumPy deprecation warning in helper script 2021-06-28 15:44:42 -07:00
Gunther H. Weber
102e640f33 Remove obsolete debug output from distributed contour tree app 2021-06-28 11:42:45 -07:00
Nick Thompson
f1cf6c762a Refactor to more idiomatic use of worklets. 2021-04-09 14:56:19 -04:00
Nick Thompson
7b95ef5975 Refactor the structs to classes. 2021-04-09 14:54:12 -04:00
Nick Thompson
eac6c21c84 Workletize the logistic map. 2021-04-09 12:42:40 -04:00
Kenneth Moreland
a6725b3acd Remove use of deprecated ImplicitFunctions with virtual methods
Unfortunately, this introduces a backward-incompatible change with the
filters that use ImplicitFunctions. Before, they would get an
ImplicitFunctionHandle. This class is deprecated, and there is no easy
way to get back the actual type of implicit function stored in it.
2021-02-22 06:40:02 -07:00
Kenneth Moreland
047d79672a Fix CUDA compilation error with Lagrangian filter
CUDA architecture has a limited amount of memory available for
constants. The CUDA compiler uses this space to hold constants for some
optimizations. However, for large kernels, the number of constants
needed might be larger than the constant space available. For these
conditions, you have to disable this form of optimization with the `-
Xptxas --disable-optimizer-constants` flags.

Currently, the only file that seems to have this issue is the test for
the Lagrangian filter. Someone should take a closer look to see if this
filter in particular is making unnecessarily large worklet/kernel. (In
particular, why does the Lagrangian filter have a larger kernel than the
streamline and stream surface filters?)

If this occurance happens more often, we might need to add some ways to
configure it in the build.
2021-02-16 13:25:11 -07:00
Kenneth Moreland
1faed3712e Remove the use of ResetTypes for ArrayCopy
It used to be the case where you needed to call `ResetTypes` on a
`VariantArrayHandle` before using `ArrayCopy` to limit the types it gets
compiled for. However, there is now a general form for
`UnknownArrayHandle`, so `ResetTypes` no longer does anything useful in
this case. Remove the use of that.
2021-02-02 17:34:08 -07:00
Kenneth Moreland
26ea2ab420 Break circular dependency of ArrayCopy.h and UnknownArrayHandle.h
The circular dependency came from UnknownArrayHandle.h needing
VTKmDefaultTypes.h, which needed all the cell set types. Some of those
cell sets used ArrayCopy in templated functions. Changed those functions
to directly deep copy the ArrayHandle.
2021-02-02 17:33:08 -07:00
Gunther H. Weber
7ed0cd1562 Fix deprecation warning 2021-02-02 13:46:14 -08:00
Oliver Ruebel
c9af28756c Fix ValueType error in pre-split data read 2021-02-02 13:46:01 -08:00
Kenneth Moreland
8b133288ce Fix deprecation warnings
There was an error that caused deprecation warnings in VTK-m to be
suppressed, which meant that many uses of deprecated features went
unnoticed. This fixes those deprecation warnings.

The majority of the warnings were caused by the use of the deprecated
`Cast`, `CopyTo`, and `ResetTypes` methods of `UnknownArrayHandle` (or
`VariantArrayHandle`). Both `Cast` and `CopyTo` have been subsumed by
`AsArrayHandle` (to make the functionality more clear). `ResetTypes` now
requires a second template argument to define the storage types to try.

Also fixed some issues with `SerializableField` being deprecated.
This class is no longer necessary because `Field` can now be directly
serialized.
2021-01-26 07:56:39 -07:00
Nick Thompson
c6c4492469 Fix CUDA build for logistic map example. 2021-01-19 15:20:58 -05:00
Nick Thompson
18a6b12509 Merge topic 'logistic'
61522fde7 Add #includes and explicitly identify the field name.
1bad28a3e Logistic map as an example of how to use the ImageWriter.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nickolas Davis <nadavi@sandia.gov>
Merge-request: !2385
2021-01-19 14:42:42 -05:00
Nick Thompson
61522fde7b Add #includes and explicitly identify the field name. 2021-01-19 08:13:35 -05:00
Nick Thompson
1bad28a3ec Logistic map as an example of how to use the ImageWriter. 2021-01-16 15:13:33 -05:00
Kenneth Moreland
11a4c9867e Change Field to hold UnknownArrayHandle rather than VariantArrayHandle
The `VariantArrayHandle` will soon be deprecated for its replacement of
`UnknownArrayHandle`. Thus, `Field` and related classes should start
using the new `UnknownArrayHandle`.
2021-01-14 17:01:22 -07:00
Oliver Ruebel
6db948c685 Remove commented ifdef guard 2020-12-02 14:29:17 -08:00
Oliver Ruebel
c18f5bb5f7 Automatically enable --useFullBoundary option when using marching cubes 2020-12-02 14:29:17 -08:00
Oliver Ruebel
f536b825e4 Remove unused code in distributed contour tree app 2020-12-02 14:29:17 -08:00
Gunther H. Weber
a868b02bdb Add --saveTreeCompilerData option to hact_test.sh 2020-12-02 14:29:17 -08:00
Gunther H. Weber
226606276d Temprarily print error message when trying to use MC connectvitiy without full boundary 2020-12-02 14:29:17 -08:00
Oliver Ruebel
08447c24b1 Add support for using only necessary boundary vertices 2020-12-02 14:29:16 -08:00
Gunther H. Weber
4b14c84ec5 Fix 3D split data Python helper tool. 2020-12-02 14:29:16 -08:00
Oliver Ruebel
a75e539686 Add barriers in distributed contour tree example to improve timing 2020-12-02 14:29:16 -08:00
Oliver Ruebel
94f4fcb408 Added saveTreeCompilerData option for distributed contour tree app example 2020-12-02 14:29:15 -08:00
Oliver Ruebel
17f2f845e7 Minor fixed for performane logging 2020-12-02 14:29:15 -08:00
Oliver Ruebel
b4ac4cdef9 Made log levels and summary forwarding configurable in distributed contour tree example 2020-12-02 14:29:15 -08:00
Oliver Ruebel
d71259fdb7 Add contour tree, boundary tree, and interior forest array stat print 2020-12-02 14:29:15 -08:00
Gunther H. Weber
0ac6707269 Fix reading BOV files and depracation warning. 2020-12-02 14:29:14 -08:00
Gunther H. Weber
8b00e8ec48 Add command line option to select pre split files at runtime. 2020-12-02 14:29:14 -08:00
Oliver Ruebel
4f8c28a82a Make dot print configurable 2020-12-02 14:29:13 -08:00
Gunther H. Weber
c247c7d0e3 Save block extents and block index to files and read them instead of approximating them 2020-12-02 14:29:13 -08:00
Gunther H. Weber
391dba57e2 Add VTK-m copyright statement to tree compiler 2020-12-02 14:29:12 -08:00
Gunther H. Weber
8b21a8e07d Add test scripts to run tests via example application. 2020-12-02 14:29:12 -08:00
Gunther H. Weber
7a77b1ad89 Added serial (via DIY) unit test for distributed contour tree filter. 2020-12-02 14:29:12 -08:00
Gunther H. Weber
e007405fee Read blocks per dim from file instead of trying to figure it out via approximation 2020-12-02 14:29:12 -08:00
Gunther H. Weber
7661b17e5b Return fields required by TreeCompiler as vtk-m data set from filter. 2020-12-02 14:29:12 -08:00
Gunther H. Weber
f433790a17 Ported distributed contour tree prototype to vtk-m 2020-12-02 14:29:11 -08:00
Gunther H. Weber
1074c0172b Commented out incomplete code creating a warning 2020-09-18 06:33:09 -07:00
Gunther H. Weber
af697e4527 Use std::swap instead of manual swap 2020-09-15 13:46:11 -07:00
Gunther H. Weber
991f7a85ad Refactor mesh classes: switch from row/col/slice to vtkm::Id2/Id3 2020-09-15 11:15:27 -07:00
Dave Pugmire
596ec20e90 Change particle type in examples 2020-08-26 09:36:09 -04:00
Kitware Robot
cf0cdcf7d1 clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
dpugmire
c806403e2a distributed memory support for streamline and particleadvect filters. 2020-08-13 09:53:57 -04:00
Petar Hristov
ad497e2619 Merged with master. 2020-07-27 16:27:14 +01:00
Petar Hristov
ce653c78f1 Fixed contour tree example app. 2020-07-24 14:17:36 +01:00
Kenneth Moreland
d1a4aecc59 Improvements to moving data into ArrayHandle
We have made several improvements to adding data into an `ArrayHandle`.

## Moving data from an `std::vector`

For numerous reasons, it is convenient to define data in a `std::vector`
and then wrap that into an `ArrayHandle`. It is often the case that an
`std::vector` is filled and then becomes unused once it is converted to an
`ArrayHandle`. In this case, what we really want is to pass the data off to
the `ArrayHandle` so that the `ArrayHandle` is now managing the data and
not the `std::vector`.

C++11 has a mechanism to do this: move semantics. You can now pass
variables to functions as an "rvalue" (right-hand value). When something is
passed as an rvalue, it can pull state out of that variable and move it
somewhere else. `std::vector` implements this movement so that an rvalue
can be moved to another `std::vector` without actually copying the data.
`make_ArrayHandle` now also takes advantage of this feature to move rvalue
`std::vector`s.

There is a special form of `make_ArrayHandle` named `make_ArrayHandleMove`
that takes an rvalue. There is also a special overload of
`make_ArrayHandle` itself that handles an rvalue `vector`. (However, using
the explicit move version is better if you want to make sure the data is
actually moved.)

## Make `ArrayHandle` from initalizer list

A common use case for using `std::vector` (particularly in our unit tests)
is to quickly add an initalizer list into an `ArrayHandle`. Now you can
by simply passing an initializer list to `make_ArrayHandle`.

## Deprecated `make_ArrayHandle` with default shallow copy

For historical reasons, passing an `std::vector` or a pointer to
`make_ArrayHandle` does a shallow copy (i.e. `CopyFlag` defaults to `Off`).
Although more efficient, this mode is inherintly unsafe, and making it the
default is asking for trouble.

To combat this, calling `make_ArrayHandle` without a copy flag is
deprecated. In this way, if you wish to do the faster but more unsafe
creation of an `ArrayHandle` you should explicitly express that.

This requried quite a few changes through the VTK-m source (particularly in
the tests).

## Similar changes to `Field`

`vtkm::cont::Field` has a `make_Field` helper function that is similar to
`make_ArrayHandle`. It also features the ability to create fields from
`std::vector`s and C arrays. It also likewise had the same unsafe behavior
by default of not copying from the source of the arrays.

That behavior has similarly been depreciated. You now have to specify a
copy flag.

The ability to construct a `Field` from an initializer list of values has
also been added.
2020-07-23 10:53:38 -06:00
Li-Ta Lo
537557ef91 Merge topic 'worket_invoker_dispatcher2'
0dcc6cc16 reverse #include on CellNeighborhood
2489da125 restore comment, add needed #include
f33318247 Reverse Invoker, Dispatcher and Worklet dependency

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2192
2020-07-22 14:20:35 -04:00
Li-Ta Lo
2489da1259 restore comment, add needed #include 2020-07-21 18:21:44 -06:00
Li-Ta Lo
f333182476 Reverse Invoker, Dispatcher and Worklet dependency 2020-07-21 17:25:43 -06:00
dpugmire
246be1b7f0 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into generalizeField 2020-07-21 15:03:08 -04:00
Li-Ta Lo
567b1fedd2 Merge topic 'cell_neighbor'
9cd70a7dc Install WorkletNeighborhood.h
f66c782b1 Extract WorkletNeighborhood base class
760c51ed6 install ThreadIndicesNeighborhood.h
e52b8fa88 Add CellNeighborhood

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2181
2020-07-21 13:45:40 -04:00
dpugmire
2e3fe059b6 replace vtkm::Particle with vtkm::Massless 2020-07-21 11:19:47 -04:00
dpugmire
5fc822082e replace vtkm::Particle with vtkm::Massless 2020-07-21 11:14:31 -04:00
Li-Ta Lo
f66c782b14 Extract WorkletNeighborhood base class 2020-07-20 17:50:14 -06:00
Li-Ta Lo
e52b8fa88a Add CellNeighborhood 2020-07-15 14:41:32 -06:00
Kenneth Moreland
f6b13df513 Support coordinates of both float32 and float64
Previously there were issues if the coordinate system was using floating
point values that were not FloatDefault. This remedies that issue.
2020-07-14 08:53:01 -06:00
Sujin Philip
8c3c138bb9 Enable the Game of Life example back
It was commented out by accident in a previous commit.
2020-07-06 12:25:42 -05:00
Robert Maynard
7c66b1dd62 Update contour_tree_distributed to work with the new diy API 2020-07-01 08:28:10 -04:00
Kenneth Moreland
56bec1dd7b Replace basic ArrayHandle implementation to use Buffers
This encapsulates a lot of the required memory management into the
Buffer object and related code.

Many now unneeded classes were deleted.
2020-06-25 14:02:26 -06:00
Nick Thompson
ca0cd5f380 Merge conflict resolution. 2020-06-13 14:21:25 -04:00
Oliver Ruebel
66c96a983f Add BRACT for distributed contour tree computation
This merge request is Phase 1 of several to implement the distributed parallel
contour tree in VTKm. This merge requests adds the base outline for the
algorithm. The implementation of the details of the algorithm in the
BoundaryRestrictedAugmentedContourTree.h is currently still missing.
However, these will require a substantial (~3000) lines of additional code.
The goal is to stage the integration process across merge requests to make
the review process simpler.
2020-06-12 11:50:01 -06:00
NAThompson
8bba068c5e Revert maximum CMake version diff. 2020-06-11 15:24:35 -04:00
NAThompson
1c7b41aa5f Update demo to exhibit more VTK-m capabilities. 2020-06-11 14:46:29 -04:00
Sujin Philip
b7d0c94f1b Merge topic 'diy-mpi-nompi'
934f085e0 Build diy as a library
f0a37ac6a Merge branch 'upstream-diy' into diy-mpi-nompi
7687aabf8 diy 2020-06-05 (b62915aa)
6ca2b9f87 Point to new version of Diy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2123
2020-06-08 21:25:54 -04:00
Sujin Philip
934f085e09 Build diy as a library
Support both mpi and nompi versions simultaneously.
2020-06-08 15:57:51 -05:00
NAThompson
db8f3c9fc9 Remove Initialize() boilerplate. 2020-06-05 13:38:18 -04:00
NAThompson
3265460e66 Fix C++17 build. 2020-06-03 14:14:32 -04:00
Oliver Ruebel
3273f1c484 Update to AddPointField of dataset 2020-05-28 09:33:42 -07:00
Oliver Ruebel
eef30c2325 Merge branch 'master' into add/hyperstructstats 2020-05-28 09:32:30 -07:00
Oliver Ruebel
1014dbf046 Fix BOV reader support in ContourTreeApp 2020-05-28 06:40:31 -07:00
Oliver Ruebel
e908826c13 Temporary disabled BOV reader in ContourTreeApp pending #517 2020-05-28 01:33:10 -07:00
Oliver Ruebel
8a27ff5109 Merge branch 'master' into add/hyperstructstats 2020-05-28 00:38:29 -07:00
Oliver Ruebel
43e470de72 Fix g++ conversion warning in ContourTreeApp 2020-05-28 00:30:21 -07:00
NAThompson
8fe17e0a65 Remove DataSetFieldAdd from examples as well. 2020-05-27 16:26:11 -04:00
Kenneth Moreland
3c4e8a2ea5 Convert filters to use precompiled field map functions where applicable 2020-05-21 08:34:32 -06:00
Kenneth Moreland
d4ff67a226 Merge topic 'deprecate-execute-with-policy'
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
2020-05-20 18:28:37 -04:00
Kenneth Moreland
544a078cdb Remove use of deprecated policies in examples
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.
2020-05-20 12:58:24 -06:00
Kenneth Moreland
8657a9b3c8 Update VTKDataSetWriter to compile into vtkm_io 2020-05-19 14:32:48 -06:00