Commit Graph

7536 Commits

Author SHA1 Message Date
Kenneth Moreland
acc9774f67 Fix CUDA warnings 2020-03-16 07:10:11 -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
Matt Larsen
23a202b881 Merge topic 'matlock'
23075d5ff remove fake functors
a7097d92f actually ensure that lost rays move forward
bf3ebaa1c prevent raise error from raising error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1993
2020-03-15 23:18:42 -04:00
Matt Larsen
23075d5ff5 remove fake functors 2020-03-15 14:56:02 -07:00
Kenneth Moreland
542aeb79e8 Merge topic 'no-cell-op-errors'
074872580 Make sure return value of cell operations is initialized
51e817adc Introduce vtkm::ErrorCode
04edc3d20 Avoid raising errors when operating on cells

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1991
2020-03-15 17:49:52 -04:00
Matt Larsen
a7097d92f8 actually ensure that lost rays move forward 2020-03-15 13:49:02 -07: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
Li-Ta Lo
130a11c3b0 add 64-bit multiplication for CUDA 2020-03-13 15:57:27 -06:00
Li-Ta Lo
34ec4a8900 more constexpr fixes 2020-03-13 14:34:45 -06:00
Li-Ta Lo
bd3a82ae54 use static constexpr function for multiplier and round_consts 2020-03-13 13:55:37 -06:00
James
c03e845275 File not added. 2020-03-13 15:13:53 -04:00
James
41f64930cc Fixing file location. 2020-03-13 15:11:58 -04:00
James
9ccd911644 Fixing file location. 2020-03-13 15:11:33 -04:00
James
9e7ed6fde4 Checking for lfs in testing. 2020-03-13 15:09:24 -04:00
Li-Ta Lo
cf7cf4d8ba Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox 2020-03-13 12:25:25 -06:00
Li-Ta Lo
d0489d2c58 Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox 2020-03-13 12:24:18 -06:00
Li-Ta Lo
ad2ce0afe4 Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox 2020-03-13 12:21:26 -06:00
Li-Ta Lo
bcd972fc27 make philox_parameter work for C++11 2020-03-13 12:20:01 -06:00
Li-Ta Lo
3f339416d5 make philox_parameter work for C++11 2020-03-13 12:18:32 -06:00
Li-Ta Lo
1776bc8e49 remove constexpr fro C++11 2020-03-13 12:04:36 -06:00
Li-Ta Lo
23a0166048 Add ArrayHandlePhiloxURBG
Add implementation and unit tests for ArrayHandlePhiloxURBG
2020-03-13 11:39:57 -06:00
Li-Ta Lo
104b860bbc Merge branch 'master' into philox 2020-03-12 15:02:06 -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
Li-Ta Lo
92b874c12a Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox 2020-03-12 09:14:29 -06:00
James
adb73b3600 Updating runondevice to use new args. 2020-03-12 10:50:42 -04:00
James
8579d54cb9 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-12 10:10:03 -04:00
Kenneth Moreland
04edc3d202 Avoid raising errors when operating on cells
Cell operations like interpolate and finding parametric coordinates can
fail under certain conditions. Typically these call RaiseError on the
worklet. But that can make a worklet unstable, so provide paths where no
error is raised.
2020-03-12 07:50:01 -06:00
Li-Ta Lo
e207fe9a94 Add Philox PRNG
Add implementation and unit tests for Philox RNG.
2020-03-11 17:42:39 -06:00
Li-Ta Lo
bad2232a1c Add Philox PRNG
Add implementation and unit tests for Philox RNG.
2020-03-11 17:37:05 -06:00
Matt Larsen
bf3ebaa1c7 prevent raise error from raising error 2020-03-11 14:56:42 -07:00
James
d14d6cb7e4 Updating short arguments. 2020-03-11 13:56:02 -04:00
James
7a73b0f547 Updating testing 2020-03-11 13:55:14 -04:00
Matt Larsen
2796dc33d2 Merge topic 'ensure_progress'
aa7dcf915 push forward until new valid cell
6aafc42f1 move forward until encountering new cell for lost rays

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1985
2020-03-11 10:33:52 -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
Robert Maynard
c7f1779c11 Merge topic 'reorg_contour_worklet'
fd3052542 Restructure Contour algorithm to make it easier to add specialized versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1973
2020-03-11 10:02:50 -04:00
mclarsen
aa7dcf915f push forward until new valid cell 2020-03-10 15:47:27 -07:00
mclarsen
6aafc42f13 move forward until encountering new cell for lost rays 2020-03-10 15:16:57 -07:00
Li-Ta Lo
d294f5bda6 Merge topic 'philox'
26b73f1dd Using C++11 integer types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1983
2020-03-10 11:18:29 -04:00
Robert Maynard
01b370296f Merge topic 'fix-301'
e4aa20594 Output CoordinateSystemTransforms results in Coordinates

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1970
2020-03-10 10:21:33 -04:00
Matt Larsen
18810e7323 Merge topic 'fix/conn_proxy_warning'
446a1c565 fix unreachable warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1984
2020-03-10 10:17:14 -04:00
Kenneth Moreland
7258d1d12d Merge topic 'arrayhandlevirtual-deadlock'
75cb53d3a Reset ArrayPortalToken when Detach is called
53c17a687 Release locks in ArrayHandleVirtual control portals

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1982
2020-03-10 09:35:14 -04:00
Matt Larsen
446a1c5657 fix unreachable warning 2020-03-09 19:49:03 -07:00
Li-Ta Lo
26b73f1dd3 Using C++11 integer types
Using C++11 fixed width integer type defined in cstdint
for various integer types alias instead of our own
2020-03-09 17:53:12 -06:00
Kenneth Moreland
75cb53d3ad Reset ArrayPortalToken when Detach is called
When `ArrayPortalToken::Detach` was called, the contained `Token` was
detached, but `ArrayPortal` being wrapped might also be holding its own
portal that it is decorating. To ensure that any dependent portals are
also detached, `ArrayPortalToken::Detach` resets itself.
2020-03-09 16:24:23 -06:00
Kenneth Moreland
53c17a6876 Release locks in ArrayHandleVirtual control portals
This fixes an issue where getting a `ReadPortal` or a `WritePortal` from
an `ArrayHandleVirtual` could cause a deadlock from a held token even if
the returned portal was detached or destroyed.

