Commit Graph

4359 Commits

Author SHA1 Message Date
Kenneth Moreland
9c51de8db2 Add MODE_NONE to FieldSelection
This mode forces the selection to be empty. Although there is no
practical difference between having MODE_NONE and having MODE_SELECTED
with nothing selected (which is the default), this is a semantically
nicer way to say you don't want any fields.

Since we have changed the default behavior of Filter::Execute to be
MODE_ALL, this is a nice addition so that you can clearly specify you
don't want to pass any fields by adding
vtkm::filter::FieldSelection::MODE_NONE as the second argument. (Making
it MODE_SELECTED is not clear that you want none.)
2018-03-21 13:43:15 -06:00
Kenneth Moreland
a4aa42c012 Avoid "weird" arrays in fields
In some of the tests there was a field that was using a counting array.
This uses an integer as the value type and has a special implicit
storage type. Currently, this is likely to cause problems whenever it
runs into a cast and call of a dynamic array. For now, let's avoid
these.

In the near future we should have expanded virtual method capabilities
that will make it possible to support these atypical arrays.
2018-03-21 13:35:02 -06:00
Kenneth Moreland
6a6ac7cd82 Change filter to pass all fields by default
You can still select independent fields with a FieldSelection object if
desired.
2018-03-21 12:43:11 -06:00
Kenneth Moreland
89b46e9564 Merge topic 'multiblock-const-correctness'
117ce0be Add const correctness to MultiBlock method arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1115
2018-03-21 09:25:27 -04:00
Kenneth Moreland
117ce0be92 Add const correctness to MultiBlock method arguments
Several MultiBlock methods take references as arguments. Generally that
is good as some of the arguments take larger data structures like
DataSet and std::vector that can be passed much faster as a reference.
However, the references were not declared const, which means that you
could not use rvalues. This is now fixed.
2018-03-20 16:33:40 -06:00
Robert Maynard
2bfbf0a902 Transfer of virtuals to the CUDA device now properly uses streams
This way when multiple threads are using VTK-m they all won't block while
one transfer a class with virtuals to the device.
2018-03-20 17:04:41 -04:00
Robert Maynard
6ad53c7b70 Merge topic 'fix-examples'
e3961b9c update examples after filter API changes.
9cf5be2f Make `Result` constructor as `explicit`.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1112
2018-03-14 12:46:33 -04:00
Utkarsh Ayachit
e3961b9c95 update examples after filter API changes. 2018-03-13 13:54:22 -04:00
Utkarsh Ayachit
9cf5be2f8e Make Result constructor as explicit.
This avoid accidental conversions from DataSet to Result in return
values. This exposed several issues with filters and their tests. Fixed
those as well.
2018-03-13 13:54:21 -04:00
Robert Maynard
e35eec4a92 Merge topic 'virtual_coordinate_system_workarounds'
cbadd3e6 Make CoordinateSystem not fail on CUDA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1108
2018-03-13 08:31:53 -04:00
Utkarsh Ayachit
cdb62c5b5c Merge branch 'fix-diy-warnings' into 'master'
Fix diy warnings

See merge request vtk/vtk-m!1110
2018-03-12 11:17:27 -04:00
Matt Larsen
996b75b2fc Merge topic 'examples_filters_fix'
cf0b0aaf fixing clipping and contour tree examples

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1111
2018-03-10 18:19:59 -05:00
Robert Maynard
cbadd3e67e Make CoordinateSystem not fail on CUDA 2018-03-10 16:38:41 -05:00
Robert Maynard
9eca9be724 Merge topic 'prefer_constexpr_over_const'
7c54125b Switch over from static const to static constexpr where possible.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1097
2018-03-10 16:14:50 -05:00
Robert Maynard
1bd7441384 Merge topic 'more_efficient_dynamicarrayhandle_cast_call'
c026d14b DynamicArrayHandle prunes invalid Value/Storage set before cast and call

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1109
2018-03-10 13:54:33 -05:00
Matt Larsen
cf0b0aaf95 fixing clipping and contour tree examples 2018-03-10 09:08:29 -08:00
Robert Maynard
7c54125b66 Switch over from static const to static constexpr where possible. 2018-03-10 11:39:58 -05:00
Utkarsh Ayachit
66e356f7d9 Merge topic 'add-filters'
86bd81de streamline: handle different storage types for fields.
de4e840e enhance filter API
c255c0eb add `vtkm::cont::ConditionalCastAndCall`
54c2d234 Make it easier to iterator over blocks.
d1a59aad Fixes for CrossProduct and DotProduct.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1100
2018-03-10 09:24:35 -05:00
Utkarsh Ayachit
66fcf2a7fd Merge branch 'upstream-diy' into fix-diy-warnings
* upstream-diy:
  diy 2018-03-10 (08f19c67)
