Commit Graph

558 Commits

Author SHA1 Message Date
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
Kenneth Moreland
0612be9c5b Move VTKDataSetReaderBase code to vtkm_io
Most of this code is not templated methods. Rather, it implements over
several types to call templated functions, which creates quite a bit of
code. Rather than have all code using a reader recompile the code, just
compile it once and put it in a library.
2020-05-19 12:27:01 -06:00
dpugmire
72f1846bf1 missed a comment change. 2020-05-19 09:41:31 -04:00
dpugmire
bda8a1580b change comments as well. 2020-05-18 16:44:12 -04:00
dpugmire
2858186ddd Print statement was wrong for openMP 2020-05-18 16:42:37 -04:00
Kenneth Moreland
72cd0107ee Deprecate Execute with policy
The version of `Filter::Execute` that takes a policy as an argument is now
deprecated. Filters are now able to specify their own fields and types,
which is often why you want to customize the policy for an execution. The
other reason is that you are compiling VTK-m into some other source that
uses a particular types of storage. However, there is now a mechanism in
the CMake configuration to allow you to provide a header that customizes
the "default" types used in filters. This is a much more convenient way to
compile filters for specific types.

One thing that filters were not able to do was to customize what cell sets
they allowed using. This allows filters to self-select what types of cell
sets they support (beyond simply just structured or unstructured). To
support this, the lists `SupportedCellSets`, `SupportedStructuredCellSets`,
and `SupportedUnstructuredCellSets` have been added to `Filter`. When you
apply a policy to a cell set, you now have to also provide the filter.
2020-05-18 12:38:41 -06:00
Kenneth Moreland
f9d9b536d4 Fix conversion warnings in benchmarks and examples
These are caused when using 32-bit Id's. Although there are some
benchmarks that test for this, some code in benchmarking and examples is
not covered by them.
2020-05-14 17:16:19 -06:00
Robert Maynard
e17726ad0b Correct implicit signed conversion warnings 2020-05-12 09:38:18 -04:00
Kenneth Moreland
1a461594c2 Do not allow preprocessor directives inside of macro calls
This actually results in undefined behavior in C/C++. Get around the
problem in this instance by building a string first and then calling the
macro.
2020-05-07 14:01:14 -06:00
NAThompson
34585fdff5 Fix TemporalAdvection example by removing call to .Set on a ReadPortal(). 2020-05-05 10:23:16 -04:00
NAThompson
697369fc14 Remove deprecation warnings throughout the project. 2020-04-30 08:12:04 -04:00
Nick
1d4ebaec9f Image was upside down; flip it over, demo usage. 2020-04-17 07:56:03 -04:00
Sujin Philip
c102ea556c Update cmake minimum required version to 3.12 2020-04-13 12:42:28 -05:00
Robert Maynard
917919569c contour_tree_augmented example compiles when TBB is enabled
Fixes #486
2020-04-02 11:22:09 -04:00
oruebel
a9a4736c34 Add BOV reader support and fix TBB settings in contour tree app 2020-03-22 20:38:15 -07:00
oruebel
38da8dc435 Fix TBB check bug in ContourTreeApp 2020-03-20 16:04:39 -07:00
Oliver Ruebel
f2e655baef Add routine for outputing statistics about the hyper structure 2020-03-20 14:00:38 -07:00
Kenneth Moreland
ec34cb56c4 Use new ways to get array portal in control environment
Also fix deadlocks that occur when portals are not destroyed
in time.
2020-02-26 13:10:46 -07:00
Kenneth Moreland
47249ee3c0 Merge branch 'master' into oruebel/vtk-m-cleanup/contourtreeaugmented 2020-02-24 20:53:47 -07:00
Kenneth Moreland
ef7b899208 Fix type conversion warning in ContourTreeApp example 2020-02-13 08:26:59 -07:00
Oliver Ruebel
70f0b96bd8 Update names in ContourTree.h to comply with VTKm style 2020-01-23 11:32:33 -08:00
Oliver Ruebel
7ced203f6a Update names in MergeTree (and matching names in other classes) to comply with VTKm style 2020-01-23 10:46:56 -08:00
Oliver Ruebel
1fa1410324 Updated names in MeshExtrema to match VTKm style 2020-01-23 00:03:36 -08:00
Oliver Ruebel
3ba516d70e Updated print functionname to VTKm style and remove unused functions 2020-01-22 23:30:44 -08:00
Oliver Ruebel
bdabb282b3 Fix naming of functions/variable in vtkm/worklet/contourtree_augmented/processcontourtree 2020-01-22 14:54:52 -08:00
Oliver Ruebel
5db7eb6969 Replace use of PPP2 acronym in names to comply with coding style 2020-01-22 01:40:49 -08:00
Oliver Ruebel
30ba214f21 Remove use of DEGUG_TIMING var in ContourTreeApp 2020-01-22 01:22:54 -08:00
Oliver Ruebel
43aae4870b Replace tracking of timings in ContourTree with logging 2020-01-22 01:11:45 -08:00
Oliver Ruebel
7ed921d247 Use logging instead of cout in ContourTreeApp 2020-01-21 19:38:29 -08:00
Oliver Ruebel
66ed92e4d2 Use vtkm::cont::Initialize to init logging,device,help 2020-01-21 17:31:44 -08:00
dpugmire
c5f9b9b20f Fix to examples to use vtkm::Particle 2019-12-19 09:56:05 -05:00
Sujin Philip
bdbf24d132 Merge topic 'peter-changes'
bf2290c9e Fixed an implicit conversion change warning.
18caed60e Fixed some of the compiler warning from CDash.
d7d7cdd5b Merges with upstream reformated version.
d6cbd8301 Merge with unformated previous state of the remote branch.
9a6dec8bc Refactored control side function call from a VTKM_EXEC function.
ca5f79056 Swapped x and y dimensions when reading in contour trees from text files.
da83076d7 Merge branch 'master' into peter-changes
01c49f139 Wrote some documentation for the CT Height Branch Decomposition code.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1899
2019-12-16 13:52:57 -05:00
Kenneth Moreland
2fbcc78a60 Merge topic 'simple-list-template'
4659d69c7 Remove some commented out code
aec75ab1a Suppress CUDA warning about device calling host
851864d0b Work around with Visual Studio 2015 issue
452a2e1c9 Suppress warnings about CUDA host/device mismatch
4fdefe9f1 Suppress some deprecated warnings in visual studio
5cfc14482 Implement old ListTag features with new ListTag implementations
d5fe4046c Remove instances of ListTag in favor of List
92db37623 Convert uses of ListTagBase to List
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1918
2019-12-11 09:43:22 -05:00
Kenneth Moreland
92db376236 Convert uses of ListTagBase to List 2019-12-06 15:37:46 -07:00
Kenneth Moreland
cd302effb3 Update lists in TypeListTag.h
A new header named TypeList.h and the type lists have been redefined in
this new file. All the types have been renamed from `TypeListTag*` to
`TypeList*`. TypeListTag.h has been gutted to provide deprecated
versions of the old type list names.

