Commit Graph

834 Commits

Author SHA1 Message Date
Kenneth Moreland
68d5d26951 Fix warnings about conversion to int8
Now that UInt8 has become part of the list of default types compiled,
there have been numerous warnings that have popped up about converting
ints to unsigned char. The reason for these is when you do arithmetic
(+, -, *, or /) on a char or short, it is automatically upconverted to a
32-bit integer. When you then try to set that back to a smaller integer,
you get a conversion warning.

This change gets around this problem by explicitly telling the compiler
we expect this type with static_cast. We have also talked about
disabling conversion warnings, but this has not happened on all
dashboards, and it is not that hard to work around the warning.
2019-03-15 10:38:15 -06:00
Kenneth Moreland
8127093a2f Add CellLocator to name of BoundingIntervalHierarchy
This will help identify the nature of this object as well as find cell
locator implementations.
2019-03-14 16:13:59 -06:00
Dave Pugmire
533f2e5eb3 Cleanup. 2019-03-14 09:39:56 -04:00
Dave Pugmire
313618c590 disable explicit 2019-03-14 05:42:26 -04:00
Dave Pugmire
b2d5d66de5 fixes for cuda stack 2019-03-13 16:41:08 -04:00
Dave Pugmire
cfd36bcd5b wrap unit test with cuda stack change. 2019-03-13 11:29:49 -04:00
Dave Pugmire
722d4262e1 extend stacksize 2019-03-13 08:17:54 -04:00
Dave Pugmire
1d6cf30bbe Replace cleangrid with grid converter. 2019-03-08 11:08:30 -05:00
Dave Pugmire
25fee68e43 Fix src in cmake file error, and explicit ds creator func. 2019-03-07 14:48:26 -05:00
Robert Maynard
a6258b63cf Revert BoundingIntervalHierarchy.hxx back into existence. 2019-03-06 14:08:35 -05:00
Dave Pugmire
2eca1d7a1d Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into gridEval 2019-03-04 14:34:11 -05:00
Li-Ta Lo
55910e5a76 Merge branch 'master' into connected_component 2019-02-28 11:31:56 -07:00
Dave Pugmire
52f75d868c add back explicit tests 2019-02-28 08:59:37 -05:00
Dave Pugmire
11fcaab15a Remove cleangrid from tests. 2019-02-26 12:19:43 -05:00
Kenneth Moreland
191d6e5580 Add Mask capabilities to worklets
Mask objects allow you to specify which output values should be
generated when a worklet is run. That is, the Mask allows you to skip
the invocation of a worklet for any number of outputs.
2019-02-25 08:58:39 -07:00
Dave Pugmire
337247ad40 Add back BIH support. 2019-02-20 15:37:42 -05:00
Kenneth Moreland
ddc6c91e37 Fix error about constexpr not available on CUDA device
For some reason, these changes caused one of the CUDA compilers to
create an error about a variable declared constexpr not being available
on the device. That sounds like a bug in nvcc as the constexpr should
just be evaluated rather than stored in some part of memory. At any
rate, changing the constexpr to a preprocessing macro solves the
problem.
2019-02-20 13:33:55 -07:00
Dave Pugmire
9101f690d8 fully rip out BIH for clean dashboards. 2019-02-20 09:18:46 -05:00
Dave Pugmire
e0ba2fc13a Remove BIH to test builds. 2019-02-19 16:31:41 -05:00
Dave Pugmire
6779b91038 remove unstructured tests temporarily. 2019-02-19 12:02:48 -05:00
Dave Pugmire
676689ed11 temporary disable unstructured grids. 2019-02-19 11:45:15 -05:00
Dave Pugmire
314ebd3dc6 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into gridEval 2019-02-18 14:38:37 -05:00
Haocheng LIU
415252c662 Introduce asynchronous and device independent timer
The timer class now is asynchronous and device independent. it's using an
similiar API as vtkOpenGLRenderTimer with Start(), Stop(), Reset(), Ready(),
and GetElapsedTime() function. For convenience and backward compability, Each
Start() function call will call Reset() internally and each GetElapsedTime()
function call will call Stop() function if it hasn't been called yet for keeping
backward compatibility purpose.

Bascially it can be used in two modes:

* Create a Timer without any device info. vtkm::cont::Timer time;

  * It would enable timers for all enabled devices on the machine. Users can get a
specific elapsed time by passing a device id into the GetElapsedtime function.
If no device is provided, it would pick the maximum of all timer results - the
logic behind this decision is that if cuda is disabled, openmp, serial and tbb
roughly give the same results; if cuda is enabled it's safe to return the
maximum elapsed time since users are more interested in the device execution
time rather than the kernal launch time. The Ready function can be handy here
to query the status of the timer.

