Commit Graph

1127 Commits

Author SHA1 Message Date
Utkarsh Ayachit
593061cfb0 UnitTestPointTransform: fix errors when using double as float type. 2018-05-08 14:52:23 -04:00
Li-Ta Lo
269b940fe6 Merge topic 'connected_component'
d3dbdd59 remove using namespace, specify fully qualified names
ae5e3be8 Merge branch 'connected_component' of gitlab.kitware.com:ollielo/vtk-m into connected_component
f655e8f1 add overload of Run() for ArrayHandle
6f853971 Add vtkm::worklet::connectivity namespace
ce27f5fc Change signature of ImageConnectivity::Run()
648b0dec add installation of header files in CMakeLists.txt
d94f2cae Add ImageConnectivity worklet
ca0e9d20 Change signature of ImageConnectivity::Run()
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1154
2018-05-08 11:08:54 -04:00
Dave Pugmire
4fec7e6919 Merge topic 'point_translate'
6dd82d69 Create a new worklet for point transformations. Also provide a unitest.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1177
2018-05-08 08:32:57 -04:00
Robert Maynard
626a49cc0b Worklet Dispatcher calls now consistently specify a device adapter
Some worklets Run() method accidentally used the default device adapter
which should be avoided. Instead they should use a passed in device
adapter so that we support multiple device adapters in the same
binary/executable.
2018-05-04 15:12:49 -04:00
Robert Maynard
a6bf830f5f ParticleAdvection run method now obeys the passed in device adapter
Previous ParticleAdvection would dispatch some of the worklets
on the default device adapter and not the explicitly requested
device adapter
2018-05-04 15:12:49 -04:00
Matthew Letter
d32f8213e4 Removed template for device from execution object
the execution object is no longer passed when making execution object instead it is pass in the transport tag to create the final execution object
2018-05-03 14:59:54 -06:00
Matthew Letter
fce5fea31f Changed how TriangulateTables.h was creating ExecutionObjects
abstracted out execution objects for both tetrahedralize and triangulate and removed the device template requirement from the execution object factory for both classes
2018-05-03 14:59:54 -06:00
Matthew Letter
5d1e8cccb4 corrected logical error in texture2d and cleaned up particles.h
cleaned up a logic error texture2d and cleaned how the constructor for execution object was being called. Also, went and cleaned up how the execution object was being created for particle to align it with the same method for creating the execution object.
2018-05-03 14:45:22 -06:00
Matthew Letter
7cb2421edf moved a function out of the execution environment
The factory should not eb being called from the execution environment.
2018-05-03 14:45:22 -06:00
Matthew Letter
35085442b4 cleaning up compilation warings in particles.h 2018-05-03 14:45:22 -06:00
Matthew Letter
b016d5eeaa fixed the compiler errors for particle and particle advection worklet
there was an error involving const and prepareforinput between the particle's const prepareforexecution function and array handle prepareforinput.
2018-05-03 14:45:22 -06:00
Matthew Letter
b693d8bed5 removed particle abstraction
removed the abstraction of particle and stateparticle so they are not inheriting each other
2018-05-03 14:45:22 -06:00
Matthew Letter
d3fde1f870 creating a execution object facotry for particles
abstracted out particles into an execution object and a factory that populates said execution object based on its state. removed the facotries dependance on a device adaptor.
2018-05-03 14:45:22 -06:00
Matthew Letter
af250acbfc added PrepareForExecution to compile code base
added prepare for execution function to all the execution object factories that did not have it implemented to compile the code base
2018-05-03 14:45:22 -06:00
Matthew Letter
8f622839b6 added PrepareForExecution() to UnitTestDispatcherBase.cxx
added PrepareForExecution() to UnitTestDispatcherBase.cxx to start resolving all the missing implementations of the new execution object architecture.
2018-05-03 14:45:22 -06:00
Matthew Letter
7e5a55881b changes typechecks for execution objects
In order to make the change from the current way execution obejcts are utilized to the new proposed executionObjectFactory process type checks now has to look for the new execution object factory class to check against.
2018-05-03 14:45:21 -06:00
Robert Maynard
4649c172c7 Merge topic 'correct_gcc_7_crashes'
f025c218 Suppress conversion warning inside Cell Interpolate code
822d4c61 Marching Cubes test doesn't abuse fall through case statements
dac7ab98 Correct a bad memcpy in ColorTable that gcc 7 found
c6726644 Reformat some test code to stop gcc 7.3 from segfaulting.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Utkarsh Ayachit <utkarsh.ayachit@kitware.com>
Merge-request: !1175
2018-05-03 10:54:08 -04:00
Dave Pugmire
6dd82d69b2 Create a new worklet for point transformations. Also provide a unitest. 2018-05-03 10:53:11 -04:00
Li-Ta Lo
d3dbdd596f remove using namespace, specify fully qualified names 2018-05-02 13:53:07 -06:00
Robert Maynard
822d4c61e1 Marching Cubes test doesn't abuse fall through case statements
The fall through case statement was causing numerous warnings
with gcc 7.
2018-05-02 13:32:02 -04:00
Robert Maynard
ac46a4ced7 Remove unused variables from UnitTestWaveletCompressor 2018-05-02 13:31:30 -04:00
Robert Maynard
eb82620539 Correct shadowing define warning from GraphConnectivity 2018-05-02 13:31:30 -04:00
Li-Ta Lo
f655e8f1f1 add overload of Run() for ArrayHandle 2018-05-01 15:48:26 -06:00
Kenneth Moreland
bb54d9d411 Merge topic 'scatter-on-dispatcher'
edc4c85f Move Scatter from Worklet to Dispatcher

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1172
2018-05-01 12:17:32 -04:00
Robert Maynard
b56894dd09 Move VTK-m Cuda backend over to a grid-stride iteration pattern.
This allows for easier host side logic when determining grid and block
sizes, and allows for a smaller library side by moving some logic
into compiled in functions.
2018-04-30 17:29:26 -04:00
Li-Ta Lo
6f85397192 Add vtkm::worklet::connectivity namespace
Created vtkm::worklet::connectivity namespace and worklets in the namespace.
2018-04-27 11:32:27 -06:00
Li-Ta Lo
ce27f5fcaa Change signature of ImageConnectivity::Run()
It takes CellSetStructured<2> and DynamicArrayHandle and uses CastAndCall
to resolve data type for pixels. Moved implementation to the RunImpl
function object.
2018-04-27 11:32:27 -06:00
Li-Ta Lo
648b0decfc add installation of header files in CMakeLists.txt 2018-04-27 11:32:27 -06:00
Li-Ta Lo
d94f2cae37 Add ImageConnectivity worklet
ImageConnectivity worklet implements a parallel connected component
labeling algorithm for 2D structured grids/images. For each pixel,
it search for the pixel's 6 neighbors and classify them as the
same connected component if their corresponding "color" field have
the same value.
2018-04-27 11:32:27 -06:00
Kenneth Moreland
edc4c85fd9 Move Scatter from Worklet to Dispatcher
Previously, when a Worklet needed a scatter, the scatter object was
stored in the Worklet object. That was problematic because that means
the Scatter, which is a control object, was shoved into the execution
environment.