There were also some other type lists that were changed from using the
old `ListTagBase` to the new `List`.
2019-12-05 11:05:19 -07:00
Robert Maynard
81fca4dae7 Correct warnings on OSX caused by differing symbol visibility settings 2019-12-03 13:24:04 -05:00
peter
ca5f79056c Swapped x and y dimensions when reading in contour trees from text files. 2019-11-20 13:17:46 +00:00
Robert Maynard
1de5774d57 Merge topic 'just_infer_execution_signature'
cf2d62fb9 Remove unneeded ExecutionSignatures
c3f0060cc ExecutionSignatures are now optional for simple worklets
1b08521fa Merge branch 'upstream-taotuple'
c6d309566 taotuple 2019-10-08 (0d1e4dfd)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1882
2019-10-09 15:44:36 -04:00
Robert Maynard
cf2d62fb90 Remove unneeded ExecutionSignatures 2019-10-09 14:56:07 -04:00
Dave Pugmire
e2ae2d74af Print optional agruments in usage information. 2019-10-08 10:22:29 -04:00
Dave Pugmire
05a37b88b4 Add device options to particle advection example. 2019-10-07 16:49:13 -04:00
nadavi
a2641282d2 update MeshQuality examples 2019-10-02 09:49:46 -06:00
Robert Maynard
4faf1bf0b8 Merge topic 'build_filter_lib'
8520d70e0 Compile most frequently used VTK-m filters into a library
d1d61b9eb vtkm::filter::Filter passes filter policies by value
4ff021b08 Improve VTK-m compilation times by compiling more keys<T> types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1836
2019-09-18 15:01:39 -04:00
Robert Maynard
7533f90d9b Merge topic 'improve_vtkm_sources'
3ef234ef1 Move Oscillator to the sources directory
5c69f1bae Update Wavelet to use WorkletVisitPointsWithCells
62357dea0 Tangle source has better runtime performance
eb3d86654 Add a test explicitly for vtkm::source::Tangle
63f243809 Add vtkm::source::Wavelet as a new source
257dc1f84 Sources have a more consistent API and internal style.
2d455bbef Document what the Tangle source will generate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1850
2019-09-18 14:05:11 -04:00
Robert Maynard
8520d70e0d Compile most frequently used VTK-m filters into a library
VTK-m now provides the following filters with the default policy
as part of the vtkm_filter library:
  - CellAverage
  - CleanGrid
  - ClipWithField
  - ClipWithImplicitFunction
  - Contour
  - ExternalFaces
  - ExtractStructured
  - PointAverage
  - Threshold
  - VectorMagnitude

