Commit Graph

5620 Commits

Author SHA1 Message Date
Kenneth Moreland
a44392027a Fix compile error in UnitTestTaskStrided.cu from changes in Fetch
A recent change removed the thread indices parameters from the arguments
to the `Fetch` template. Somehow, an instance of using the old template
in the CUDA task strided tests snuck through the dashboard tests.
Correct that.
2020-04-27 17:47:37 -06:00
Dave Pugmire
87470a89b7 Merge topic 'fix_euler_step_particleAdvection2'
2ecca9edf Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into fix_euler_step_particleAdvection2
d2e9b3d30 Fix for small euler step for particle advection.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2057
2020-04-27 09:41:39 -04:00
Vicente Adolfo Bolea Sanchez
d0396e2a40 relaxes ThreadIndicesType across multiple worklets fetchs
This change is needed for being able to use different thread indices types
without changing Fetchs. Basically decoupling those two areas.

1. This commit removes concrete specialization instantiations of
   ThreadIndicesTypes in all of the Fetch's specializations.

2. It also moves the ThreadIndicesType template parameter from the Fetch
   struct to a template parameter in their methods Load/Store.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-04-24 17:39:31 -04:00
dpugmire
2ecca9edf1 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into fix_euler_step_particleAdvection2 2020-04-24 14:47:41 -04:00
nadavi
02ef5291f5 incorporate -fPIC flag in lodepng when buliding linux 2020-04-24 12:10:35 -06:00
Matt Larsen
319af8e25e Merge topic 'fix/scalar_rendering'
6fe468410 add normalization bypass for nodal scalars
4c0a3858b don't always normalize scalars

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sudhanshu Sane <ssane@cs.uoregon.edu>
Merge-request: !2056
2020-04-23 20:35:20 -04:00
dpugmire
d2e9b3d306 Fix for small euler step for particle advection. 2020-04-23 16:14:28 -04:00
Matt Larsen
6fe4684102 add normalization bypass for nodal scalars 2020-04-23 12:56:46 -07:00
Nickolas Davis
d22b658c3a Merge topic 'lodepng-in-lib'
b380e702d only include the lodepng header when installing
c9cbd9693 fix type warnings
62fe68acd fixes to match old files
abf569288 Merge branch 'upstream-lodepng' into lodepng-in-lib
957568e36 lodepng 2020-04-16 (b51302e1)
e925d6d54 turn lodepng into a library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2034
2020-04-23 14:02:09 -04:00
Matt Larsen
4c0a3858b2 don't always normalize scalars 2020-04-23 10:31:39 -07:00
Vicente Adolfo Bolea Sanchez
738c05ae87 fixes OMP reduction when using OMP_NUM_THREADS lt 4
This fixes, which where triggered since in the new CI, one of the
docker runner set `OMP_NUM_THREADS=3`:

1. `UnitTestOpenMPDeviceAdapter`
2. `UnitTestMeshQualityFilter`

In the redution optimized implementation for _OpenMP_, it unrolls
the reduce loop in iterations of four elements. The last iteration
in the loop might overflow the loop end element (when it is not a
multiple of four).

This commit fixes this by setting the OpenMP unrolled reduce loop
end element to its previous closest multiple of four of the original end
element.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-04-22 20:14:34 -04:00
nadavi
b380e702d2 only include the lodepng header when installing 2020-04-22 15:00:19 -06:00
nadavi
c9cbd9693d fix type warnings 2020-04-22 12:29:40 -06:00
nadavi
62fe68acdd fixes to match old files 2020-04-22 12:18:43 -06:00
nadavi
abf5692887 Merge branch 'upstream-lodepng' into lodepng-in-lib
* upstream-lodepng:
  lodepng 2020-04-16 (b51302e1)
