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.
de3bda373 Use deque instead of list for ArrayHandle queue
498d44548 Pass Token::Reference by value
c32c9e8e8 Fix deadlock when changing device during read
99e14ab8a Add proper enqueuing of Tokens for ArrayHandle
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2130
16e04db15 FlyingEdges: Handle when pass 1 generates no intersections
8ebea33c7 FlyingEdges: Handle when a dimensions size is <= 3
60eff58bd Correct warning in TransferToOpenGL found by the examples
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2125
c0dee7402 make it explicit that we are using 64-bit unsigned integer in bit op
34f350588 Added changelog
e9f584a91 ArrayHandleRandomUniformReal
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2116
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
Because ArrayHandle currently only supports one device at a time, it is
possible that a `PrepareForInput` might actually need to wait for write
access so that it could move the data between devices. However, we don't
want the `Token` to be attached for writing because that could block
other read operations.
To get around this, add a hack to WaitToWrite to allow it to attach for
reading instead of writing.
An issue that was identified for the thread safety of `ArrayHandle` is
that if several threads are waiting to use an `ArrayHandle`, there might
be an expectation of the order in which the operations happen. For
example, if one thread is modifying the contents of an `ArrayHandle` and
another is reading those results, we would need the first one to start
before the second one.
To solve this, a queue is added to `ArrayHandle` such that when waiting
to read or write an `ArrayHandle` the `Token` has to be at the top of
the queue in addition to other requirements being met.
Additionally, an `Enqueue` method is added to add a `Token` to the queue
without blocking. This allows a control thread to queue the access and
then spawn a thread where the actual work will be done. As long as
everything is enqueued on the main thread, the operations will happen in
the expected order.
ce3a64b41 fix comparison
ab6bb14d3 Merge branch 'respect_max_distance' of gitlab.kitware.com:mclarsen/vtk-m into respect_max_distance
a6ed41027 use bounds based epsilon for tiny meshes
59775c4eb respect ray max distance
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sudhanshu Sane <ssane@cs.uoregon.edu>
Merge-request: !2129
Initially, the probe filter would simply not set a value if a sample was
outside the input `DataSet`. This is not great as the memory could be
left uninitalized and lead to unpredictable results. The testing
compared these invalid results to 0, which seemed to work but is
probably unstable.
This was partially fixed by a previous change that consolidated to
mapping of cell data with a general routine that permuted data. However,
the fix did not extend to point data in the input, and it was not
possible to specify a particular invalid value.
This change specifically updates the probe filter so that invalid values
are set to a user-specified value.
The `Tuple.h` file was updated with some comments that were not updated
in `Tuple.h.in`. This caused the pyexpander script to fail with
mismatched files.
930c3d2fb reproduce_ci_env better detects which stage a job is for
71d9d4311 Doxygen is now generated by gitlab and done on each master merge
a652f7fe1 Update vtk-m doxygen to generate less warnings
97a2408fc Correct warnings for using TBB 2020 deprecated functions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2117
This fixes a bug introduced in commit
93d87e06fd7a0ef479a324e5cd2453c1c7ece0ee
Part of the commit moved fromusing a `BoundaryState` object to keeping
boundary flags in a `vtkm::Vec<bool,3>`. However, the meaning of the
flag got inverted. The `BoundaryState::IsRadiusIn?Boundary` methods
returned true if the current location was inside the bounds (i.e. _not_
on the boundary), but the new flags are true if the current location is
on the boundary (the inverse).
The updating of the code for the `StructuredPointGradient::Jacobian`
method got the flag somewhat wrong and scaled the wrong case.
e9fd545b0 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into euler_integrator_fix
23126bbec Integrator status fix for consistant behavior
3e18f105e Fixing Integrator Status Behavior
ff112e424 Integrator status behavior check
343f2d577 Merge branch 'master' of gitlab.kitware.com:vtk/vtk-m into euler_integrator_fix
82cfba27c Rectify testing code
8ddecbb43 Fixing test issues
6274b1657 Updating Euler Integrator to work
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2023
Selecting the pixel type just means that lodepng casts it to that type
for it then to be cast to the type VTK-m uses. Since VTK-m always uses
the same type, there is little value for changing the intermediate cast.
Updated the image writer classes to better follow VTK-m naming
convention (i.e. use `ImageWriterPNG` instead of `PNGWriter`). The
structure of the image writer class now also better matches the
interface for the VTK writer.
Also put the implementation of the image writers into the `vtkm_io`
library so that it only has to be compiled once.
Updated the image reader classes to better follow VTK-m naming
convention (i.e. use `ImageReaderPNG` instead of `PNGReader`).
The structure of the image reader class now also better matches
the interface for the VTK reader.
Also put the implementation of the image readers into the `vtkm_io`
library so that it only has to be compiled once.
3273f1c48 Update to AddPointField of dataset
eef30c232 Merge branch 'master' into add/hyperstructstats
1014dbf04 Fix BOV reader support in ContourTreeApp
e908826c1 Temporary disabled BOV reader in ContourTreeApp pending #517
8a27ff510 Merge branch 'master' into add/hyperstructstats
43e470de7 Fix g++ conversion warning in ContourTreeApp
a9a4736c3 Add BOV reader support and fix TBB settings in contour tree app
38da8dc43 Fix TBB check bug in ContourTreeApp
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2002