By building these as a library we hope to provide faster compile
times for consumers of VTK-m when using common configurations.
2019-09-18 12:06:13 -04:00
Dan Lipsa
542cca20db Rename MultiBlock to PartitionedDataSet in comment. 2019-09-17 13:19:04 -04:00
Dan Lipsa
c05efcac83 Fix MultiBlock rename for ContourTree example. 2019-09-17 11:42:19 -04:00
Robert Maynard
3ef234ef13 Move Oscillator to the sources directory 2019-09-16 12:36:01 -04:00
nadavi
6455231882 fix some examples 2019-09-13 08:52:02 -06:00
Oliver Ruebel
1d9f6b37cf Add support for boundary augmentation for MPI optimization 2019-09-12 12:26:01 -04:00
Sujin Philip
2a1e1dcfd9 Parallel Contour Tree
This work updates Gunther Contour tree work to be parallel.
With contributions from: @oruebel, @dcamp and @sujin.philip.
2019-09-12 12:17:37 -04:00
Robert Maynard
1bfcce19dd VTK-m builds with separate function sections to allow smaller binaries
Consumers of VTK-m when enabling of dropping of unused functions
will see VTK-m functions dropped. Previously this didn't happen
as VTK-m didn't build object files with the correct flags for this.

By allowing the linker to remove unused symbols we see a significant
saving the file size of VTK-m tests, examples, and benchmarks.
An OpenMP build of the tests and benchmarks goes from 168MB to
141MB which is roughly a 16% filesize reduction.

Initially I had presumed that these changes would increase link times.
But in measurements the total wall time for compilation of VTK-m has
stayed about the same ( seeing a decrease of 1.5% ). Presumably the
increased computation is offset by the reduction in file writing.
2019-09-11 13:34:25 -04:00
Robert Maynard
e37c2061cf vtkm_add_target_information now supports multiple targets
Instead of having to be called for each target you can now
pass multiple targets at once. Do note that if you pass multiple
targets you will need to pass all the sources from those targets
that need to be 'device' compiled.
2019-09-11 09:17:52 -04:00
Kenneth Moreland
b95b7d6109 Merge topic 'get-cast-array-from-field'
630768600 Suppress CUDA warnings
5fa02057a Rely less on overload resolution for ApplyPolicy
26d7bfd0d Force ArrayPolicy of a specific type to the right template
6c136b978 Remove vtkm::BaseComponent
07c59fcf7 Update filters with secondary fields to use new policy method
3039a18ba Add ability to get an array from a Field for a particular type
2b6e6da6c Add ability to get VariantArrayHandle as an ArrayHandleMultiplexer
6323d6803 Add recursive component queries to VecTraits

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1829
2019-09-10 12:05:13 -04:00
Robert Maynard
d57a560997 Merge topic 'correct_warnings_found_by_clang8'
ce67b4f15 Correct signed/unsigned warnings found by clang 8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1833
2019-09-10 11:17:21 -04:00
Robert Maynard
ce67b4f157 Correct signed/unsigned warnings found by clang 8 2019-09-10 10:49:48 -04:00
Abhishek Yenpure
9e38f02546 Merge topic 'fix_temporal_example'
9b78276ca Updating usage statement for temporal advection example
8e27562ce Adding information about sample datasets in example
fd23bb3c7 Update attributes to include all files in data to lfs
01d735e1a Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into fix_temporal_example
d9b038fdd Updating method name in unit test
b7191e257 Fixing temporal advection example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1814
2019-09-09 18:52:18 -04:00
Kenneth Moreland
5fa02057ae Rely less on overload resolution for ApplyPolicy
Previously, all the ApplyPolicy functions had the same name and used
template resolution to figure out which one to use. This was pretty
clear at first when there was just one for fields and one for cell sets.
But then it grew to several different types, particularly for fields. It
was hard to look at the code and figure out which form of ApplyPolicy
was being used, and compilers were starting to get confused.