* Create a Timer with a device id. vtkm::cont::Timer time((vtkm::cont::DeviceAdapterTagCuda()));

  * It works as the old timer that times for a specific device id.
2019-02-05 12:01:56 -05:00
Dave Pugmire
96460fc5ef Fix compile error after .hxx file was deleted. 2019-01-31 09:14:55 -05:00
Dave Pugmire
8a1ac3a8d8 Add a single grid evaluator class for particle advection. 2019-01-30 13:47:27 -05:00
Kenneth Moreland
6ea55f838b Merge topic 'vtkm_worklet-library'
55570a16a Add most common implementations of Keys templates to library
887f79c6f Make a vtkm_worklet library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1520
2019-01-26 21:08:21 -05:00
Robert Maynard
002bd34197 Improve the compile time of WorkletMap* unit tests
By restricting the possible variant types we can dramatically
improve compile time performance.
2019-01-25 08:23:02 -05:00
Kenneth Moreland
887f79c6f4 Make a vtkm_worklet library
This is a library that contains parts of worklets that can be
precompiled into a library.

Currently, this library contains the implementation of ScatterCounting.
2019-01-23 17:09:15 -07:00
Robert Maynard
c36b45435b Add UnitTestWorkletMapFieldWholeArrayAtomic
This covers the atomic tests that was previously part of WorkletMapFieldWholeArray
2019-01-18 13:30:37 -06:00
Kenneth Moreland
b2e20bf90e Fix issues from removing field type templates
The script fixed up most of the issues. However, there were some
instances that the script was not able to pick up on. There were
also some instances that still needed a means to select types.
2019-01-11 12:23:19 -07:00
Kenneth Moreland
2e426ad547 Run the update-control-signature-tags.sh script 2019-01-11 12:23:10 -07:00
Haocheng LIU
5251091e54 Remove compile time adapter checks in UnitTestBoundingIntervalHierarchy 2019-01-03 09:22:35 -05:00
Robert Maynard
bef70820c9 Update new worklets to work with ArrayHandleVariant 2018-12-27 14:35:56 -05:00
Robert Maynard
0a40c620ac Rename ArrayHandleVariant to VariantArrayHandle. 2018-12-27 14:35:56 -05:00
Robert Maynard
f63be1abe6 Update vtkm/filter to work with ArrayHandleVariant 2018-12-27 14:35:56 -05:00
Robert Maynard
eed321aad0 Update vtkm/worklet to work with ArrayHandleVariant 2018-12-27 14:35:56 -05:00
Robert Maynard
161ffdff3a Move zfp helper functions to zfp namespace and remove debug code 2018-12-21 16:36:09 -05:00
Allison Vacanti
58509f647e Store return value after parameters.
This allows execution signatures like

using ExecutionSignature = _1(_1, ...)

