Commit Graph

53 Commits

Author SHA1 Message Date
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
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
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
Kitware Robot
cf0cdcf7d1 clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
Petar Hristov
ce653c78f1 Fixed contour tree example app. 2020-07-24 14:17:36 +01: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
Sujin Philip
934f085e09 Build diy as a library
Support both mpi and nompi versions simultaneously.
2020-06-08 15:57:51 -05:00
Oliver Ruebel
3273f1c484 Update to AddPointField of dataset 2020-05-28 09:33:42 -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
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
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
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
peter
ca5f79056c Swapped x and y dimensions when reading in contour trees from text files. 2019-11-20 13:17:46 +00:00
nadavi
a2641282d2 update MeshQuality examples 2019-10-02 09:49:46 -06: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
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
28484fc6aa Update examples and benchmarks to use new VTK-m CMake helper function 2019-07-09 13:32:23 -04:00
nadavi
fbcea82e78 conslidate the license statement 2019-04-17 10:57:13 -06:00
Robert Maynard
ff30684c8e Removes the default device macros from VTK-m
Fixes #116
2019-04-15 08:15:36 -04:00
Haocheng LIU
6e6968d97f Fix diy include and Timer construction errors in examples 2019-02-06 15:28:09 -05:00
Haocheng LIU
415252c662 Introduce asynchronous and device independent timer
The timer class now is asynchronous and device independent. it's using an
similiar API as vtkOpenGLRenderTimer with Start(), Stop(), Reset(), Ready(),
and GetElapsedTime() function. For convenience and backward compability, Each
Start() function call will call Reset() internally and each GetElapsedTime()
function call will call Stop() function if it hasn't been called yet for keeping
backward compatibility purpose.

Bascially it can be used in two modes:

* Create a Timer without any device info. vtkm::cont::Timer time;

  * It would enable timers for all enabled devices on the machine. Users can get a
specific elapsed time by passing a device id into the GetElapsedtime function.
If no device is provided, it would pick the maximum of all timer results - the
logic behind this decision is that if cuda is disabled, openmp, serial and tbb
roughly give the same results; if cuda is enabled it's safe to return the
maximum elapsed time since users are more interested in the device execution
time rather than the kernal launch time. The Ready function can be handy here
to query the status of the timer.

* Create a Timer with a device id. vtkm::cont::Timer time((vtkm::cont::DeviceAdapterTagCuda()));

  * It works as the old timer that times for a specific device id.
2019-02-05 12:01:56 -05:00
Kenneth Moreland
887f79c6f4 Make a vtkm_worklet library
This is a library that contains parts of worklets that can be
precompiled into a library.

Currently, this library contains the implementation of ScatterCounting.
2019-01-23 17:09:15 -07:00
Kenneth Moreland
bddad9b386 Remove TryExecute from filters
Now that the dispatcher does its own TryExecute, filters do not need to
do that. This change requires all worklets called by filters to be able
to execute without knowing the device a priori.
2018-10-16 15:59:53 -06:00
Robert Maynard
9d5efbd95d Merge topic 'misc-typos'
d5beb69ec Misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1426
2018-10-08 08:37:19 -04:00