To prevent that, move the Scatter into the Dispatcher object. The
worklet still declares a ScatterType alias, but no longer has a
GetScatter method. Instead, the Dispatcher now takes a Scatter object in
its constructor. If using the default scatter (ScatterIdentity), the
default constructor is used. If using another type of Scatter that
requires data to set up its state, then the caller of the worklet needs
to provide that to the dispatcher. For convenience, worklets are
encouraged to have a MakeScatter method to help construct a proper
scatter object.
2018-04-27 00:43:51 -04:00
Robert Maynard
4b9a8143c8 Correct 'may be used uninitialized in this function' warnings in wavelets 2018-04-24 13:27:51 -04:00
Robert Maynard
84386f28eb Merge topic 'correct_maybe_uninitialized_warnings'
da45e81d Make sure that WaveletTransform doesn't emit maybe-uninitialized warnings
c33bf063 RK4Integrator now properly initializes all variables.
d2001fb5 Suppress strict overflow optimization warnings.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1152
2018-04-17 14:51:34 -04:00
Robert Maynard
da45e81d9b Make sure that WaveletTransform doesn't emit maybe-uninitialized warnings 2018-04-17 14:24:19 -04:00
Robert Maynard
c33bf063f4 RK4Integrator now properly initializes all variables.
Previously the RK4Integrator could compute velocity with uninitialized inputs.
2018-04-17 14:24:19 -04:00
Robert Maynard
d2001fb52e Suppress strict overflow optimization warnings.
This warning is emitted when the compiler performs an optimization, and wants
you to verify that the presumptions it is making are valid. For this case
we can correctly promise the compiler that the values will not overflow and
the optimizations are correct.
2018-04-17 11:48:39 -04:00
Utkarsh Ayachit
7fbd020478 FieldHistogram: support using precomputed range
Updated FieldHistogram worklet to support executing the worklet using a
precomputed range. This will be needed for distributed and multiblock
use-cases.
2018-04-12 16:40:18 -04:00
Robert Maynard
73c05c10c7 Suppressions of __host__ warnings shouldn't trigger internal compile errors 2018-04-12 12:04:53 -04:00
Robert Maynard
5100e559c7 Suppress warnings about calling __host__ functions from CUDA 9.0 2018-04-12 10:31:19 -04:00
Robert Maynard
282c515ea8 Suppress warnings about calling __host__ functions from CUDA 8.0 2018-04-12 10:06:57 -04:00
Robert Maynard
8472b64e60 Suppress more CUDA host function from a host/device function warnings 2018-04-05 10:55:43 -04:00
Robert Maynard
cd333bf8dc Remove unneeded semicolon after closing parentheses on a some methods. 2018-04-05 10:55:12 -04:00
Robert Maynard
0d45c5cff2 Correct warnings found after disabling all warning when CUDA is enabled. 2018-04-04 11:00:12 -04:00
Robert Maynard
8808b41fbd Merge branch 'master' into vtk-m-cmake_refactor 2018-03-29 22:51:26 -04:00
Robert Maynard
944bc3c0d6 Introduce vtkm::cont::ColorTable replacing vtkm::rendering::ColorTable
The new and improved vtkm::cont::ColorTable provides a more feature complete
color table implementation that is modeled after
vtkDiscretizableColorTransferFunction. This class therefore supports different
color spaces ( rgb, lab, hsv, diverging ) and supports execution across all
device adapters.
2018-03-28 16:11:23 -04:00
Kenneth Moreland
1fe7869211 Resurrect function to get face indices
Due to recent changes to remove static arrays that are not supported on
some devices, the function to return all the local point indices on a
face was removed. That left no way to get the structure of cell faces
short of pulling an internal data structure.

This change resurrects a function to get point indices for a face. The
interface for this method has necessarily changed, so I also changed the
corresponding function for getting edge indices.
2018-03-22 22:37:33 -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
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
Matt Larsen
0d671bcb22 adding inverted clip unit tests 2018-03-09 13:51:28 -08:00
Matt Larsen
2daba82188 adding the ability to invert clips 2018-03-08 18:28:08 -08:00