2020-04-22 12:07:52 -06:00
nadavi
e925d6d54c turn lodepng into a library 2020-04-22 12:07:32 -06:00
Kenneth Moreland
94f0d2f8a5 Restore device tests
While debugging, I commented out a section of the device adapter tests
to narrow down on some issues. Oops, I forgot to restore the test. Do
that now.
2020-04-21 11:46:40 -06:00
Robert Maynard
098c50b382 Merge topic 'encode_png'
1d4ebaec9 Image was upside down; flip it over, demo usage.
4e76c00a4 Fix linker error and multiply defined symbols.
eb36a07ab Use logging framework [CI SKIP]
104e7bd9c Halting first steps towards encoding .pngs.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2048
2020-04-21 08:05:03 -04:00
Vicente Bolea
a0e7838b87 Merge topic 'refactor-meshquality-use-errorcodes'
026fd14ba CellMetrics return vtkm::ErrorCode instead of raising errors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2041
2020-04-17 10:43:48 -04:00
Nick
1d4ebaec9f Image was upside down; flip it over, demo usage. 2020-04-17 07:56:03 -04:00
Nick
4e76c00a42 Fix linker error and multiply defined symbols. 2020-04-17 07:32:01 -04:00
Nick
eb36a07ab7 Use logging framework [CI SKIP] 2020-04-17 06:53:32 -04:00
Nick
104e7bd9c2 Halting first steps towards encoding .pngs. 2020-04-17 06:22:30 -04:00
Vicente Adolfo Bolea Sanchez
026fd14ba6 CellMetrics return vtkm::ErrorCode instead of raising errors
- MeshQuality now throws ErrorCode messages

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-04-16 17:27:42 -04:00
Kenneth Moreland
6dc0b394a9 Fix reduce-by-key with a fancy output array
If you gave ReduceByKey a fancy output array that decorated another
array, you could get a runtime error for using an invalid array (if the
device adapter used the generic algorithm). The problem was that
ReduceByKey creates a temporary array, and that array was given the same
storage as the output array. That might not be valid for fancy arrays,
so instead use the default storage for the temporary array.
2020-04-16 14:19:44 -06:00
Kenneth Moreland
52f157e420 Fix scan-by-key with a fancy output array
If you gave ScanInclusiveByKey a fancy output array that decorated
another array, you would get a runtime error for using an invalid array.
The problem was that ScanInclusiveByKey creates a temporary output array
and then copies the result to the actual output array. The problem was
that the temporary output array was given the same storage as the output
array, which won't work if the output array is fancy. Instead, make the
storage for the temporary array default.
2020-04-16 10:37:48 -06:00
Robert Maynard
fdffaac2d2 Merge topic 'flying_edges_support_multi_contour'
243425421 Flying Edges now works with multiple contours

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2039
2020-04-15 13:46:27 -04:00
Robert Maynard
2434254218 Flying Edges now works with multiple contours 2020-04-14 09:21:27 -04:00
Vicente Adolfo Bolea Sanchez
6c7855aed8 relax ThreadIndicesType requirements for WorkletInvokeFunctorDetail
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-04-10 13:13:35 -04:00
Matt Larsen
0a6f66986c add whitespace 2020-04-07 18:08:02 -07:00
Matt Larsen
ecd1512dd6 render 2d mesh lines 2020-04-07 13:13:10 -07:00
Jérôme Dubois
4416f85543 Fixing ColorTable::PrepareForExecution and DispatcherMapField 2020-04-03 14:14:29 +02:00
Vicente Adolfo Bolea Sanchez
64e35e6fbf removed doxygen warning at ArrayHandleRandomUniformBits 2020-04-02 11:49:24 -04:00
Robert Maynard
5061d43f5a vtkm_option should be used as it properly handles CMP0077
Without using vtkm_option, you will run into CMP0077 which
means "option() won't honor normal variables".
2020-04-01 08:52:07 -04:00
Robert Maynard
ac55c0e551 Merge topic 'disable_deprecation_under_nvcc'
e37eedadb CUDA doesn't like [[deprecated]] when applied to typedefs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !2018
2020-04-01 08:30:27 -04:00
Robert Maynard
e37eedadb1 CUDA doesn't like [[deprecated]] when applied to typedefs
So we disable deprecation support when building with `nvcc`
2020-03-31 14:56:49 -04:00
Kenneth Moreland
2016aa01d5 Fix unused parameter warnings
One of the dashboard compilers (gcc 4.8 with cuda, I think) was giving
warnings about an unused parameter. Apparently, the compiler did not
like the parameters defined for `default` assignment operators.
2020-03-30 14:45:40 -06:00
James
46d7d1865a Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-27 11:33:18 -04:00
Robert Maynard
b6a92c940b Merge topic 'fixed_point_write'
cad7b593d Fix warning.
7da30d254 Write data in fixed point, not scientific notation. Increase performance by removing buffer flushes.
98dbf7c1a Replace spaces by underscores in SCALAR name field.
b3d170f2d Compound datatypes for writer.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2001
2020-03-27 08:41:25 -04:00
Robert Maynard
f06a5db9af Merge topic 'add_gitlab_ci'
d7ab1a608 Improve parallelization when compiling filter tests
142d151ca Update CONTRIBUTING.md to cover gitlab piplines
5bc09b976 Add gitlab-ci infrastructure
ef7ef5fb2 Add documentation for the what/why of using Gitlab ci
36d1a2d6a Add dockerfiles to be used by VTK-m Gitlab ci
b16e4fc17 Add ECP CI support to vtk-m

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1987
2020-03-26 15:39:28 -04:00
Robert Maynard
d7ab1a6084 Improve parallelization when compiling filter tests 2020-03-26 13:40:47 -04:00
Nick
cad7b593d2 Fix warning. 2020-03-26 12:12:54 -04:00
Vicente Bolea
a25f023413 Merge topic 'fix-418-gradient-throw-error'
df2dba346 throws an exception if Gradient input is scalar

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2009
2020-03-26 09:55:56 -04: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
Robert Maynard
8810fc2fa6 Merge topic 'philox'
ef49a71aa Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox
563642400 remove outdated comments on type-punning
be7c18544 tried to supress warning about type punning
c795f74b2 Merge branch 'master' into philox
2b43fcb25 change function signature for work with MSVC
13e7ac362 Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox
1e2fd540d add Doxygen documentation
f2ea17917 add Doxygen documentation
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1990
2020-03-25 13:17:50 -04:00
Vicente Adolfo Bolea Sanchez
df2dba3467 throws an exception if Gradient input is scalar
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-03-25 12:08:47 -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
Li-Ta Lo
563642400a remove outdated comments on type-punning 2020-03-24 09:49:48 -06:00
Vicente Bolea
83fdb10df2 Merge topic 'fix-doxygen-warnings'
4797426e1 silenced doxygen unsupported c++ syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2000
2020-03-24 11:33:25 -04:00
James
95ba497bb2 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-24 10:53:06 -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
Li-Ta Lo
be7c185449 tried to supress warning about type punning 2020-03-23 15:03:57 -06:00
Kenneth Moreland
dec4b96d38 Fix warning about using a deprecated method 2020-03-23 10:23:47 -06:00
Li-Ta Lo
c795f74b24 Merge branch 'master' into philox 2020-03-23 08:28:02 -06: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
Matt Larsen
6a809676d6 re-set ray camera for default light 2020-03-21 14:07:05 -07:00
Matt Larsen
e889373686 fix scalar renderer portal warning 2020-03-21 08:29:19 -07:00
Matt Larsen
d9cfb8687f Merge topic 'scalar_renderer'
33a154337 add deprecation
a7363c283 alter interface of scalar renderer result
5fc77cb58 warnings and store depth separately
aa468f5c0 more warning fixes
0943784c2 fix warning
094758e55 make result public?
70584ac8f fix benchmarks
458be65e9 fix logic error
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1962
2020-03-21 10:28:12 -04:00
Nick
7da30d2540 Write data in fixed point, not scientific notation. Increase performance by removing buffer flushes. 2020-03-20 07:05:08 -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
dc112b5169 Enable changing policy used for library compiles
Previously, the PolicyDefault used to compile all the filters was hard-
coded. The problem was that if any external project that depends on VTK-
m needs a different policy, it had to recompile everything in its own
translation units with a custom policy.