2018-03-10 09:24:19 -05:00
Diy Upstream
95743c6ee3 diy 2018-03-10 (08f19c67)
Code extracted from:

    https://gitlab.kitware.com/third-party/diy2.git

at commit 08f19c677d84e08d9e7ee301c98db04c2bc2c7bd (for/vtk-m).
2018-03-10 09:24:19 -05:00
Matt Larsen
4d14214480 Merge topic 'invert_clip'
9cebcdaa adjusting formatting
0d671bcb adding inverted clip unit tests
2daba821 adding the ability to invert clips

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1107
2018-03-09 22:30:14 -05:00
Matt Larsen
9cebcdaaa5 adjusting formatting 2018-03-09 13:58:08 -08:00
Matt Larsen
0d671bcb22 adding inverted clip unit tests 2018-03-09 13:51:28 -08:00
Robert Maynard
c026d14b97 DynamicArrayHandle prunes invalid Value/Storage set before cast and call
By pruning the invalid combinations first we reduce the amount of work
the compiler has to do. Additionally it makes for smaller callstacks when
the compiler errors out during a CastAndCall.
2018-03-09 16:14:27 -05:00
Matt Larsen
2daba82188 adding the ability to invert clips 2018-03-08 18:28:08 -08:00
Utkarsh Ayachit
86bd81de3f streamline: handle different storage types for fields.
this is required now that, in theory, streaminlines filter can be
executed treating the coordinate system as the vector field.
2018-03-07 13:42:23 -05:00
Utkarsh Ayachit
de4e840eae enhance filter API
Filters now support executing on a dataset to produce a result dataset
with automatic mapping of fields to the output dataset. Fields to map
can be selected using `vtkm::filter::FieldSelection` class, which provides
constructors to map all or no fields, along with a selection of fields.

This updates all tests to use the new filter API.
2018-03-07 13:42:23 -05:00
Robert Maynard
7fd9950c56 Merge topic 'disable_assert_cuda_75'
a75c6ae4 Automatically disable assert for CUDA 7.5 as they don't work in device code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1105
2018-03-07 10:41:57 -05:00
Robert Maynard
65077ad121 Merge topic 'connected_component'
1a13324a Merge branch 'master' into connected_component
e058aaeb extend CellSetConnectivity to CellSetUniform and CellSetExplicit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1104
2018-03-07 10:29:33 -05:00
Robert Maynard
a75c6ae419 Automatically disable assert for CUDA 7.5 as they don't work in device code 2018-03-07 09:18:37 -05:00
Robert Maynard
d3fe1a6bd4 Merge topic 'allow_diy_to_build_on_powerpc_clang'
496ebb96 Merge branch 'upstream-diy' into allow_diy_to_build_on_powerpc_clang
5dedd3c6 diy 2018-03-06 (56d516fd)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1102
2018-03-07 08:02:53 -05:00
Li-Ta Lo
1a13324a9a Merge branch 'master' into connected_component 2018-03-06 16:23:43 -07:00
Li-Ta Lo
e058aaebd9 extend CellSetConnectivity to CellSetUniform and CellSetExplicit 2018-03-06 16:21:32 -07:00
Utkarsh Ayachit
c255c0ebe7 add vtkm::cont::ConditionalCastAndCall
Adding a function to conditionally do CastAndCall.
2018-03-06 15:54:46 -05:00
Utkarsh Ayachit
54c2d2345e Make it easier to iterator over blocks.
Now `for (block : multiblock)` is supported.
2018-03-06 15:54:46 -05:00
Utkarsh Ayachit
d1a59aad20 Fixes for CrossProduct and DotProduct. 2018-03-06 15:54:46 -05:00
Robert Maynard
496ebb9628 Merge branch 'upstream-diy' into allow_diy_to_build_on_powerpc_clang
* upstream-diy:
  diy 2018-03-06 (56d516fd)