to work as expected.
2018-12-21 11:37:45 -05:00
Abhishek Yenpure
80fffd1d64 Merge topic 'visit_clipping'
977d0cdb2 Removing redundant code line
33a04c34c Fixing variable name according to standard
2b4801239 Moving ClipTables
d1d495d43 Fixing warnings
e340cdf88 Fixing warnings
d0cf80bdd Updating tests for the new Clip tables
831914f31 Fising warnings
1ca02af98 Removing whitespaces
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1476
2018-12-19 13:12:23 -05:00
Mark Kim
3dae0b08fd CUDA can still be finicky. 2018-12-17 19:48:57 -05:00
Mark Kim
e7c1151c74 So many warnings. 2018-12-17 17:54:26 -05:00
Mark Kim
59b1efaf44 Testing output. 2018-12-17 17:07:50 -05:00
Mark Kim
20328534b5 clean up warnings. 2018-12-13 14:49:38 -05:00
Mark Kim
a6bcf8a0ab something's not quite right. 2018-12-13 14:49:38 -05:00
Mark Kim
ce44a4d183 better tests. 2018-12-13 14:49:38 -05:00
Mark Kim
8a9bfcba1b zfp 1d worklet. 2018-12-13 14:49:38 -05:00
Mark Kim
95636ff2cd decode/encode 2d. 2018-12-13 14:49:37 -05:00
mclarsen
aa891c58a7 fixed decompression porting bugs 2018-12-13 14:49:37 -05:00
mclarsen
37cba9e99f adding path for decompress 2018-12-13 14:49:37 -05:00
mclarsen
0c788b92a2 fixed error with integer types 2018-12-13 14:49:37 -05:00
mclarsen
584b36d64e adding partial gather3 2018-12-13 14:49:37 -05:00
mclarsen
4650881f58 something 2018-12-13 14:49:37 -05:00
mclarsen
bcd0150e9e save point 2018-12-13 14:49:36 -05:00
mclarsen
1c45e48fac compression working and benchmarked 2018-12-13 14:49:36 -05:00
mclarsen
c01e1b7349 debugging cuda failure 2018-12-13 14:49:36 -05:00
mclarsen
8cd7c5db32 fixed the gather 2018-12-13 14:49:36 -05:00
mclarsen
ea9bef19da init zfp 2018-12-13 14:49:36 -05:00
Li-Ta Lo
2af1162a01 Merge branch 'master' into connected_component 2018-12-12 14:12:34 -07:00
ayenpure
d0cf80bddd Updating tests for the new Clip tables 2018-12-08 11:57:34 +05:30
Robert Maynard
dd0cbc3689 Merge topic 'disable_cuda_optimizations_for_UnitTestBoundingIntervalHierarchy'
a9c151188 Disable ptxas for CUDA 8 && 9 for UnitTestBoundingIntervalHierarchy.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1465
2018-12-07 08:28:04 -05:00
Li-Ta Lo
c75ec7bfc7 Updated unit tests, add filter interface 2018-12-04 16:42:34 -07:00
Li-Ta Lo
5000ef459b Fixed pre-mature termination of the image connectivity algorithm
The previous algorithm terminates based on if all pixels are in a root star. It turns out to be in
sufficient and thus terminates much earlier than it is required.
2018-12-03 13:46:21 -07:00
Kenneth Moreland
82536092cc Rename boundary classes
Did a bit of renaming of the support classes used for
WorkletPointNeighborhood. First, the OnBoundary tag is changed to
Boundary to match other tags and reflect some changes in the resulting
methods. Also moved the BoundaryState and Neighborhood classes from
vtkm::exec::arg to vtkm::exec to be more accessible. Finally, the
Neighborhood class name was changed to FieldNeighborhood to be more
specific on what role this class plays with neighborhood.
2018-12-03 12:45:23 -07:00
Kenneth Moreland
01a9e85416 Change WorkletPointNeighborhood to specify neighborhood at runtime
Previously, WorkletPointNeighborhood had a template argument to select
the size of the neighborhood. This change removes that template
argument. Instead, the vtkm::exec::arg::BoundaryState methods now take
in a size parameter when determining when it overlaps the boundary.

If in the future we want to add the ability to select the neighborhood
size at compile-time (for performance reasons), I suggest adding this
template argument to the OnBoundary tag for ExecutionSignature.
2018-12-03 12:45:23 -07:00
Haocheng LIU
0d39806f4f Rename worklet testing executable
Now it's in accordance with vtkm testing name convension as
UnitTests_vtkm_worklet_testing.
2018-11-29 15:51:41 -05:00
Robert Maynard
a9c1511888 Disable ptxas for CUDA 8 && 9 for UnitTestBoundingIntervalHierarchy. 2018-11-28 11:14:59 -05:00
Haocheng LIU
8859636672 Merge worklet testing executables into a device dependent shared library
VTK-m has been updated to replace old per device worklet testing executables with a device
dependent shared library so that it's able to accept a device adapter
at runtime.
Meanwhile, it updates the testing infrastructure APIs. vtkm::cont::testing::Run
function would call ForceDevice when needed and if users need the device
adapter info at runtime, RunOnDevice function would pass the adapter into the functor.

Optional Parser is bumped from 1.3 to 1.7.
2018-11-23 10:13:56 -05:00
Kenneth Moreland
86a747a117 Add ability to customize filter policy to auxiliary input fields
The field infrastructure has a "trait" that specifies the valid types
for the default active scalar field. Most filters have at most one input
field. The majority of the remaining filters use the same types for
inputs. There are some examples, however, where some auxiliary fields
use different types. This change adds a second template parameter to
FieldTraits to customize the valid types of the input scalar field to
different fields.