This change allows an external project provide a simple header file that
changes the type lists used in the default policy. That allows VTK-m to
compile the filters exactly as specified by the external project.
2020-03-19 15:07:07 -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
Li-Ta Lo
2b43fcb258 change function signature for work with MSVC 2020-03-19 14:24:38 -06:00
Li-Ta Lo
1e2fd540d1 add Doxygen documentation 2020-03-19 10:15:36 -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
Li-Ta Lo
7bcb3a0312 Rename unit tests as well 2020-03-18 16:50:32 -06:00
Li-Ta Lo
32d9d04ae7 Remove 64-bits to 128-bits multiplication 2020-03-18 16:06:47 -06:00
Li-Ta Lo
46813d4e90 Incorporating Ken's commnet
Rename class, directory and namespace names, remove convinience function.
2020-03-18 16:03:47 -06:00
Li-Ta Lo
0f6a96fc1b rename prng to random 2020-03-18 15:08:12 -06:00
Kenneth Moreland
783bc15ffd Do not rely on implict copy constructors when destructor defined
As a general C++ "rule of three," if one of a copy constructor, copy
assignment, or destructor is defined, all three should be defined. Some
compilers issue warnings if this rule of three is violated.

It is sometimes the case that we define a destructor simply because it
is only valid in the control environment. When doing so, add
implementations for copy constructor and assignment as well.
2020-03-18 14:53:14 -06:00
Li-Ta Lo
c7e57e2fe0 Mandatory/Default Seed
Force use to seed the RNG when instantiate ArrayHandlePhiloxURBG, default
to std::random_device when using make_ArrayHandlePhiloxURBG.
2020-03-18 14:36:09 -06:00
Kenneth Moreland
5a805b6dc9 Properly handle Get(Id3) in ArrayPortalCheck
Previously, the ArrayPortalCheck wrapper did not allow access to the
superclass' Get for 3D indices. This solves that problem and also fixes
it for Set (assuming there is ever an instance of that).
2020-03-18 10:51:20 -06: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
Nick
98dbf7c1a9 Replace spaces by underscores in SCALAR name field. 2020-03-17 10:00:46 -04:00
Kenneth Moreland
75a46dc2eb Remove tao tuple from third party libraries
We are no longer using this code. It has been replaced by vtkm::Tuple.
2020-03-16 17:12:17 -06:00
Kenneth Moreland
f639e152db Fix ICE in VS 2015
After lots of experimenting, it appears that VS 2015 has problems when
you list a variate template argument before a normal template argument
in a specialization of a function, The compiler seems happy when the
variate argument is placed at the end of the template arguments.
2020-03-16 17:12:16 -06:00
Kenneth Moreland
625a6b4a93 Fix CUDA parse error
The nvcc compiler was having problem resolving a template partial
specialization that contained a template param with its own number
list and another param that depended on that template.
2020-03-16 17:12:16 -06: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
dca8144345 Add vtkmstd::integer_sequence
`integer_sequence` is an essential tool when dealing with structures
like a `Tuple`. Make sure that we have one (even though it was not
introduced until C++14).
2020-03-16 17:12:16 -06:00
Kenneth Moreland
5773ea3e13 Add porting layer for future std features
Currently, VTK-m is using C++11. However, it is often useful to use
features in the `std` namespace that are defined for C++14 or later. We
can provide our own versions (sometimes), but it is preferable to use
the version provided by the compiler if available.

There were already some examples of defining portable versions of C++14
and C++17 classes in a `vtkmstd` namespace, but these were sprinkled
around the source code.

There is now a top level `vtkmstd` directory and in it are header files
that provide portable versions of these future C++ classes. In each
case, preprocessor macros are used to select which version of the class
to use.
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
594c73c06d Simplify use of ControlArrayValid
Can allocate and set in one step to simplify the code.
2020-03-16 13:01:50 -06:00
Nick
b3d170f2d9 Compound datatypes for writer. 2020-03-16 11:41:52 -04:00
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
23075d5ff5 remove fake functors 2020-03-15 14:56:02 -07: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