Resolve the problem by giving all the methods unique names to make it
clear which one you expect to be called.
2019-09-09 16:08:11 -06:00
Abhishek Yenpure
9b78276ca8 Updating usage statement for temporal advection example
Update usage message and comments for example data
Add parameter for velocity field
Fix warnings
2019-09-09 15:59:40 -06:00
Abhishek Yenpure
8e27562cea Adding information about sample datasets in example 2019-09-04 10:09:36 -06:00
Allison Vacanti
e8afcfd7d8 Merge topic '405_partitioned_ds'
63050f68f `MultiBlock` renamed to `PartitionedDataSet`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Utkarsh Ayachit <utkarsh.ayachit@kitware.com>
Merge-request: !1821
2019-09-04 07:22:07 -04:00
Abhishek Dilip Yenpure (-EXP)
01d735e1aa Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into fix_temporal_example 2019-09-03 11:53:00 -06:00
Allison Vacanti
63050f68fc MultiBlock renamed to PartitionedDataSet
The `MultiBlock` class has been renamed to `PartitionedDataSet`, and its API
has been refactored to refer to "partitions", rather than "blocks".
Additionally, the `AddBlocks` method has been changed to `AppendPartitions` to
more accurately reflect the operation performed. The associated
`AssignerMultiBlock` class has also been renamed to
`AssignerPartitionedDataSet`.

This change is motivated towards unifying VTK-m's data model with VTK. VTK has
started to move away from `vtkMultiBlockDataSet`, which is a hierarchical tree
of nested datasets, to `vtkPartitionedDataSet`, which is always a flat vector
of datasets used to assist geometry distribution in multi-process environments.
This simplifies traversal during processing and clarifies the intent of the
container: The component datasets are partitions for distribution, not
organizational groupings (e.g. materials).

Ref #405
2019-09-03 12:42:23 -04:00
Robert Maynard
5cd47a7065 DataSetBuilders don't require a cellset name 2019-09-02 09:05:56 -04:00
Robert Maynard
89fa2c0293 Remove multiple vtkm::cont::CellSet from vtkm::cont::DataSet
By removing the ability to have multiple CellSets in a DataSet
we can simplify the following things:

  - Cell Fields now don't require a CellSet name when being constructed
  - Filters don't need to manage what the active cellset is
2019-09-02 09:04:51 -04:00
Dave Pugmire
e34639818c Add example data file. 2019-08-28 11:14:30 -04:00
Dave Pugmire
cbc6e2e7c6 don't need know the pos in string::find. 2019-08-28 07:54:10 -04:00
Dave Pugmire
c56e53b6c4 Simplify particle advection example 2019-08-28 07:48:20 -04:00
Abhishek Dilip Yenpure (-EXP)
b7191e257e Fixing temporal advection example
Also, Updated filter to change previous to current
Fix for issue https://gitlab.kitware.com/vtk/vtk-m/issues/399
2019-08-27 11:25:24 -06:00
Robert Maynard
c454714079 Examples now compile when CUDA is enabled.
We some case sensitive issues, and some missing markup for
what files need to be compiled with CUDA
2019-08-23 11:11:39 -04:00
Robert Maynard
8c4730da22 Merge topic 'opt_into_all_cmake_315_policies'
267f963d3 Opt into all CMake 3.15 policies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1786
2019-08-21 08:18:19 -04:00
Robert Maynard
267f963d32 Opt into all CMake 3.15 policies 2019-08-20 15:38:27 -04:00
Li-Ta Lo
e66af369ba removed isosurface example, add clipped tangle to Contour unit test 2019-08-19 13:36:28 -06:00