Commit Graph

545 Commits

Author SHA1 Message Date
Kenneth Moreland
28b866920f Merge branch 'reduce-by-key-worklet' into 'master'
Reduce by Key Worklet Type

See merge request !645
2017-01-19 16:25:06 -05:00
Thomas J. Otahal
556b922733 Created a filter for the vector magnitude worklet.
Modified the vector magnitude worklet to accept VecAll instead
of Vec3 and return Scalar. Modified the Magnitude() and Sqrt() functions
to return FloatDefault for all inputs except for Float64.

Perhaps we should modify other functions in Math.h and VectorAnalysis.h to
return float types for intergral arguments instead of integral types?
2017-01-19 13:27:42 -07:00
Kenneth Moreland
d6eb477a45 Minor fixes to UnitTestWorkletReduceByKey 2017-01-17 15:53:17 -07:00
Kenneth Moreland
72b85559c2 Add ReducedValues[In][Out] tags to WorkletReduceByKey 2017-01-17 15:53:13 -07:00
Kenneth Moreland
ffa3b167b5 Add ValueCount tag to WorkletReduceByKey 2017-01-17 15:53:10 -07:00
Kenneth Moreland
add10f56cf Add Value[In][Out] tags for WorkletReduceByKey
This lets you give arrays of values paired with the keys that will be
grouped into (hopefully) small Vecs.
2017-01-17 15:53:08 -07:00
Kenneth Moreland
58eb8f168d Add WorkletReduceByKey and dispatcher
And the basic type for a reduce by key worklet and its associated
adapter. Right now the worklet only supports passing in keys. Values
come next.
2017-01-17 15:53:06 -07:00
Kenneth Moreland
cd64b69a55 Add Keys class
This class will manage the keys during a reduce-by-key worklet
execution.
2017-01-17 15:53:04 -07:00
Robert Maynard
4a56e9f129 Merge branch 'contour-tree' into 'master'
Contour tree

See merge request !658
2017-01-17 17:00:54 -05:00
Kenneth Moreland
713cf4228a Make it not possible to create a cell set without specifying num points
The CellSetExplicit and CellSetSingleType classes have an ivar that
marks the number of points. There were several instances of code
creating cell sets without specifying the number of points. This can be
very bad if subsequent code needs that information.
2017-01-12 13:02:10 -07:00
Patricia Kroll Fasel - 090207
b3b5149b28 Use cont/testing/MakeTestDataSet.h and add contour tree tests.
Remove worklet/contourtree/PrintVectors.h from CMakeLists.txt.
2017-01-12 10:40:29 -07:00
Patricia Kroll Fasel - 090207
62a1cceea6 Add file that creates test data sets and use that instead for contour tree. 2017-01-09 15:50:23 -07:00
Patricia Kroll Fasel - 090207
f6140c39e2 Add LANL/LLC copyright notification. 2017-01-09 14:53:59 -07:00
Patricia Kroll Fasel - 090207
9412584bf2 First implementation of contour tree 2D and 3D, serial and cuda. 2017-01-09 13:54:47 -07:00
Kenneth Moreland
02bf444dc2 Test that the array transports check the size of input arrays 2016-12-19 17:30:41 -07:00
Robert Maynard
daa75d744b Add a PointAverage worklet which is the twin to CellAverage. 2016-12-14 14:05:50 -05:00
Robert Maynard
839d8e8392 CellAverage first control parameter is now the cellset.
This was done so that it consistently matches other cell based worklets,
and the majority of examples inside the VTK-m Users Guide.
2016-12-14 14:04:57 -05:00
Robert Maynard
134f24496b Add a point gradient worklet. 2016-12-12 13:26:16 -05:00
Kenneth Moreland
ce338d1484 Add a worklet for copying cell sets 2016-11-22 17:15:10 -07:00
Kenneth Moreland
b175468082 Add RemoveUnusedPoints class
RemoveUnusedPoints contains a couple of worklets and some helper methods
to compact the points in a CellSetExplicit. This is helpful when you
have an operation that creates new cells but might not use all the
original points of the inputs.
2016-11-22 17:11:52 -07:00
Kenneth Moreland
fdaccc22db Remove exports for header-only functions/methods
Change the VTKM_CONT_EXPORT to VTKM_CONT. (Likewise for EXEC and
EXEC_CONT.) Remove the inline from these macros so that they can be
applied to everything, including implementations in a library.