2018-03-06 14:56:05 -05:00
Diy Upstream
5dedd3c661 diy 2018-03-06 (56d516fd)
Code extracted from:

    https://gitlab.kitware.com/third-party/diy2.git

at commit 56d516fdc2633de03731ae4a391909edf61be9d2 (for/vtk-m).
2018-03-06 14:56:04 -05:00
Dave Pugmire
4fd3203bc2 Merge topic 'cross_and_dot_filters'
da2b518e fix compiler warning
1a0dfaa7 Add mapfield method.
daf11713 Filters to compute the cross and dot product of vector fields.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1098
2018-02-27 16:00:43 -05:00
Utkarsh Ayachit
52b78a903a Merge topic 'make-diy-non-optional'
756c7e1d selectively disable C4275.
7f52fcd1 Merge branch 'upstream-diy' into make-diy-non-optional
b8ae3236 diy 2018-02-27 (e140ad94)
4ade3984 warnings: int/size_t conversion warnings.
18fec921 don't exclude DIY warnings.
4813d7cb disable non-fixable MSVC warnings.
61e57d4e fix shadowed variable warnings.
7002c71e add warning guards around diy includes.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1091
2018-02-27 15:50:41 -05:00
Utkarsh Ayachit
756c7e1d11 selectively disable C4275. 2018-02-27 13:42:52 -05:00
Dave Pugmire
da2b518e63 fix compiler warning 2018-02-27 13:35:35 -05:00
Dave Pugmire
1a0dfaa760 Add mapfield method. 2018-02-27 13:24:30 -05:00
Diy Upstream
b8ae323613 diy 2018-02-27 (e140ad94)
Code extracted from:

    https://gitlab.kitware.com/third-party/diy2.git

at commit e140ad948d01de6d7a2bd112183800f16e3a72f0 (for/vtk-m).
2018-02-27 12:25:56 -05:00
Utkarsh Ayachit
7f52fcd18b Merge branch 'upstream-diy' into make-diy-non-optional
* upstream-diy:
  diy 2018-02-27 (e140ad94)
2018-02-27 12:25:56 -05:00
Dave Pugmire
daf1171382 Filters to compute the cross and dot product of vector fields. 2018-02-27 09:24:46 -05:00
Robert Maynard
dff800028b Merge topic 'allow_vtkm_cont_compilation_with_cuda_75'
dde7c76a Worklets can't be in anonymous namespace as CUDA 7.5 doesn't support those.
601a839d VTK-m uses static const/constexpr when supported ( so not on cuda 7.5 )
505e7aa1 VTK-m now has defines for the CUDA version even when not using nvcc.
a60e3780 CUDA 7.5 doesn't like suppressing warning codes that don't exist
41d968f6 Cuda ExecutionPolicy when using CUDA 7.5 is aware we use raw pointer now
6202d8d2 CudaAllocator guards all CUDA 8.0+ calls behind ifdef's.
ff9dcc47 Consistently mark variables as static const across all of vtk-m

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1088
2018-02-27 08:34:37 -05:00
Robert Maynard
dde7c76a9f Worklets can't be in anonymous namespace as CUDA 7.5 doesn't support those. 2018-02-26 16:42:00 -05:00
Robert Maynard
601a839d5d VTK-m uses static const/constexpr when supported ( so not on cuda 7.5 )
These changes now allow VTK-m to compile on CUDA 7.5 by using const arrays,
when compiling with CUDA 8+ support we upgrade to static const arrays, and
lastly when CUDA is disabled we fully elevate to static constexpr.
2018-02-26 16:41:29 -05:00
Robert Maynard
505e7aa1ec VTK-m now has defines for the CUDA version even when not using nvcc.
This is needed so so that the CUDA and C++ compiler generate the same code
when scanning a shared header but generating different translation units
2018-02-26 16:38:26 -05:00