Commit Graph

1325 Commits

Author SHA1 Message Date
Robert Maynard
bfb6c26a98 Simplify the design of vectorization support.
Remove the configured file variables, as that causes problems
when using an installed version of VTK-m.
2015-12-01 11:37:41 -05:00
Robert Maynard
4ea567aee9 Remove VTKm_ENABLE_VECTORIZATION, as VTKm_Vectorization handles all use cases. 2015-11-30 11:08:21 -05:00
Robert Maynard
c06c54b1fb Merge topic 'enable_vectorization'
4ceb111a Enable vectorization inside the Serial and TBB backends.
514ea09a Teach VTK-m how to enable vectorization for gcc, clang, and icc.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !275
2015-11-27 09:36:15 -05:00
Robert Maynard
4ceb111a68 Enable vectorization inside the Serial and TBB backends. 2015-11-25 15:59:13 -05:00
Sujin Philip
9c31290619 Merge topic 'io-reader-unsupported-cells'
066e1bf3 Convert unsupported cell types to supported types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !273
2015-11-24 15:29:58 -05:00
Sujin Philip
066e1bf3b1 Convert unsupported cell types to supported types 2015-11-24 13:56:23 -05:00
Patricia
e033d5a391 Merge topic 'streamline'
6c4fb856 Add example data file for streamline.
cba0e218 Verify unit test results
3946b0c4 Add unit test, pass all args in Run()
09e43778 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into streamline
02f84a19 StreamLine filter outputs dataset.  Add example.
34cc9719 StreamLine particle tracing returns output dataset.
e34aaa02 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into streamline
82d9c102 Pass input and output datasets and not arrays. Support FORWARD, BACKWARD and BOTH.
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !267
2015-11-24 10:34:10 -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
09e4377891 Merge branch 'master' of gitlab.kitware.com:Fasel/vtk-m into streamline 2015-11-23 12:56:27 -07:00
Patricia Kroll Fasel - 090207
02f84a1992 StreamLine filter outputs dataset. Add example. 2015-11-23 12:54:12 -07:00
Patricia Kroll Fasel - 090207
34cc971969 StreamLine particle tracing returns output dataset. 2015-11-23 12:50:13 -07:00
Robert Maynard
514ea09afc Teach VTK-m how to enable vectorization for gcc, clang, and icc. 2015-11-23 12:44:05 -05:00
Robert Maynard
9b7643806d Merge topic 'file-name-case'
8dca9f5f Fix case in reference to UseVTKmCUDA.cmake.
5a4c357c Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m
53bb34b8 Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m
5b1a6b36 Adding Clear() method to DataSet.
f5e3c3ac Add missing methods to CellSetPermutation.
cec123c6 CellSetSingleType::Fill now works with custom storage types.
8adbdefd WIP: Install missing header.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !274
2015-11-20 13:17:06 -05:00
T.J. Corona
8dca9f5f6a Fix case in reference to UseVTKmCUDA.cmake. 2015-11-20 13:06:14 -05:00
T.J. Corona
5a4c357c6e Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m 2015-11-20 13:00:31 -05:00
Kenneth Moreland
b5803a5f05 Merge branch 'improve-cmake-module' into 'master'
Improve CMake module

Some improvements to VTKmConfig.cmake and the device configuration scripts to better support CMake projects using VTK-m.

See merge request !271
2015-11-12 18:09:01 -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
Kenneth Moreland
8d207097b1 If VTK-m is required in find_package, require sub packages
If a project loads VTK-m with find_package(VTKm REQUIRED), then also make
it required to find any packages the default devices require.
2015-11-12 14:41:22 -07:00
Kenneth Moreland
fac5d79a52 Remove direct use of TBB_LIBRARIES and TBB_INCLUDE_DIRS
Instead, use VTKm_LIBRARIES and VTKm_INCLUDE_DIRS where the configuration
stores all necessary libraries and include directories.
2015-11-12 14:34:31 -07:00
Kenneth Moreland
c0f49d6112 Update vtkm_configure_device macro
* Support a REQUIRED flag that only gives an error if that flag is given.

* Move common configuration required for all devices (such as boost) to a
special device named Base.

* Make CUDA always capitalized to be consistent with the other CMake
variables.

* Rather than call include_directories, set a variable named
VTKm_INCLUDE_DIRS. This is consistent with how most CMake packages work.

* Make a CMake variable named VTKm_LIBRARIES containing all the
libraries the configured devices need.

* Automatically configure supported devices when loading the VTK-m
package in CMake.
2015-11-12 14:26:00 -07:00
Sujin Philip
501371ee5e Merge topic 'clipping-example-use-vtkm-io'
c6a562ae Fix for MSVC conversion warning
70b2eff8 Update clipping example to use the new io framework
503f9197 Fix VTK DataSet IO to work correctly with DynamicArrayHandle
2b771418 Update Clip worklets to work with more types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !268
2015-11-12 15:32:16 -05:00
Sujin Philip
c6a562aeba Fix for MSVC conversion warning 2015-11-12 10:29:30 -05:00
Sujin Philip
70b2eff85e Update clipping example to use the new io framework 2015-11-12 10:29:30 -05:00
Sujin Philip
503f9197fd Fix VTK DataSet IO to work correctly with DynamicArrayHandle 2015-11-12 10:28:22 -05:00
Sujin Philip
2b771418e6 Update Clip worklets to work with more types 2015-11-12 10:28:22 -05:00
T.J. Corona
7bca955e64 Merge topic 'remove-castforinput'
9414120b Replace ArrayHandleCastForInput with the more versatile ArrayHandleCast.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !270
2015-11-12 09:32:23 -05:00
T.J. Corona
9414120b6a Replace ArrayHandleCastForInput with the more versatile ArrayHandleCast. 2015-11-11 17:13:04 -05:00
Kenneth Moreland
1a538ca196 Merge branch 'scatter-worklets' into 'master'
Scatter in worklets