Because inline is not declared in these modifies, you have to add the
keyword to functions and methods where the implementation is not inlined
in the class.
2016-11-15 22:22:13 -07:00
Robert Maynard
8dadf560cd Add in support for vector fields to Gradient worklet. 2016-11-15 18:54:53 -05:00
Robert Maynard
7a52fa3940 Add in Cell Gradient for scalar fields. 2016-11-14 12:52:00 -05:00
Christopher Sewell
f779e8a1bd Removing streaming scan inclusive for now 2016-11-09 15:43:57 -07:00
Christopher Sewell
8a8b409d4c Merge remote-tracking branch 'upstream/master' into StreamingArray 2016-11-09 12:15:58 -07:00
Robert Maynard
ad0593e845 Merge topic 'wavelet2'
35a81df0 change variable names to avoid confusion
b2719157 simplify functions to get the approximation and detail coefficients length
d7e94e3a update 2D idwt to not assign zero to the last element of cDTemp
568bd63f fix a few warnings
514dcf4b see if unused warning shows up
30660bf4 fix comments by Rob
97118931 improved error message when test failing
9b45dba3 fix 2 warnings
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !577
2016-11-08 16:10:15 -05:00
Christopher Sewell
d7ff809716 Attempt to resolve warnings for streaming device adapter algorithms 2016-10-27 11:09:27 -06:00
Kenneth Moreland
622a44339d Add VTK_EXEC_EXPORT to new CellAverage methods
Frankly, I am surprised that the CellAverage worklet compiled on CUDA
when the parenthesis operator relied on methods that were not delcared
as __device__.
2016-10-23 11:51:09 -04:00
Christopher Sewell
b9d8172635 Attempt 14 to resolve Windows compiler warning with streaming storage 2016-10-21 17:31:45 -06:00
Christopher Sewell
93d7956daf Attempt 13 to resolve Windows compiler warning with streaming storage 2016-10-21 16:08:13 -06:00
Robert Maynard
37efba159c CellSetSingleType now can be constructed with proper number of points
This is important so that when we execute a Cell->Point worklet we
don't have to compute the number of points from the connectivity array.
2016-10-20 08:33:16 -04:00
Christopher Sewell
278db37c08 Attempt 2 to resolve Windows compiler warning with streaming storage 2016-10-19 14:44:48 -06:00
Samuel Li
971189313a improved error message when test failing 2016-10-11 07:26:14 -07:00
Samuel Li
8e98eeea6c fixed a few warnings 2016-10-09 22:34:32 -07:00
Samuel Li
548e212e55 2D wavelet compressor ready for Rob to review 2016-10-09 21:52:02 -07:00
Samuel Li
edd93c435a new implementation of 2D transforms pass test 2016-10-09 17:07:49 -07:00
Samuel Li
7eb494895f forward transform now avoids data copy when performing multi-level transforms 2016-10-05 15:52:07 -07:00
Christopher Sewell
58952e1465 Adding streaming reduce 2016-09-29 15:06:34 -06:00
Christopher Sewell
bf9e1366f5 Fixing warning about char* 2016-09-29 14:33:21 -06:00
Christopher Sewell
9e2210927e Adding streaming exclusive scan and fixing bugs with streaming inclusive scan, but still need to make it treat input as const 2016-09-28 18:29:04 -06:00
Samuel Li
edd74febd8 Resolving merge conflicts 2016-09-23 09:27:44 -07:00
Samuel Li
2271751f79 merge request to conclude LANL work 2016-09-22 16:13:50 -07:00
Samuel Li
d19bbfac81 sync to laptop 2016-09-21 20:25:56 -07:00
Samuel Li
093db83474 almost pass all tests, move to Alaska to debug one more case 2016-09-16 19:20:53 -06:00
Christopher Sewell
5f6ff438da Fixing typename issue in UnitTestStreamingSine 2016-09-15 18:30:50 -06:00
Christopher Sewell
d92f39df12 Merge branch 'master' into StreamingArray 2016-09-15 17:54:59 -06:00
Christopher Sewell
610f96a831 Adding streaming inclusive scan 2016-09-15 17:46:09 -06:00
Samuel Li
32fb705c2c sync test program 2016-09-13 19:53:17 -07:00
Samuel Li
a045a767fa sync to use gdb 2016-09-13 13:10:38 -06:00
Kenneth Moreland
5455608c69 Remove boost::shared_ptr from rendering library
The remove boost::shared_ptr and the rendering library branches where
developed simultaneously, and thus some of the rendering library
implementation was using boost::shared_ptr like the old code. Bring up
to date with the rest of VTK-m by using std::shared_ptr instead.
2016-09-12 11:08:06 -06:00
Samuel Li
7e756e3a5a move to linux to debug 2016-09-11 16:14:01 -06:00
Samuel Li
a196e9b42d timer tweak 2016-09-06 15:54:12 -07:00
Samuel Li
a07e6ab71e fix a bug, run final tests 2016-09-06 14:28:46 -07:00
Samuel Li
42a80662d8 finish 2D re-write. Some tests pass and some others fail. Need to keep debugging 2016-09-05 19:52:35 -06:00
Samuel Li
02cede6937 need to change IDWTHelper API a little bit 2016-09-01 18:47:50 -06:00
Samuel Li
c4387bb71c need to debug a memory problem 2016-08-31 16:03:25 -06:00
Samuel Li
858895d3c8 Extend2D passes initial test, need to test more. 2016-08-26 14:51:23 -06:00
Samuel Li
4bda2f3042 one left extend worklet works correct 2016-08-26 10:54:47 -06:00
Samuel Li
87e80fc9c0 Merge branch 'master' into wavelet2 2016-08-24 15:53:52 -06:00
Samuel Li
f9dc98d0e6 add timers to report worklet computation time 2016-08-23 17:52:40 -06:00
Samuel Li
c5613b2cbb optimized a few worklets 2016-08-23 08:56:03 -07:00
Samuel Li
ec185e3ade WaveletFilter now stores array handles, so less data transfer between host and device 2016-08-22 14:28:29 -07:00
Samuel Li
daa80669f2 get rid of many small memory transfers 2016-08-22 13:49:13 -07:00
Samuel Li
553e396c6e 2D decompose/reconstruct seem to work well 2016-08-22 10:13:45 -06:00
Robert Maynard
ce3c7f64b5 Merge topic 'clip_restructure'
af05ea0e Cleanup clipping so we can use it from a filter.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !508
2016-08-22 09:56:21 -04:00
Samuel Li
165199c890 keep fighting on compiler errors 2016-08-21 23:10:05 -06:00
Christopher Sewell
e3858cb047 Eliminating more warnings in streaming sine unit test 2016-08-19 14:48:51 -06:00
Christopher Sewell
2855512962 Adding ArrayHandleStreaming to CMake and fixing warnings 2016-08-19 13:47:44 -06:00
Samuel Li
372cd6729b merge updates from the 1D wavelets branch 2016-08-18 22:42:29 -06:00
Robert Maynard
9712de8b24 Merge topic 'wavelets'
d677d0d1 small tweaks
816364d2 in an effort to get rid of a warning
778da350 In attempt to fix errors and warnings
bb450c51 fix a warning
49e56b61 two new wavelet filters, HAAR and CDF8/4 supported now
767356bc working on even length filters; need ASYM* support in Extend1D()
a6efad04 half done even length filters implementation
ee32ea4c took off timing code
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !482
2016-08-18 15:47:33 -04:00
Robert Maynard
af05ea0e8d Cleanup clipping so we can use it from a filter. 2016-08-18 12:50:20 -04:00
Christopher Sewell
7892ebf67c Making work index return global value when streaming 2016-08-17 21:33:04 -06:00
Samuel Li
49e56b61b5 two new wavelet filters, HAAR and CDF8/4 supported now 2016-08-16 15:20:19 -06:00
Samuel Li
767356bc72 working on even length filters; need ASYM* support in Extend1D() 2016-08-15 17:54:15 -06:00
Samuel Li
3a1cfe5c6a 2d decompose and reconstruct seem to be working well 2016-08-14 16:29:27 -06:00
Samuel Li
53cfd74d01 Rectangle Copy test succeed 2016-08-14 00:28:29 -06:00
Samuel Li
9e49cde593 2D decomposition work in progress 2016-08-11 18:49:48 -06:00
Samuel Li
be658d70a8 IDWT2D seems to be working 2016-08-11 15:24:48 -06:00
Robert Maynard
04761975be Refactor FieldHistogram so class is not templated.
Move the template parameters to the Run method.
2016-08-11 14:46:45 -04:00
Samuel Li
d41d102072 DWT2D works 2016-08-10 16:28:59 -07:00
Samuel Li
710d59d33a Change on class signatures of Filter and Base 2016-08-10 17:24:22 -06:00
Samuel Li
e7b288dba1 eliminates explicit calling VTKM_DEFAULT_DEVICE_ADAPTER_TAG 2016-08-10 14:33:14 -06:00
Samuel Li
f669f44ca1 new branch on 2D wavelets 2016-08-09 17:32:13 -06:00
Samuel Li
f3d7aeced1 use std::vector<vtkm::Id> instead of raw arrays for bookkeeping 2016-08-08 17:59:15 -06:00
Samuel Li
c72b135608 Uncomment other build objects 2016-08-08 12:21:08 -04:00
Samuel Li
34ce28576d change unittest for review 2016-08-06 12:34:03 -07:00
Samuel Li
3d29e504cc fixed a memory bug, now I believe it's ready for merge 2016-08-06 00:08:29 -07:00
Robert Maynard
08a33675f6 Prefer vtkm::cont::CastAndCall function over the member method. 2016-08-05 15:29:39 -04:00
Robert Maynard
31138293f9 Pass Fields and CoordinateSystems to Dispatcher::Invoke
Now that we can handle scheduling Fields and CoordinateSystems, do
2016-08-05 15:26:17 -04:00
Christopher Sewell
c4ab06f7cb Resoring other worklet tests 2016-08-03 20:23:40 -06:00
Christopher Sewell
767a5f6792 Clean up for streaming dispatcher 2016-08-03 19:47:12 -06:00
Christopher Sewell
504e6f55df Working streaming dispatcher 2016-08-03 18:48:31 -06:00
Christopher Sewell
ced9fd32db Improving streaming dispatcher 2016-08-03 15:34:43 -06:00
T.J. Corona
927387b1a2 Add vtkm::cont::Field,CoordinateSystem as Invokable parameters.
Originally, only array handles could be passed to the dispatcher.
This update extends the list to Field and CoordinateSystem as
dynamic objects.
2016-08-03 15:46:30 -04:00
Christopher Sewell
2caf81a4af First commit for ArrayHandleStreaming 2016-08-02 16:54:12 -06:00
Samuel Li
448e9be5a8 small tweaks, ready for pull request 2016-07-29 14:16:10 -07:00
Samuel Li
dd1ef8e47d include all objects in the cmake file 2016-07-29 13:19:28 -07:00
Samuel Li
3cc6385426 remove unnecessary files 2016-07-29 13:05:53 -07:00
Samuel Li
ec46fd58a0 fixed bugs, ready for Chris to review 2016-07-29 11:27:37 -07:00
Samuel Li
7f9fd0d66d finish all the statics 2016-07-28 21:07:05 -06:00
Samuel Li
fa1198bb85 summation algorithm function is ready 2016-07-28 19:12:57 -06:00
Samuel Li
1a7bae0335 with a hack on ArrayHandlePermutation.h, wavelet works on CUDA device as well 2016-07-28 17:55:38 -06:00
Samuel Li
951d9fce2c move device copy to a function of itself; other small changes 2016-07-28 14:55:10 -07:00
Robert Maynard
73440ccb4e vtkm::filter::MarchingCubes now uses vtkm::worklet
Instead of having two separate implementations of MarchingCubes, we have
a single implementation in worklet, and filter uses that.