These changes are in anticipation of the removal of list specifier tags
on worklet ControlSignature arguments.
2018-10-31 23:51:36 +01:00
Matthew Letter
5426ae0ed3 added runtime device tracker force
added `vtkm::cont::GetGlobalRuntimeDeviceTracker().ForceDevice(VTKM_DEFAULT_DEVICE_ADAPTER_TAG());`
2018-10-24 11:19:52 -06:00
Matthew Letter
cb03238804 removed device from run function for AverageByKey
I also cleaned up the unit test to no longer pass the device
2018-10-24 10:28:12 -06:00
Robert Maynard
cd6367646c ParticeAdvection for cuda <= 9 now built without ptxas optimizations
The ParticleAdvection code would always cause cuda 9's ptxas phase
to crash, so we disable optimization to work around this issue
2018-10-18 11:19:23 -04:00
Kenneth Moreland
f4f5dcb74c Fix warnings about using template outside of a template
Previously, UnitTestProbe used a struct templated on the device adapter,
and that necessitated the use of the template keyword when using an
ambiguous type. These recent changes remove that template argument and
thus can cause a warning about using the template keyword in a non-
ambiguous type.
2018-10-16 22:41:19 -06:00
Kenneth Moreland
bddad9b386 Remove TryExecute from filters
Now that the dispatcher does its own TryExecute, filters do not need to
do that. This change requires all worklets called by filters to be able
to execute without knowing the device a priori.
2018-10-16 15:59:53 -06:00
Kenneth Moreland
f3b923a597 Temporarily remove UnitTestParticleAdvection.cxx from CUDA tests
The CUDA compiler is giving us grief while compiling
UnitTestParticleAdvection.cxx even though the code is correct. Disable
it for now until we figure out what can be done with the compiler.
2018-10-16 10:42:45 -06:00
Kenneth Moreland
d49c29cef9 Make particle advection integrators and evaluators ExecObject
By making these helper classes ExecObject, they no longer need to have a
device to be constructed. This is important for future plans to make the
filters not determine a device adapter now that dispatchers no longer
require a device adapter.
2018-10-16 09:53:18 -06:00
Kenneth Moreland
a2602183a4 Make integrators have a virtual superclass
This will make it easier to support integrators as an ExecObject.

One side effect is that the integrators and partical advection
are not templated by the type of the field.
Regardless of the type of the field, there is probably little reason to
compute particle advection with less than 64 bit floats to account for
accumulated errors. This will make it easier to use these classes.
2018-10-16 09:53:18 -06:00
Haocheng LIU
246a58309c Add a split sharp edge worklet and filter
It's a filter that Split sharp manifold edges where the feature angle
between the adjacent surfaces are larger than the threshold value.
When an edge is split, it would add a new point to the coordinates
and update the connectivity of an adjacent surface.
Ex. there are two adjacent triangles(0,1,2) and (2,1,3). Edge (1,2) needs
to be split. Two new points 4(duplication of point 1) an 5(duplication of point 2)
would be added and the later triangle's connectivity would be changed
to (5,4,3).
By default, all old point's fields would be copied to the new point.
Use with caution.
2018-10-09 15:33:47 -04:00
Robert Maynard
12b90c434b Rename PPP2 to Augmented. 2018-09-26 10:48:37 -07:00
Oliver Ruebel
2370a6cc5d Refactor the PPP2 work based on Code Review and add UnitTests. 2018-09-18 08:54:22 -04:00
Kenneth Moreland
d879188de0 Make DispatcherBase invoke using a TryExecute
Rather than force all dispatchers to be templated on a device adapter,
instead use a TryExecute internally within the invoke to select a device
adapter.

Because this removes the need to declare a device when invoking a
worklet, this commit also removes the need to declare a device in
several other areas of the code.
2018-08-29 19:18:54 -07:00
Robert Maynard
35145fedb4 Re-enable UnitTestBoundingIntervalHierarchy 2018-08-28 13:45:02 -04:00
Allison Vacanti
b50dc297b1 Fix off-by-one error in WaveletGen extents.
Dimensions now match VTK's vtkRTAnalyticSource.
2018-08-21 14:21:42 -04:00
Haocheng LIU
39f791e6ee Disable the UnitTestBoundingIntervalHierarchy test 2018-08-10 14:19:06 -04:00
Robert Maynard
2c6ca906f1 Enable building the worklets when OpenMP is enabled. 2018-07-23 14:33:03 -04:00
Kenneth Moreland
b4bfb95131 Merge topic 'atomic-array-device-execution'
96ae94420 Simplified execution object creation for atomic array
0bd197af9 moved TwoLevelUniformGridExecutionObject to vtkm/exec/internal
6ce895be8 simplified how atomic arrays create execution objects
f1ee5b92a fix a rebase error
25d140361 fix bad rabse for wireframer
f892695f1 fixing so wierd merging issue
9bb00ec66 moved the execution object for TwoLevelUniform grid to vrkm::exec
db1c9bfee Change the namespacing of atomic array
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1243
2018-07-18 18:08:05 -04:00
Allison Vacanti
3089609b98 Merge topic 'wavelet_source'
0d6834476 Add WaveletGenerator worklet.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1310
2018-07-16 11:27:30 -04:00
Allison Vacanti
0d68344769 Add WaveletGenerator worklet. 2018-07-13 14:20:49 -04:00
Haocheng LIU
56993bc9e2 Add a warpScalar worklet and filter
This commit adds a worklet as well as a filter that modify point coordinates by moving points
along point normals by the scalar amount times the scalar factor.
It's a simpified version of the vtkWarpScalar class in VTK. Additionally the filter doesn't
modify the point coordinates, but creates a new point coordinates that have been warped.
2018-07-09 15:33:25 -04:00
Haocheng LIU
a4c4c1931c Add a warpVector worklet and filter
This commit adds a worklet as well as a filter that modify point coordinates by moving points
along a vector by a certain scalar amount.
It's a simpified version of the vtkWarpVector in VTK.
It doesn't modify the point coordinates, but creates a new point coordinates that have been warped.
2018-07-09 14:22:12 -04:00
Robert Maynard
64958b014b VTK-m now supports passing pointers when invoking worklets.
The original design of invoke and the transport infrastructure
relied on the implementation behavior of vtkm::cont types
such as ArrayHandle that used an internal shared_ptr to managed
state. This allowed passing by value instead of passing by
non-const ref when needing to transfer information to the device.

