Commit Graph

7251 Commits

Author SHA1 Message Date
Li-Ta Lo
ef49a71aa1 Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox 2020-03-24 10:25:02 -06:00
Li-Ta Lo
563642400a remove outdated comments on type-punning 2020-03-24 09:49:48 -06:00
Li-Ta Lo
be7c185449 tried to supress warning about type punning 2020-03-23 15:03:57 -06:00
Li-Ta Lo
c795f74b24 Merge branch 'master' into philox 2020-03-23 08:28:02 -06:00
Matt Larsen
c49390f253 Merge topic 'fix/light_position'
6a809676d re-set ray camera for default light

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2004
2020-03-21 18:40:42 -04:00
Matt Larsen
6a809676d6 re-set ray camera for default light 2020-03-21 14:07:05 -07:00
Matt Larsen
107cccd687 Merge topic 'fix/portal_warnings'
e88937368 fix scalar renderer portal warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2003
2020-03-21 11:32:27 -04: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
Li-Ta Lo
2b43fcb258 change function signature for work with MSVC 2020-03-19 14:24:38 -06:00
Li-Ta Lo
13e7ac3621 Merge branch 'philox' of gitlab.kitware.com:ollielo/vtk-m into philox 2020-03-19 10:20:09 -06:00
Li-Ta Lo
1e2fd540d1 add Doxygen documentation 2020-03-19 10:15:36 -06:00
Li-Ta Lo
f2ea179176 add Doxygen documentation 2020-03-19 10:14:39 -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
Kenneth Moreland
7108f745ad Merge topic 'implicit-copy-ctor'
783bc15ff Do not rely on implict copy constructors when destructor defined

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1999
2020-03-19 10:27:10 -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
60a720d523 Merge topic 'portal-check-3d'
5a805b6dc Properly handle Get(Id3) in ArrayPortalCheck

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1998
2020-03-18 15:00:11 -04: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
Kenneth Moreland
ac604d5673 Merge topic 'vtkm-tuple'
75a46dc2e Remove tao tuple from third party libraries
e05588a19 Add changelog for Tuple
f639e152d Fix ICE in VS 2015
625a6b4a9 Fix CUDA parse error
6f0edbec2 Move from tao::tuple to vtkm::Tuple
dca814434 Add vtkmstd::integer_sequence
5773ea3e1 Add porting layer for future std features
56636afc7 Make Tuple class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1977
2020-03-17 11:49:50 -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
e05588a199 Add changelog for 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
d0d1f750c2 Merge topic 'no-control-portal-locking'
594c73c06 Simplify use of ControlArrayValid
acc9774f6 Fix CUDA warnings
10e8a4a7f Remove locking control ArrayPortals

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <larsen30@llnl.gov>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1988
2020-03-16 17:52:31 -04: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
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
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