That does mean that the version in worklet has been updated to support
merging of duplicate point coordinates.
2016-07-28 08:52:34 -04:00
Samuel Li
7dc59d80d7 trying to figure out how to use deviceAdapterAlgorithms 2016-07-27 16:23:26 -07:00
Samuel Li
ab021ce6f0 Chris helped to eliminate all compiling errors 2016-07-27 15:42:29 -07:00
Samuel Li
b2d15bbbde move wavelet stuff back to worklet folder 2016-07-27 14:28:38 -06:00
Samuel Li
148d96d3c4 UnitTestWaveletCompressorFilter performs tests on the output values 2016-07-26 17:46:53 -06:00
Samuel Li
3c2aa8aa98 Testing filters, TestDWT1D() throws error 2016-07-18 10:56:45 -06:00
Samuel Li
6d81f261d5 Re-organize files, adding functions to filters. The worklet of WaveletTransform passes tests. 2016-07-18 09:23:20 -06:00
Samuel Li
4ac822acad implement DWT1D function. Thinking to move non-worklet stuff to filter foler. 2016-07-17 17:49:00 -06:00
Samuel Li
cb7a5d6f17 put Wavelets class under wavelet namespace 2016-07-17 15:19:07 -06:00
Samuel Li
1f2bb02f77 add comment line 2016-07-17 14:07:31 -06:00
Samuel Li
1d4070c3ad Extend1D test succeed 2016-07-15 20:33:50 -06:00
Samuel Li
02a4610444 unit test module is capatable of taking in user input as problem size, as well as including data transfer into the timing. 2016-07-12 11:41:47 -07:00
Samuel Li
f1111c6333 Merge branch 'wavelets' of gitlab.kitware.com:samuelli/vtk-m into wavelets 2016-07-12 10:35:43 -06:00
Samuel Li
f8371d0754 add timer 2016-07-12 10:35:35 -06:00
Samuel Li
4cb21ee809 eliminate a warning 2016-07-12 09:51:05 -06:00
Samuel Li
8fb53f4b72 WaveletBase class finished. Now to add timing 2016-07-11 18:22:12 -06:00
Samuel Li
53ab1eb8c4 create a folder for wavelets 2016-07-11 17:54:41 -06:00
Samuel Li
c510f5762a bug fixes; ForwardTransform agrees with its counterpart in vapor now. 2016-07-10 16:32:39 -06:00
Samuel Li
a26fa39c40 Filter is moved out of Wavelets 2016-07-10 14:08:39 -06:00
Samuel Li
b7402f9af4 working on the wavelet Filter class 2016-07-08 13:15:03 -06:00
Samuel Li
a94ff7fbe4 trying to work out boundary situations 2016-07-07 18:44:38 -06:00
Samuel Li
7e9de6706a finish coding ForwardTransform, need to test now 2016-07-07 16:14:43 -06:00
Samuel Li
68bd1d023b ForwardTransform interface works. Maybe to give filters a class? 2016-07-06 21:39:29 -06:00
Samuel Li
765192e4e0 doesn't compile, try on Alaska 2016-07-06 21:15:39 -06:00
Samuel Li
f785fcb18f work in progress for filter tables 2016-07-06 18:37:11 -06:00
Samuel Li
9c1e9574fa ForwardTransform worklet now have the correct interface 2016-07-06 15:21:12 -06:00
Samuel Li
1f4e847c56 wavelets worklet works as a doulber 2016-07-05 17:38:24 -06:00
Samuel Li
7879f32806 add files for testing Wavelets 2016-07-05 10:24:29 -06:00
Kenneth Moreland
b5415169e2 Change Field and related methods to use Range and Bounds
First, be more explicit when we mean a range of values in a field or a
spacial bounds. Use the Range and Bounds structs in Field and
CoordinateSystem to make all of this more clear (and reduce a bit of
code as well).
2016-05-29 18:49:36 -06:00
Robert Maynard
8dfe8cd385 Rename ControlSignature tag TopologyIn to CellSetIn. 2016-05-17 15:07:08 -04:00
Jeremy Meredith
0c18278028 removing cell set dimensionality and splitting tetrahedralizer. 2016-05-13 14:26:59 -04:00
Robert Maynard
6883a5ac94 Simplify using CellSetPermutation by providing a default permutation type.
Previously you had to explicitly state you wanted a CellSetPermutation
with an ArrayHanlde of Id's, now that is done automatically.
2016-04-12 14:24:51 -04:00
Robert Maynard
6ac50adcee Correct an off by 1 error in UnitTestWorkletMapFieldWholeArray.
The sum presumption was presuming 1 to 10 inclusive, when we actually have
0 to 9 inclusive.
2016-04-07 22:59:59 -04:00
Kenneth Moreland
0bcd172d39 Merge branch 'atomic-improvements' into 'master'
Add AtomicArrayInOut ControlSignature tag