As VTK-m adds support for classes that use virtuals the ability
to pass by base pointer type allows for us to invoke worklets
using a base type without the risk of type slicing.

Additional by moving over to a non-const ref Invocation we
can update all transports that have 'output' to now be
by ref and therefore support types that can't be copied while
being 'more' correct.
2018-07-06 14:27:36 -04:00
Matthew Letter
db1c9bfeee Change the namespacing of atomic array
moved the execution object to vtkm::exec and AtomicArray to vtkm::cont
2018-07-02 16:25:48 -06:00
ayenpure
e2dccee099 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into spatialsearch 2018-06-30 11:56:33 -06:00
ayenpure
e0296a24b6 Fixes for resolving Rob's suggestions
- Releasing GPU resources when not needed.
- Adding VTK_EXEC to TreeNode and SplitProperties constructors
2018-06-29 15:55:23 -07:00
Abhishek Yenpure
dcbb444a74 Warning fixes for BoundingIntervalHierarchy
- Adding VTKM_CONT_EXPORT to CellLocator
- Removing whitespaces
- Fixing warnings of unused typedef
2018-06-29 14:51:50 -06:00
Abhishek Yenpure
50963290dc Moving BoundingIntervalHierarchy.cxx to device sources
Rectifying print statements in the unit test
2018-06-29 10:46:31 -07:00
ayenpure
2714da8f0e Adding changes suggested by Rob on GitLab
- Seperate BoundingIntervalHierarchy.h into
  - BoundingIntervalHierarchy.h
  - BoundingIntervalHierarchy.hxx
  - BoundingIntervalHierarchy.cxx
2018-06-29 09:09:24 -06:00
Dave Pugmire
912d393b07 Merge topic 'coordSysFilter'
80b12e325 Merge branch 'coordSysFilter' of https://gitlab.kitware.com/dpugmire/vtk-m into coordSysFilter
ab5eeab18 Fixes for making the filters non-templated.
27dade145 Fixes for coordinate systems w/ help from Sujin.
db5ded3a6 Add files for coord sys transform filters.
17087a26a Filter for coordinate system transform.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1284
2018-06-28 05:23:21 -04:00
Abhishek Yenpure
72d4556f7d Adding changes for Ken's review from GitLab
- Reducing the stack allocation for CUDA for the BIH unit test
- Adding changes from Ken's review
- Suppress ptxas stack size warning for BoundingIntervalHierarchy
2018-06-27 22:40:13 -06:00
Haocheng LIU
29fb7e4024 Fix the documentation in NDEntropy and NDhistogram filters 2018-06-26 11:19:00 -04:00
dave_pugmire
ab5eeab18a Fixes for making the filters non-templated. 2018-06-25 19:29:18 +02:00
ayenpure
7a122f23b4 Fixing Problems with Locators
-Fix missing copyright statements
-Updating the PointLocator interface
-Updating the Cell Locator unit test to use less memory and finish early
2018-06-24 14:55:11 -06:00
dave_pugmire
27dade1453 Fixes for coordinate systems w/ help from Sujin. 2018-06-24 16:29:20 -04:00
ayenpure
f018a8a7d1 Removing unnecessary print statements
- Removing debug print statements from the Bounding Inteval Hierarchy Cell
  Locator
2018-06-23 18:49:57 -06:00
Dave Pugmire
9fd821ed92 Template on DeviceAdapter. 2018-06-21 10:00:13 -04:00
Dave Pugmire
961f6a5851 Add coordinate system transformation. 2018-06-20 16:40:47 -04:00
ayenpure
d8e8078099 Fixing the typos with ScanExclusiveByKey
- Fixed the typo
- Moved the test to vtkm/worklet/testing as vtkm/cont/testing does not execute with CUDA
2018-06-15 16:39:00 -07:00
luz.paz
940c891886 Misc. typos
Found via `codespell` and `grep`
more typos

includes source typo change and a typo that needs further review
follow-up typos


Follow-up typos