Add the functionality to perform a scatter operation from input to output in a worklet invocation. This allows you to, for example, specify a variable amount of outputs generated for each input.

See merge request !221
2015-11-11 13:09:47 -05:00
Kenneth Moreland
0d809f1c96 Merge branch 'parametric-coordinates-failure' into 'master'
Add more tolerance to UnitTestParametricCoordinates

I noticed a failure in a dashboard run of UnitTestParametricCoordinates.
This test uses randomly generated numbers to test the behavior of some
cell shapes, and there was an instance that occured with seed 1447261681
that caused one of the comparisons to be just slightly larger than the
default tolerance but still within reasonable value.

I just increased the tolerance of that particular comparison. Hopefully
this will prevent all future failures.

See merge request !269
2015-11-11 12:44:23 -05:00
Kenneth Moreland
7b05604a66 Add more tolerance to UnitTestParametricCoordinates
I noticed a failure in a dashboard run of UnitTestParametricCoordinates.
This test uses randomly generated numbers to test the behavior of some
cell shapes, and there was an instance that occured with seed 1447261681
that caused one of the comparisons to be just slightly larger than the
default tolerance but still within reasonable value.

I just increased the tolerance of that particular comparison. Hopefully
this will prevent all future failures.
2015-11-11 10:38:17 -07:00
Robert Maynard
88a605549e Merge topic 'more_efficient_opengl_interop'
4d270187 Update the opengl interop code to be significantly faster with cuda.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !261
2015-11-11 09:40:07 -05:00
Kenneth Moreland
2fd2174378 Use bit-wise math to compute MC case. 2015-11-10 14:56:26 -07:00
Robert Maynard
54a8a713e7 Merge topic 'bidirectional-array-transform'
af32a21b Add support for bidirectional array transforms.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !214
2015-11-10 15:47:06 -05:00
Robert Maynard
210db03869 Merge topic 'workaround_thrust_18_reduce_bugs'
b3687c6f Workaround inclusive_scan issues in thrust 1.8.X for complex value types.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !266
2015-11-10 15:47:02 -05:00
T.J. Corona
af32a21b2e Add support for bidirectional array transforms.
Array transforms can now be created with an inverse functor, allowing for
casts back into the native array type. As a result, array transforms with
both a functor and inverse functor defined can perform read and write
operations. As an example, ArrayHandleCast now supports this operation. The
original implementation of ArrayHandleCast (i.e. read only) has been renamed
'ArrayHandleCastForInput'.
2015-11-10 15:13:02 -05:00
T.J. Corona
53bb34b88a Merge branch 'master' of https://gitlab.kitware.com/vtk/vtk-m 2015-11-10 13:08:36 -05:00
Patricia Kroll Fasel - 090207
add67881db Rework stream code 2015-11-10 10:33:21 -07:00
Kenneth Moreland
377b7123ff Remove divide from ClassifyCell.
Previously, there was a table holding the number of vertices produced
for each MC case. However, what we really need is the number of
triangles, so we would have to divide that by 3. Instead, just store the
number of triangles.
2015-11-09 22:13:26 -07:00
Robert Maynard
b3687c6f3c Workaround inclusive_scan issues in thrust 1.8.X for complex value types.
The original workaround for inclusive_scan bugs in thrust 1.8 only solved the
issue for basic arithmetic types such as int, float, double. Now we go one
step further and fix the problem for all types.

The solution is to provide a proper implementation of destructive_accumulate_n
and make sure it exists before any includes of thrust occur.
2015-11-09 17:14:30 -05:00
Patricia Kroll Fasel - 090207
d3e9d5df3b Compiles and runs under cuda. 2015-11-09 12:51:45 -07:00
Kenneth Moreland
1898ab473c Remove unnecessary comment.
It was a TODO comment that is already done.
2015-11-08 18:28:08 -07:00
Kenneth Moreland
8ef0a4ee50 Fix conversion warnings.
Recent changes to algorithm implementations caused CellDerivative to be
called in a way such that it gave conversion warnings on some compilers.
Fix that.
2015-11-07 13:13:17 -07:00
Kenneth Moreland
342a57efcd Fix double reference compile error. 2015-11-07 11:23:03 -07:00
Kenneth Moreland
9409a54191 Make new tetrahedralize functors work on CUDA
The previous implementation was declaring static arrays in methods,
which cannot be used on a CUDA device. Instead, make static tables that
can be passed to the device with array handles (much like clip tables
do).
2015-11-07 10:09:19 -07:00
Kenneth Moreland
eef9acfa1d Merge branch 'conversion-warnings' into 'master'
Fix Conversion Warnings

Fix conversion warnings when compiling with 64-bit default floats.

Also ran into an issue with multiplying a Vec by a scalar that did not match, so this branch also includes the addition of operator* overloads to multiply any Vec type by vtkm::Float64.

See merge request !265
2015-11-07 11:25:11 -05:00
Kenneth Moreland
0d394db0ce Fix conversion warnings when using double precision.
There were some conversion warnings issued when the default float was set
to 64-bit. Fixed these (on clang).
2015-11-07 06:35:24 -07:00
Kenneth Moreland
bf03243516 Add ability to multiply any Vec by vtkm::Float64.
This has been requested on the mailing list to make it easier to
interpolate integer vectors.

There are a couple of downsides to this addition. First, it implicitly
casts doubles back to whatever the vector type is, which can cause a
loss of precision. Second, it makes it more likely to get overload
errors when multiplying with Vec. In particular, the operator to cast
Vec of size 1 to the component class had to be removed.
2015-11-07 06:33:50 -07:00