This makes it easier to pass arrays with atomics to a worklet.

See merge request !382
2016-04-05 15:23:37 -04:00
Kenneth Moreland
43ed18b0e1 Add AtomicArrayInOut ControlSignature tag.
This makes it easier to pass arrays with atomics to a worklet.
2016-03-24 17:12:17 -06:00
Jeremy Meredith
ba8517eb67 removing all references to field order. 2016-03-23 10:38:14 -04:00
Robert Maynard
531dececfd Multiple changes to VertexClustering to make it more suitable for filter.
The original implementation wasn't flexible enough to handle the requirements
that filter requires ( mainly policy support ).
2016-03-14 08:39:17 -04:00
Kenneth Moreland
f9750e83f7 Fix issues with Field constructor overloads
I ran into a few minor issues with the constructors to the Field class.

The big change I made was that I removed the Field constructors that
take an example type and create an empty field of that type. The problem
was that the example type was easily confused with some other type that
was supposed to describe an array. This lead to some odd behavior in the
compiler and resulted in errors in unexpected places.

The use case for this constructor is dubious. There were several tests
in the code that would create an empty field, add it to a data set, then
get it back out to pass to the worklet. The code is much simpler if you
just make an ArrayHandle of the right type and use that in the worklet
invoke directly. It is also faster to compile with smaller code because
the type is known statically (whereas it is lost the other way).