Revert a commit
2018-06-14 16:49:11 -04:00
ayenpure
18579394ed Moving Files for proper CellLocator/PointLocator APIs
-Changing the existing CellLocator.h to CellLocatorHelper.h,
 it's used by CellLocatorTwoLevelUniformGrid.h

-Changing unit tests and worklets that use CellLocator.h to use CellLocatorHelper.h
2018-06-04 19:51:54 -07:00
ayenpure
a0504405a2 Merge branch 'bih' of https://gitlab.kitware.com/mmathai/vtk-m into spatialsearch 2018-06-02 13:47:15 -07:00
Allison Vacanti
93506d25e2 Change function signatures to use 'using' aliases.
Also cleaned up some lingering type typedefs.
2018-05-25 17:18:41 -04:00
Haocheng LIU
5c797169ec Use the strong typed enums for vtkm::cont::Field
Since Field association is used either when creating or working
with 'vtkm::cont::Field', it's put in the class itself.
2018-05-22 11:44:51 -04:00
Abhishek Yenpure
7291327e98 Merge topic 'fix_warnings'
3f08c444 Fixing warnings introduced by MR 1165

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1212
2018-05-18 20:02:34 -04:00
ayenpure
3f08c44436 Fixing warnings introduced by MR 1165 2018-05-18 12:25:52 -07:00
David Thompson
52a1495859 Fix cell measure when using double precision as default. 2018-05-18 14:05:06 -04:00
Abhishek Yenpure
ffe7f67e52 Merge topic 'temporalparticleadvection'
7188c6ef Removing bad whitespace from TemporalGridEvaluators.h
bc405366 Fixing header guard warning
b39ee80b Fix errors missed/introduced in previous commit.
eb2ed4f2 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection
24dd0638 Fixing merge mess for particle advection
78118a84 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection
129e320d Replicating Rob's changes from the master
40fe133d Fix compile warnings for Temporal Advection
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dave Pugmire <dpugmire@gmail.com>
Merge-request: !1165
2018-05-17 13:25:15 -04:00
David Thompson
00c7905afb Rename vtkm::dot() to vtkm::Dot().
This keeps the old name around but prepares it for removal
in the next release.
2018-05-17 08:51:01 -04:00
David Thompson
dd7c17f776 Compute cell measures (arc length, area, volume).
This commit adds a worklet and a filter to compute
signed integral measures of cells.

It also begins the practic of adding a markdown
changelog entry in `doc/changelog`. See the
changelog entry for details.
2018-05-17 08:50:56 -04:00
ayenpure
eb2ed4f275 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection 2018-05-15 11:46:26 -07:00
Robert Maynard
0a26f3749e Merge topic 'image_connectivity_warnings'
21b80a5d UnitTestImageConnectivity now uses size_t to index to std::vector
44382300 Make sure all tests use the .cxx extension.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Utkarsh Ayachit <utkarsh.ayachit@kitware.com>
Merge-request: !1190
2018-05-08 15:37:24 -04:00
Utkarsh Ayachit
593061cfb0 UnitTestPointTransform: fix errors when using double as float type. 2018-05-08 14:52:23 -04:00
Robert Maynard
21b80a5dcd UnitTestImageConnectivity now uses size_t to index to std::vector 2018-05-08 13:52:54 -04:00
Robert Maynard
443823007c Make sure all tests use the .cxx extension. 2018-05-08 13:52:32 -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
ayenpure
78118a840f Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into temporalparticleadvection 2018-05-07 11:00:52 -07: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
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
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
ayenpure
3134fef54b Bug fixes out of Particle Advection unit test
- PushOutOfDomain would loop over without exiting indefinately utilizing all max steps.
  It's supposed to execute only once the particle goes out of spatio-temporal boundary.
- Removing the check for the steamlines polyline points to be same as the maxSteps from
  the unit test, as if the particle has already taken some steps, then the polyline
  points written out will always be lower than the total number of steps taken by the
  current node.
2018-04-21 20:32:42 -07:00
ayenpure
c53d6ec216 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into pathsurfaces 2018-04-18 22:18:34 -07:00
ayenpure
4cf9942d44 Updating temporal advection example
- renaming long directory name to something concise
- Adding Dave's Unit test for particle advection
- Fixing really trivial issues
2018-04-18 22:06:40 -07:00
ayenpure
faf8c8337a Adding Temporal Advection improvements
- Adding code to support taking short steps (minimize boundary errors)
- Adding time of advection to the particle from the Integrator
- API changes for TakeStep
	- TakeStep should only care about the maximum steps as it's a field on a Particle
	- The check for out of temporal and spatial bounds has been moved to the Worklet