The problem was that `ArrayHandleVirtual` was keeping a reference to the
`ArrayPortal` from the concrete array. This was because the returned
`ArrayPortalRef`, which was designed to work on both control and
execution environments, had no good way to destroy the portal. This
meant that the `ArrayHandleVirtual` was caching a copy of the concrete
array's portal. This was not a great idea before because the array could
get invalidated. It is worse now because it keeps the concrete array
locked.

Fixed the problem by subclassing `vtkm::ArrayPortalRef` to make a
control-specific version that will delete the concrete portal on its own
destruction.
2020-03-09 15:53:38 -06:00
Matt Larsen
b374ec384d Merge topic 'UpdateSeedResolution'
424dfbaf5 Add call to UpdateSeedResoltuion() to set output dataset resolution.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Merge-request: !1981
2020-03-08 11:03:30 -04:00
Sudhanshu Sane
424dfbaf52 Add call to UpdateSeedResoltuion() to set output dataset resolution. 2020-03-07 21:13:06 -08:00
Matt Larsen
d72c5ec105 Merge topic 'fix/vr_connectivity'
3b123594f Longer fixed message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sudhanshu Sane <ssane@cs.uoregon.edu>
Acked-by: Abhishek Yenpure <abhishek@uoregon.edu>
Merge-request: !1979
2020-03-06 18:02:02 -05:00
Matt Larsen
3b123594fb Longer fixed message 2020-03-06 09:25:50 -08:00