The other change was to declare references to ArrayHandle and
DynamicArrayHandle as const. There is nothing in the behavior that
invalidates the const, and it accepts arrays constructed in the
parameter.
2016-01-21 13:54:05 -07:00
Kenneth Moreland
c346d40eb4 Add WorkletMapCellToPoint class
The map topology worklets are to have convenience classes for all the
common mappings. However WorkletMapCellToPoint was left out as an
oversight. This adds the class.
2016-01-20 16:16:58 -07:00
Kenneth Moreland
9ccd7fa9c7 Change Regular to Uniform
There was an inconsistency in naming classes where axes-aligned grids
with even spacing were sometimes called "uniform" and sometimes called
"regular". Maintain consistency by always calling them uniform.
2016-01-19 15:54:05 -07:00
Kenneth Moreland
ed43dad6ca Simplify and unify cast interface.
Previously, DynamicArrayHandle and DynamicCellSet had slightly different
interfaces to their CastTo feature. It was a bit confusing and not all
that easy to use.

This change simplifies and unifies them by making each class have a single
CopyTo method that takes a reference to a cast object (an ArrayHandle or
CellSet, respectively) and fills that object with the data contained if
the cast is successfull. This interface gets around having to declare
strange types.

Each object also has a Cast method that has to have a template parameter
specified and returns a reference of that type (if possible).

In addition, the old behavior is preserved for DynamicArrayHandle (but
not DynamicCellSet). To avoid confusion, the name of that cast method is
CastToTypeStorage. However, the method was chaned to not take parameters
to make it consistent with the other Cast method.

Also, the IsType methods have been modified to reflect changes in
cast/copy. IsType now no longer takes arguments. However, an alternate
IsSameType does the same thing but does take an argument.
2016-01-18 15:58:04 -07:00
Robert Maynard
4bb3cce016 Use the DataSetBuilderExplicitIterative helper where it is useful. 2016-01-18 16:19:48 -05:00
Robert Maynard
dd312516f6 Fix issue found be moving over to DataSetBuilderExplicit.
Mainly issue dealing with dimensionality of cell sets and what that represents.
Have added in code to allow user to specify a custom dimensionality so that
tests continue to work properly.
2016-01-15 16:16:38 -05:00
Robert Maynard
e7456fa120 Update vtkm tests and examples to use DataSetBuilders. 2016-01-15 15:44:56 -05:00
Robert Maynard
e39c7819aa Merge topic 'more_worklets_not_templated_on_deviceadapter'
956cedfd Turn off the benchmarking ExternalsFaces.
18b866d6 Threshold worklet is not templated on device adapter.
dbee9275 ExternalFaces worklet is not templated on device adapter.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !315
2016-01-15 08:25:18 -05:00
Robert Maynard
f4d2b63fcb Merge topic 'vertex_clustering_not_templated_on_device'
12ddcfdd VertexClustering worklet is not templated on device adapter.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !314
2016-01-14 16:15:10 -05:00
Robert Maynard
18b866d6e0 Threshold worklet is not templated on device adapter.
This should help reduce the amount of code generation, when building the
Threshold worklet for all device adapters.
2016-01-14 15:55:22 -05:00
Robert Maynard
dbee92752e ExternalFaces worklet is not templated on device adapter.
This should help reduce the amount of code generation, when building the
ExternalFaces worklet for all device adapters.
2016-01-14 15:55:12 -05:00
Robert Maynard
12ddcfdda7 VertexClustering worklet is not templated on device adapter.
This should help reduce the amount of code generation, when building the
VertexClustering worklet for all device adapters.
2016-01-14 15:42:27 -05:00
Dave Pugmire
a5972e6a15 Merge topic 'dataset-builder2'
f86382f0 Fix support for CoordinateSystems using ArrayHandleCartesianProduct.
d6a2a142 Add toleranced compare for values. Add tests for vtkm::Float32,Float64,Id typed arrays.
5d438353 Add toleranced comparisions for bounds validation. Also, add vtkm::Float32 and vtkm::Float64 to the testing for rectilinear and regular datasets.
b225ae97 Rectilinear coordinates (created with DataSetBuilderRectilinear) are now converted to vtkm::FloatDefault. This reduces the number of types to consider when casting inside CoordinateSystem, and was felt by all to be a reasonable restriction.
d755e43d Use ArrayHandleCompositeVector to represent separated point arrays for DataSetBuilderExplicit.h.
c7b0ffb8 Add tests for DataSetBuilderExplicit. Added cont/testing/ExplicitTestData.h which includes several explicit datasets.  These datasets come from VTK data generated in VisIt.  The new unit tests build datasets in several different ways and do some basic validation.
b4d04fff Add specialization of printSummary_ArrayHandle for UInt8. It prints them as characters, which are a little hard to understand to this computer scientist.
bd929c20 Fix compiler warnings.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !262
2016-01-14 14:57:02 -05:00
Robert Maynard
c70da5fc23 Extend vtkm::DeviceAdapterTraits to include a unique numeric identifier.
Previously each device adapter only had a unique string name. This was
not the best when it came to developing data structures to track the status
of a given device at runtime.

