Commit Graph

1812 Commits

Author SHA1 Message Date
Abhishek Yenpure
82cfba27cf Rectify testing code 2020-04-01 21:26:26 -07:00
Abhishek Yenpure
8ddecbb431 Fixing test issues 2020-04-01 17:29:33 -07:00
Abhishek Yenpure
6274b16570 Updating Euler Integrator to work 2020-04-01 17:11:15 -07:00
Robert Maynard
e1ccaced3e Merge topic 'add_flying_edges'
91c56d680 Update Contour tests to be aware of flying edge output
1b256281f Convert contour worklet to expect isovalues to a std::vector
c2bab6c6b Introduce FlyingEdges for 3d structured datasets
1995e5204 Correct minor issues from refactoring MarchingCells worklets
d3512879d Remove unneeded template parameters from Gradient.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2005
2020-03-25 16:53:21 -04:00
Vicente Bolea
f05f2edd33 Merge topic 'fix-cuda-runtime-errors'
873f6bab0 check more types in UnitTestScatterAndMaskWithTopology

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2006
2020-03-25 12:04:11 -04:00
Kenneth Moreland
287a6f8b9b Merge topic 'fix-inappropriate-virtual-method'
c0b780543 Fix an inappropriate use of virtual methods in an execution test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2011
2020-03-25 11:28:40 -04:00
Kenneth Moreland
545e60fbe3 Merge topic 'no-streaming-arrayhandle'
4f9fa08fa Remove ArrayHandleStreaming capabilities

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2008
2020-03-25 11:26:26 -04:00
Robert Maynard
91c56d680c Update Contour tests to be aware of flying edge output 2020-03-25 08:23:10 -04:00
Robert Maynard
1b256281f4 Convert contour worklet to expect isovalues to a std::vector
This reduces an ugly component of the Contour API
2020-03-25 08:23:10 -04:00
Robert Maynard
c2bab6c6bb Introduce FlyingEdges for 3d structured datasets 2020-03-25 08:23:10 -04:00
Vicente Adolfo Bolea Sanchez
873f6bab0c check more types in UnitTestScatterAndMaskWithTopology
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-03-24 20:20:46 -04:00
Kenneth Moreland
4f9fa08fa1 Remove ArrayHandleStreaming capabilities
The `ArrayHandleStreaming` class stems from an old research project
experimenting with bringing data from an `ArrayHandle` in parts and
overlapping device transfer and execution. It works, but only in very
limited contexts. Thus, it is not actually used today. Plus, the feature
requires global indexing to be permutated throughout the worklet
dispatching classes of VTK-m for no further reason.

Because it is not really used, there are other more promising approaches
on the horizon, and it makes further scheduling improvements difficult,
we are removing this functionality.
2020-03-24 15:01:56 -06:00
Kenneth Moreland
c0b7805435 Fix an inappropriate use of virtual methods in an execution test
One of the execution tests, UnitTestScatterAndMaskWithTopology,
was defining a hierarchy of worklets that defined a virtual
operator(). It mostly still worked since the code was executed
with the final type and thus did not actually need to look up
the virtual table. However, some invalid memory access must have
been happening in CUDA since under some unpredictable circumstances
a memory protection error was happening.

This fixes the problem by removing the virtual methods.
2020-03-24 11:42:08 -06:00
Kenneth Moreland
b54719b4e0 Merge topic 'modify-default-policy'
42bc9a393 Fix gaps in type support
dc112b516 Enable changing policy used for library compiles
76f870150 Type check input and output array arguments differently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1997
2020-03-24 12:17:23 -04:00
Vicente Adolfo Bolea Sanchez
4797426e1f silenced doxygen unsupported c++ syntax
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-03-23 19:55:46 -04:00
Robert Maynard
1995e52047 Correct minor issues from refactoring MarchingCells worklets 2020-03-22 12:49:58 -04:00
Robert Maynard
d3512879d1 Remove unneeded template parameters from Gradient. 2020-03-22 12:49:58 -04:00
Kenneth Moreland
42bc9a393c Fix gaps in type support
With recent changes to allow a configuration to change the default
types, storage, and cell sets, it is possible to feed filters and other
components types they were not previously expecting. Fix feature gaps
where these components were not accepting the types they should.
2020-03-19 17:07:11 -06:00
Kenneth Moreland
76f870150b Type check input and output array arguments differently
Read-only arrays (usually) do not define Set methods. Thus, using one in
an Invoke argument that does output will result in compile errors. To
help avoid that, modify the type checks to differentiate input and
output arrays.
2020-03-19 15:07:01 -06:00
Vicente Bolea
35276434bd Merge topic 'fix-475-support-sg-3d-scheduling'
e2c32ffac add unit test for WorkletMapTopology
0e90c22e7 Worklet{MapTopology,PointNeighbor} custom sg/mask

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1980
2020-03-19 11:17:12 -04:00
Vicente Adolfo Bolea Sanchez
e2c32ffac7 add unit test for WorkletMapTopology
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-03-18 10:26:58 -04:00
Kenneth Moreland
6f0edbec24 Move from tao::tuple to vtkm::Tuple
The new version of vtkm::Tuple should be faster. It also gives us more
control over the implementation and can provide some VTK-m specific
things.
2020-03-16 17:12:16 -06:00
Kenneth Moreland
56636afc7a Make Tuple class
Made a new vtkm::Tuple class to replace tao tuple.

This version of Tuple should hopefully compile faster. Having our own
implementation should also make it easier to port to new devices.
2020-03-16 17:12:16 -06:00
Kenneth Moreland
10e8a4a7f9 Remove locking control ArrayPortals
Previously, when a ReadPortal or a WritePortal was returned from an
ArrayHandle, it had wrapped in it a Token that was attached to the
ArrayHandle. This Token would prevent other reads and writes from the
ArrayHandle.