- Changing some of the internal APIs for supporting these new features/fixes
- Changing inheritance in the Integrators class to be more obvious than something convoluted
2018-04-18 21:01:08 -07:00
Robert Maynard
8808b41fbd Merge branch 'master' into vtk-m-cmake_refactor 2018-03-29 22:51:26 -04:00
ayenpure
077988aeb4 Adding working temporal interpolation 2018-03-23 00:49:32 -07: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
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
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
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
e630ac5aa4 Merge branch 'master' into vtk-m-cmake_refactor 2018-02-23 14:52:00 -05:00
Robert Maynard
182f4707e7 vtkm prefers 'using' over typedef. 2018-02-23 10:47:20 -05:00
Sujin Philip
9e466f8cd2 Merge topic 'add-probe'
34bae569 Add Probe worklet and filter
4cd306ea Fix a bug in CellLocator
cf1957ca Add make_VecFromPortalPermute

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1064
2018-01-30 15:08:49 -05:00
Sujin Philip
34bae5690d Add Probe worklet and filter 2018-01-30 10:43:18 -05:00
luz.paz
80b11afa24 Misc. typos
Found via `codespell -q 3` via downstream VTK
2018-01-30 06:51:47 -05:00
Li-Ta Lo
8622a2423c Merge topic 'connected_component'
bdb9c37e update based on issues pointed out by Robert
a713a0d8 Generalize and documentation for DeviceAdapterAlgorithm::Transform
29232c49 Revert un-intended change to examples
7ef956a9 Merge branch 'master' into connected_component
a9ed1ecf add CMakeLists.txt for header files
ba3cba64 update copyright statements
aa96874e Merge branch 'connected_component' of gitlab.kitware.com:ollielo/vtk-m into connected_component
2f07119e Merge branch 'master' into connected_component
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1044
2018-01-17 15:31:10 -05:00
Li-Ta Lo
bdb9c37ec4 update based on issues pointed out by Robert 2018-01-17 11:12:32 -07:00
Robert Maynard
0660c67fef Merge branch 'master' into vtk-m-cmake_refactor 2018-01-16 15:42:28 -05:00
Robert Maynard
067dad41df Add ScalarsToColors worklet(s)
The ScalarsToColors is the first step in reproducing the color
capability that exists in VTK. The next step after this is to
provide a comparable lookup table.
2018-01-16 13:03:41 -05:00
Li-Ta Lo
7ef956a934 Merge branch 'master' into connected_component 2018-01-11 09:10:37 -07:00
Sujin Philip
70fcd1d1cc Update CoordinateSystem to use the Virtual Array 2018-01-10 10:19:19 -05:00
Robert Maynard
004bfe7b12 Prefer using existence of targets when looking for TBB/CUDA support 2018-01-08 14:00:57 -05:00
Robert Maynard
b2c03ad858 Unit_tests are built with the correct compiler when cuda is enabled.
Previously all the Unit_tests that shared source files would use cuda
once CUDA set the language on the file.
2018-01-08 14:00:57 -05:00
Li-Ta Lo
ba3cba64e6 update copyright statements 2018-01-03 14:29:06 -07:00
Li-Ta Lo
aa96874e82 Merge branch 'connected_component' of gitlab.kitware.com:ollielo/vtk-m into connected_component 2018-01-03 11:30:28 -07:00
Li-Ta Lo
746c98e6c8 fix merge conflict with master branch, update to control signature 2018-01-03 11:27:13 -07:00
Li-Ta Lo
2a9439ab1e Merge branch 'master' into connected_component 2018-01-02 17:59:19 -07:00
Li-Ta Lo
cf070581f3 Update UnitTestInnerJoin.cxx 2018-01-02 19:24:10 -05:00
Li-Ta Lo
6b0d73e16c Update UnitTestCellSetDualGraph.cxx 2018-01-02 19:23:32 -05:00
Li-Ta Lo
b4db862cd1 Update UnitTestCellSetConnectivity.cpp 2018-01-02 19:22:54 -05:00
Li-Ta Lo
4c2ef4f89b factor out CellSetConnectivity worklet, cleanup 2018-01-02 16:44:35 -07:00
Robert Maynard
a81919999a Merge topic 'vtkm_host_device_warnings'
93bc0198 Suppress false positive warnings about calling host device functions.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1042
2018-01-02 14:10:54 -05:00
Robert Maynard
93bc0198fe Suppress false positive warnings about calling host device functions. 2018-01-02 10:40:49 -05:00
Sujin Philip
39dd8feeac Merge topic 'fix-ExecutionWholeArray-usage'
6b190312 Cleanup includes of ExecutionWholeArray.h
3e10b504 Replace ExecutionWholeArray with WholeArray

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1039
2018-01-02 10:32:43 -05:00
Sujin Philip
6b19031200 Cleanup includes of ExecutionWholeArray.h 2018-01-02 10:30:16 -05:00
Sujin Philip
3e10b504e6 Replace ExecutionWholeArray with WholeArray 2018-01-02 10:30:16 -05:00
Robert Maynard
24e57556e6 Merge branch 'master' into vtk-m-cmake_refactor
Includes updating to cleanup benchmark code and handle the new MPI option
2017-12-28 14:23:21 -05:00
Dave Pugmire
2537a1cf56 Worklets for cross and dot product. 2017-12-22 15:20:20 -05:00
Li-Ta Lo
2e88f4220a Connected component for triangle mesh 2017-12-22 10:31:02 -07:00
Sujin Philip
334262db16 Fix Field constructors
1. Add option to copy user supplied array in make_ArrayHandle.
2. Replace Field constructors that take user supplied arrays with make_Field.
3. Replace CoordinateSystem constructors that take user supplied arrays with
   make_CoordinateSystem.