This adds in a unique numeric identifier to each device adapter. This will
allow classes to easily create bitmasks / lookup tables for the validity of
devices.
2015-12-16 11:18:52 -05:00
Robert Maynard
f96206338f Merge topic 'enable_runtime_detection_of_cuda'
a7127f0f Adding vtkm::cont::RuntimeDeviceInformation.
7d249e89 Move DeviceAdapterTraits into vtkm::cont as they are user API.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !287
2015-12-16 08:48:24 -05:00
Robert Maynard
a7127f0fc3 Adding vtkm::cont::RuntimeDeviceInformation.
The RuntimeDeviceInformation class allows developers to check if a given
device is supported on a machine at runtime. This allows developers to properly
check for CUDA support before running any worklets.
2015-12-15 17:25:27 -05:00
Robert Maynard
7b7a56c664 UnitTestCellAverage now properly verifies against an explicit cell set. 2015-12-14 10:07:32 -05:00
Robert Maynard
7d249e8996 Move DeviceAdapterTraits into vtkm::cont as they are user API.
When writing multiple backend code users of vtkm need to use the
DeviceAdapterTraits classes, so therefore we should move them to vtkm::cont
to signify this.
2015-12-11 09:52:18 -05:00
dpugmire
e674a6c80d Fix issue with PointToCell indices not being computed.
Also, mark them as valid, when valid.
2015-12-08 15:14:43 -05:00
Kenneth Moreland
2ac8456b5e Add WholeArray* ControlSignature tags
The WholeArrayIn, WholeArrayInOut, and WholeArrayOut ControlSignature
tags behave similarly to using an ExecObject tag with an
ExecutionWholeArray or ExecutionWholeArrayConst object. However, the
WholeArray* tags can simplify some implementations in two ways. First,
it allows you to specify more precisely what data is passed in. You have
to pass in an ArrayHandle or else an error will occur (as opposed to be
able to pass in any type of execution object). Second, this allows you
to easily pass in arrays stored in DynamicArrayHandle objects. The
Invoke mechanism will automatically find the appropriate static class.
This cannot be done easily with ExecutionWholeArray.
2015-12-07 09:52:29 -07:00
T.J. Corona
baa73eaad8 Merge topic 'marching-cubes'
33b0d1bf Move marching cubes edge table out of the worklet.
a5ae4127 Remove IsosurfaceUniformGrid.
35355382 Generalize IsosurfaceUniformGrid to Accept explicit cell sets.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !272
2015-12-03 14:54:02 -05:00
T.J. Corona
a5ae4127e0 Remove IsosurfaceUniformGrid. 2015-12-02 15:11:56 -05:00
Dave Pugmire
29e4f06691 remove explicitdataset1, which was identical to dataset0. 2015-12-01 17:24:52 -05:00
Patricia Kroll Fasel - 090207
6c4fb856df Add example data file for streamline. 2015-11-23 17:00:22 -07:00
Patricia Kroll Fasel - 090207
cba0e218d8 Verify unit test results 2015-11-23 16:46:23 -07:00
Patricia Kroll Fasel - 090207
3946b0c462 Add unit test, pass all args in Run() 2015-11-23 16:19:26 -07:00
Patricia Kroll Fasel - 090207
02f84a1992 StreamLine filter outputs dataset. Add example. 2015-11-23 12:54:12 -07:00
T.J. Corona
353553829d Generalize IsosurfaceUniformGrid to Accept explicit cell sets. 2015-11-20 12:38:03 -05:00
Patricia Kroll Fasel - 090207
e34aaa02ea Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into streamline 2015-11-12 16:08:44 -07:00
Patricia Kroll Fasel - 090207
82d9c10206 Pass input and output datasets and not arrays. Support FORWARD, BACKWARD and BOTH. 2015-11-12 15:35:46 -07:00
Patricia Kroll Fasel - 090207
add67881db Rework stream code 2015-11-10 10:33:21 -07:00
Kenneth Moreland
58aa46df74 Fix spacing in Isosurface test code.
The original isosurface code was not treating the origin and spacing of
the point coordinates correctly. Instead, it was ignoring the origin and
spacing and instead scaling all point coordinates to be in the unit cube
in world space (except there was also an off-by-one error in that). This
change recompensates by adjusting the origin and spacing to make the
correct position where the geometry was previously errantly placed.
2015-11-06 18:05:20 -07:00
Kenneth Moreland
e6a9c96c96 Adding ScatterCounting 2015-11-06 18:05:20 -07:00
Patricia Kroll Fasel - 090207
123322f4b9 First code for stream lines worklet 2015-11-05 16:08:54 -07:00
Robert Maynard
ca71d70bed Update worklet UnitTests to not try statically known invalid combinations 2015-10-26 17:21:24 -04:00
Robert Maynard
39142d8347 Add convenience tags like FieldInPoint, FieldInCell, to WorkletMapPointToCell 2015-10-23 09:50:48 -04:00
Robert Maynard
f34119b62e Clarify the name of worklet for point to cell operations. 2015-10-22 18:46:00 -04:00
Patricia
58178a3e00 Merge topic 'stat_histogram'
d3d63a0a Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram
4aa57d5c Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram
49940a4c Attempt to fix compiler errors and warnings.
0e0f5d2e Fix compiler warnings.
a6487b3c Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram
c2a9f184 Fix syntax of ArrayHandleCounting usage
6dd8bde6 Merge branch 'master' into stat_histogram

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !190
2015-10-14 15:56:24 -04:00
Sujin Philip
4642889f93 Merge topic 'add-Threshold'
e4a8ae82 Add Threshold worklet and unit tests.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !236
2015-10-14 14:34:17 -04:00
Patricia Kroll Fasel - 090207
d3d63a0a20 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram 2015-10-14 11:51:31 -06:00
Robert Maynard
c78aac4650 UnitTestClipping now properly handles 64bit vtkm::FloatDefault. 2015-10-13 10:29:46 -04:00
Sujin Philip
e4a8ae82ed Add Threshold worklet and unit tests. 2015-10-12 14:37:59 -04:00
Patricia Kroll Fasel - 090207
65c9de08bd Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_explicit 2015-10-08 16:07:18 -06:00
Patricia
610672a3a1 Merge topic 'tetra_uniform'
5f6a552a Compiler warnings
b7473712 Compiler warnings GL deprecated
2f532bf3 Compiler warnings
5569d8c1 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform
0e8b9b15 Compiler warnings.
810e6b00 Fix CastTo with template to avoid compiler errors.
deceb79e Fix to work with gcc and pgi compilers.  Change to use CellSetSingleType.
f624683e Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !204
2015-10-08 17:36:47 -04:00
Patricia Kroll Fasel - 090207
2b43e52516 Compiler warnings 2015-10-08 11:38:56 -06:00
Patricia Kroll Fasel - 090207
2f532bf379 Compiler warnings 2015-10-08 11:11:08 -06:00
Patricia Kroll Fasel - 090207
cba29a1e67 Fix compiler warnings 2015-10-08 10:52:34 -06:00
Sujin Philip
15ad595888 Add support for clipping with implicit functions 2015-10-08 12:12:51 -04:00
Patricia Kroll Fasel - 090207
0b9cffe4f4 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_explicit 2015-10-08 09:56:44 -06:00
Patricia Kroll Fasel - 090207
5569d8c1b1 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform 2015-10-08 09:35:10 -06:00
Patricia Kroll Fasel - 090207
4aa57d5c64 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram 2015-10-08 09:13:28 -06:00
Patricia Kroll Fasel - 090207
49940a4cbf Attempt to fix compiler errors and warnings. 2015-10-01 15:08:36 -06:00
Patricia Kroll Fasel - 090207
a6487b3c79 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into stat_histogram 2015-10-01 10:15:02 -06:00
Robert Maynard
20f3fb5000 Update VertexClustering to use vtkm::cont::CellSetSingleType. 2015-10-01 09:23:10 -04:00
Patricia Kroll Fasel - 090207
0e8b9b15a5 Compiler warnings. 2015-09-29 13:39:30 -06:00
Patricia Kroll Fasel - 090207
5a7b3668ee Correct for gcc and pgi compilers and CastTo. Add CellSetSingleType for output. 2015-09-29 11:20:05 -06:00
Patricia Kroll Fasel - 090207
deceb79edc Fix to work with gcc and pgi compilers. Change to use CellSetSingleType. 2015-09-28 16:23:03 -06:00
Patricia Kroll Fasel - 090207
a821310b6f Changes in CellSetExplicit for shape and numindices types. Made one Run() method
by getting point dimensions from the dataset.
2015-09-24 16:07:45 -06:00
Patricia Kroll Fasel - 090207
3e4ca9ae8f Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform 2015-09-24 11:55:33 -06:00
Patricia Kroll Fasel - 090207
3e94b4295b Types for shapes and numindices changed in CellSetExplicit. 2015-09-24 11:52:38 -06:00
Patricia Kroll Fasel - 090207
c7234eedf7 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_explicit 2015-09-24 11:10:20 -06:00
Patricia Kroll Fasel - 090207
a7f7b46169 Add 3D tetrahedralize of explicit cell set. 2015-09-24 10:56:03 -06:00
Patricia Kroll Fasel - 090207
4e92cd3f33 Tetrahedralize 2D explicit dataset first version with opengl example 2015-09-23 14:43:27 -06:00
Robert Maynard
935b3fd6b9 CellSetExplicit uses UInt8 for shape, and IdComponent for numIndices. 2015-09-23 11:17:04 -04:00
Patricia Kroll Fasel - 090207
1c19a15f51 Triangulate a 2D data set extension 2015-09-22 11:40:01 -06:00
Patricia Kroll Fasel - 090207
c2a9f184cf Fix syntax of ArrayHandleCounting usage 2015-09-21 11:55:10 -06:00
Patricia Kroll Fasel - 090207
6dd8bde6ab Merge branch 'master' into stat_histogram 2015-09-21 10:56:00 -06:00
Patricia Kroll Fasel - 090207
685b9bf7c5 Clean up uniform tetrahedralize for merge 2015-09-18 10:49:30 -06:00
Patricia Kroll Fasel - 090207
d57393d142 Fix merge problems with CMakeList files 2015-09-17 13:49:47 -06:00
Patricia Kroll Fasel - 090207
1acd09610e Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into tetra_uniform 2015-09-17 13:27:45 -06:00
Patricia Kroll Fasel - 090207
02d2eefe22 3d uniform grid to tetrahedra now includes getting actual vertex points. 2015-09-17 13:10:22 -06:00
Robert Maynard
c87e1f5e16 Merge topic 'add-gaussian-splatter'
5e72d3a8 Rename kernels directory to splatkernels to avoid confusion
7a2225cf Add Copyright text
d04e4dfa Remove c++11 constexpr keyword
ed5faf5b Fix for M_PI on windows, use vtkm::Pi()
fe284ffb Add unit test for splat kernel integral.
29001e37 Change GaussianSplatter to KernelSplatter to support other kernels
378cb17e Code cleanup, style, debug, unused vars
65d2980f Fix clang compile error, cleanup debug messages
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !193
2015-09-17 10:03:26 -04:00
Patricia Kroll Fasel - 090207
6398a6a00c Remove histogram and statistics which are in another branch 2015-09-16 11:58:30 -06:00
Patricia Kroll Fasel - 090207
6683c32a9f OpenGL example working for 3d tet uniform, serial and cuda. 2015-09-16 11:52:41 -06:00
John Biddiscombe
5e72d3a87a Rename kernels directory to splatkernels to avoid confusion 2015-09-15 19:46:53 +02:00
John Biddiscombe
7a2225cfd1 Add Copyright text 2015-09-15 12:03:09 +02:00
Kenneth Moreland
891182ee19 Add ArrayHandleIndex class.
This is the most common use case for ArrayHandleCounting, and this class
is a bit easier to use and a bit faster.
2015-09-14 22:11:09 -06:00
Patricia Kroll Fasel - 090207
22c95f102a Update tetrahedralize to output dataset 2015-09-14 14:45:59 -06:00
John Biddiscombe
fe284ffbfb Add unit test for splat kernel integral.
The test computes the integral using simpsons rule and checks
that the value is unity (+/- epsilon)
2015-09-14 21:39:43 +02:00
Patricia Kroll Fasel - 090207
73362fb4aa Use CellSet.Fill() to add all tets at one time. 2015-09-11 15:44:53 -06:00
Patricia Kroll Fasel - 090207
d40caf2703 Tetrahedralize a uniform structured grid of hexahedra. 2015-09-10 11:48:05 -06:00
Patricia Kroll Fasel - 090207
ec06d00683 Both FieldHistogram and FieldStatistics operate on point data or cell data in the
form of an ArrayHandle.  Histogram takes the number of bins and returns the bin array.
Statistics returns a structure with standard stats plus raw and central moments.
2015-09-10 11:13:08 -06:00
Sujin Philip
9a911a9761 Merge topic 'update-VertexClustering'
6fde5016 Update VertexClustering to use the new features in vtkm

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !174
2015-09-04 14:34:44 -04:00
Kenneth Moreland
68428c6487 Add test to make sure uniform coords work in topology map
Although this is labeled as a unit test, this is more of an integration
test to make sure that when a uniform point coordinate is passed as a
field to a WorkletTopologyMap from points to cells with a regular cell
set, you get the specialized VecRectilinearPointCoordinates in the
worklet argument.
2015-09-02 13:54:54 -07:00
Kenneth Moreland
c5e9ce4769 Fix compiler warnings for isosurface code 2015-09-02 13:47:48 -07:00
Sujin Philip
6fde50160b Update VertexClustering to use the new features in vtkm 2015-09-02 16:41:54 -04:00
Christopher Meyer Sewell - 188584
493ca4e0c6 Merging with master 2015-09-02 14:18:05 -06:00
Christopher Meyer Sewell - 188584
a10d1fc237 Removing unnecessary cell fields from isosurface test and example, and adding a few comments 2015-09-02 12:03:49 -06:00
Jeremy Meredith
8544fb8ca4 adding topology types to explicit cell set connectivity array accessors. 2015-09-02 12:26:37 -04:00
Jeremy Meredith
d1492cca24 Merge branch 'master' into newtopology 2015-09-01 19:46:18 -04:00
Christopher Meyer Sewell - 188584
30100e2ae8 Adding examples directory with isosurface rendering example 2015-09-01 17:09:36 -06:00
Jeremy Meredith
407d1619d0 one more warning 2015-09-01 15:06:17 -04:00
Jeremy Meredith
c9d3ae3dcf more warnings 2015-09-01 14:54:56 -04:00
Robert Maynard
9cb00d9048 Merge branch 'isosurface-for-sprint' into 'master'
Isosurface for sprint