This added safety in the form of making sure that the ArrayPortal was
always valid. Unfortunately, it also made deadlocks very easy. They
happened when an ArrayPortal did not leave scope immediately after use
(which is not all that uncommon).

Now, the ArrayPortal no longer locks up the ArrayHandle. Instead, when
an access happens on the ArrayPortal, it checks to make sure that
nothing has happened to the data being accessed. If it has, a fatal
error is reported to the log.
2020-03-16 07:10:10 -06:00
Kenneth Moreland
0748725806 Make sure return value of cell operations is initialized
Even if an error condition occurs, the output parameter should be
initialized to something. This makes the behavior predicatable on error
conditions and prevents uninitialized variable warnings.
2020-03-14 00:24:13 -06:00
Kenneth Moreland
51e817adc1 Introduce vtkm::ErrorCode
This is a flag that functions in the execution environment can return to
report on the status of the operation. This way they can report an error
without forcing the entire invocation to shut down.
2020-03-13 18:58:33 -06:00
Vicente Adolfo Bolea Sanchez
0e90c22e70 Worklet{MapTopology,PointNeighbor} custom sg/mask
The change affects the method GetThreadIndices for both
WorkletMapTopology and WorkletPointNeighborhood.

Before an scatter or mask which was not ScatterIdentity or MaskNone
was not allowed and it was enforced at compilation time.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-03-12 11:49:10 -04:00
Vicente Bolea
46d5ab9539 Merge topic 'fix-424-use-scanextended'
9d0da855b ConvertNumComponentsToOffsets using ScanExtented vs. ScanExclusive

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1964
2020-03-11 10:03:54 -04:00
Vicente Adolfo Bolea Sanchez
9d0da855b3 ConvertNumComponentsToOffsets using ScanExtented vs. ScanExclusive
This commit also:
- Removes a corner case not longer used at ArrayPortalGroupVecVariable::get
- Changes doc regarding the number of offset elements in the input
  array handler of ConvertNumComponentsToOffsets.
- Updates invokation of make_ArrayGroupVectVariable in multiple files
- Adds its corresponding changelog entry
2020-03-05 10:57:34 -05:00
Robert Maynard
fd30525421 Restructure Contour algorithm to make it easier to add specialized versions 2020-02-27 16:08:00 -05:00
Robert Maynard
e78099e02d Update UnitTestWorkletMapField3d to use vtkm::cont::Token 2020-02-27 10:07:10 -05:00
Robert Maynard
8377806778 Merge topic 'introduce_mapfield_3d_scheduling'
1f1688483 Initial infrastructure to allow WorkletMapField to have 3D scheduling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1938
2020-02-27 08:02:52 -05: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
Robert Maynard
1f1688483e Initial infrastructure to allow WorkletMapField to have 3D scheduling 2020-02-25 15:23:41 -05:00
Kenneth Moreland
ad0a53af71 Convert execution preparation to use tokens
Marked the old versions of PrepareFor* that do not use tokens as
deprecated and moved all of the code to use the new versions that
require a token. This makes the scope of the execution object more
explicit so that it will be kept while in use and can potentially be
reclaimed afterward.
2020-02-25 09:39:19 -07:00
Kenneth Moreland
76ce9c87f0 Support using Token calling PrepareForExecution in ExecutionObject
The old version of ExecutionObject (that only takes a device) is still
supported, but you will get a deprecated warning if that is what is
defined.

Supporing this also included sending vtkm::cont::Token through the
vtkm::cont::arg::Transport mechanism, which was a change that propogated
through a lot of code.
2020-02-25 07:41:39 -07:00
Kenneth Moreland
47249ee3c0 Merge branch 'master' into oruebel/vtk-m-cleanup/contourtreeaugmented 2020-02-24 20:53:47 -07:00
Oliver Ruebel
392854ee35 Replace C-tyle casts with C++ style 2020-02-24 11:19:37 -08:00
Kenneth Moreland
f7709a8dba Mark deprecated superclasses of WorkletMapTopology with VTKM_DEPRECATED 2020-02-06 20:30:21 -06:00
Oliver Ruebel
230ef15e4b Fix layout of array definition in unit test 2020-01-30 16:45:59 -08:00
Oliver Ruebel
712ae1063b Fix memory bug in contour tree unit test 2020-01-30 16:41:08 -08:00
Oliver Ruebel
4501afb24d Iprove array style in test 2020-01-30 14:13:44 -08:00
Oliver Ruebel
3f9988253b Remove completed TODO items 2020-01-30 01:16:38 -08:00
Oliver Ruebel
45e9684d97 Improve layout of arrays in unit test 2020-01-30 01:14:29 -08:00
Oliver Ruebel
0a897aa947 Improve layout of arrays in unit test 2020-01-30 01:06:43 -08:00
Oliver Ruebel
d2be26690d UnitTest make contour tree and regular structure. Add tests 2020-01-30 00:47:50 -08:00
Oliver Ruebel
7526d953dd UnitTest ContourTree.Init 2020-01-29 17:06:45 -08:00
Oliver Ruebel
7de023c443 UnitTest that Join and Split tree are being built correctly 2020-01-29 16:52:39 -08:00
Oliver Ruebel
a8d30882c4 UnitTest that arrays are being released after Join/Split tree compute 2020-01-29 15:16:29 -08:00
Oliver Ruebel
9262fd78ca Add test for splitTree.SetStarts and splitTree.BuildRegularChains 2020-01-29 14:33:29 -08:00