2017-12-21 12:48:15 -05:00
Robert Maynard
a6ec3ab093 Merge topic 'enable_all_point_gradient_tests'
a73fc3fd Enable all point gradient worklet tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1031
2017-12-20 08:25:23 -05:00
Robert Maynard
a73fc3fd0a Enable all point gradient worklet tests 2017-12-19 16:31:47 -05:00
Dave Pugmire
c6a4e335d9 Normalize worklet (both in place, and copy). 2017-12-19 11:44:30 -05:00
Matthew Letter
fac43bd812 Merge branch 'master' into cmake_refactor 2017-11-28 13:36:02 -07:00
Manish Mathai
a8c811779a Add timers 2017-11-21 12:02:02 -08:00
Manish Mathai
7c7d37134c Implementation of boundary interval hierarchy 2017-11-14 17:11:38 -08:00
Sujin Philip
8c242cef91 Switch from faux to true virtuals 2017-11-06 15:25:29 -05:00
Matthew Letter
24d0e7766e Merge remote-tracking branch 'remotes/origin/master' into cmake_refactor 2017-10-31 16:57:41 -06:00
Sujin Philip
5842da4921 Remove ArrayHandle CopyInto
Fixes #170
2017-10-27 17:28:59 -04:00
Robert Maynard
56c7362258 A thought on what CMake 3.9 would mean to VTK-m. 2017-10-27 15:29:51 -04:00
Allison Vacanti
8fabece187 Use median point from cluster as representative vertex.
Also uses the recently added StableSortIndices worklet to produce the
cell map.
2017-10-10 10:28:51 -04:00
Allison Vacanti
c7bf0c95f4 Compute PointIdMap while reducing cluster ids. 2017-10-10 10:28:51 -04:00
Allison Vacanti
3f4e17e2a2 Add field mapping to VertexClustering. 2017-10-10 10:28:51 -04:00
Kenneth Moreland
e149dcf1c1 Specify device adapter for array copy in worklet tests
Rob noticed a degridation in performance in some worklet tests when
ArrayCopy was added. I hypothesize that this slowdown is doing the array
copy with TBB instead of serial in the serial tests. (There have been
some checks in the existing code to suggest that some operations in TBB
can be slower than serial.) This change forces the array copy to be on
the device for which we are testing.
2017-10-03 14:18:39 -07:00
Kenneth Moreland
2625ae7866 Update VTK-m source to use new ArrayCopy functionality 2017-09-25 16:54:46 -06:00
Robert Maynard
311618a15f Enable highest level of warnings(W4) under MSVC
This will make VTK-m warning level match the one used by VTK. This commit
also resolves the first round of warnings that W4 exposes.
2017-09-22 13:04:28 -04:00
Kenneth Moreland
c3a3184d51 Update copyright for Sandia
Sandia National Laboratories recently changed management from the
Sandia Corporation to the National Technology & Engineering Solutions
of Sandia, LLC (NTESS). The copyright statements need to be updated
accordingly.
2017-09-20 15:33:44 -06:00
Li-Ta Lo
00008f1106 fixed correctness bug introduced previously 2017-09-19 13:30:07 -06:00
Li-Ta Lo
1eaaf342ef Merge branch 'master' into kdtree_docs 2017-09-18 13:19:55 -06:00
Li-Ta Lo
1d4b43b540 Add documentation
Add doxygen documentations for public interface of KD-Tree construction and search.
Also fixed several const-correctness issues.
2017-09-18 13:16:37 -06:00
Li-Ta Lo
de5f9d1c97 Merge topic 'NDHistogram'
bc1096d8 Update new interface to NDHistogram, NDEntropy worklet and filter
317cff0d Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m into NDHistogram
fd30187d Add 'N-dimensional histogram, histogram marginalization and entropy calculation worklets and filters'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !847
2017-09-14 10:42:30 -04:00