See merge request !150
2015-08-29 09:42:21 -04:00
Robert Maynard
24d0346dce Fix warnings generated with gcc-4.8 2015-08-28 17:28:22 -04:00
Jeremy Meredith
f62f1755e7 the value after the name in the cell set constructor is dimensionality, not numcells. 2015-08-28 16:57:06 -04:00
Jeremy Meredith
8afee80e55 updating newly merged code with changes for new connectivity types. 2015-08-28 16:56:09 -04:00
Robert Maynard
69f5a39931 IsosurfaceUniformGrid can now handle non square volumes. 2015-08-28 16:48:19 -04:00
Robert Maynard
4de11a353e Update IsosurfaceUniformGrid to new coordinate system and worklet classes. 2015-08-28 16:32:17 -04:00
Robert Maynard
2fd7ce3554 IsosurfaceUniformGrid Run now templated on device adapter to execute on.
Also fixes warnings in IsosurfaceUniformGrid.
2015-08-28 16:12:21 -04:00
Christopher Meyer Sewell - 188584
d61aedd8bb Moving functors inside IsosurfaceFilterUniformGrid, and templating on DeviceAdapter 2015-08-28 16:12:21 -04:00
Christopher Meyer Sewell - 188584
b99d252dc8 Fixing some Windows build errors related to typename and a non-const array declaration 2015-08-28 16:12:21 -04:00
Christopher Meyer Sewell - 188584
f7b031f1fb First version of uniform grid isosurface using new data model and topology worklet 2015-08-28 16:12:21 -04:00
Jeremy Meredith
5d6b9bb9ac Merge branch 'master' into newtopology 2015-08-28 16:09:29 -04:00
Robert Maynard
7b185003b2 UnitTestCellAverage now properly tests 2DRegularDataSet. 2015-08-28 16:08:27 -04:00
Kenneth Moreland
89c72c9975 Update clip and external faces code to new cell shapes
The names of the cell shapes and header files changed superficially. The
check in missed the clip and external faces. Update that code.

There are also some less superficial changes that allow you to manage
cell shapes with tags. It might be worthwhile to update this code to use
that new infrastructure.
2015-08-28 12:48:00 -06:00
Jeremy Meredith
2987142fa6 adding support and tests for cell-to-point topology worklet. 2015-08-28 14:03:13 -04:00
Kenneth Moreland
827b58a8f2 Merge branch 'shape-specific-functions' into 'master'
Shape specific functions

These changes support creating methods that are specific to cell shape in worklets (issue #27).

See merge request !149
2015-08-28 13:21:21 -04:00
Kenneth Moreland
3e251de469 The CellShape fetch returns a tag rather than ID.
Previously, when you requested a CellShape in the ExecutionSignature,
you just got an ID stored in a vtkm::IdComponent. This change returns a
cell shape tag of the appropriate type (or generic if the type is not
known at compile time). This will allow functions called from the
worklet to specialize on the cell type better.
2015-08-27 16:31:06 -06:00
Kenneth Moreland
5b47354058 Rename CellType to CellShape.
We have been using the term "shape" in the cell set and connectivity
classes. To be consistent, use the term "shape" for the geometric
identify of the cell everywhere.
2015-08-27 16:25:59 -06:00