Commit Graph

1230 Commits

Author SHA1 Message Date
T.J. Corona
829c1b1f7f Install missing cuda device backend header. 2015-11-02 16:44:19 -05:00
Robert Maynard
665b34894e Merge topic 'include-error'
6e5f188b Add DeviceAdapterSerial.h to data set permuation test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !253
2015-11-02 13:59:16 -05:00
Kenneth Moreland
6e5f188b7c Add DeviceAdapterSerial.h to data set permuation test
A recent change to the DeviceAdapter header includes the TBB device if
available instead of the serial device. Thus, DeviceAdapterTagSerial was
not defined automatically in all cases for the build of
UnitTestDataSetPermutation. Add the header for that explicitly.
2015-11-02 10:49:51 -07:00
Robert Maynard
5a4ad3eaf7 Merge topic 'remove_cuda_reduce_no_return_warning'
85d28667 Add a return statement to reduce to stop false positive warnings.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !254
2015-11-02 12:46:06 -05:00
Jeremy Meredith
9b534ff43d Merge branch 'exporter' into 'master'
adding VTK file exporter and test cases

This adds a legacy VTK file exporter which supports unstructured, explicit, and point meshes.  (Single Cell Type cell sets are also supported.)


See merge request !247
2015-10-30 17:39:04 -04:00
Jeremy Meredith
42d213a898 renaming exporters to writers. 2015-10-30 15:45:38 -04:00
Robert Maynard
85d28667c2 Add a return statement to reduce to stop false positive warnings. 2015-10-30 14:55:13 -04:00
Robert Maynard
52467474aa Merge topic 'DeviceAdapter-preprocessor-logic'
04a48129 Add DeviceAdapter preprocessor logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !168
2015-10-29 16:02:01 -04:00
Robert Maynard
4e55f4f507 Merge topic 'update_bechmark_code'
02289807 Update Benchmark code to properly verify all algorithms.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !252
2015-10-28 16:14:39 -04:00
Robert Maynard
022898072c Update Benchmark code to properly verify all algorithms. 2015-10-28 14:20:06 -04:00
Robert Maynard
adace4e10e Merge topic 'conditionaly_check_for_dynamic_types_in_dispatcher'
ca71d70b Update worklet UnitTests to not try statically known invalid combinations
6b2edb70 Update UnitTestDispatcherBase to use verify DynamicTransform error messages.
9fdc0f09 Improve the error message for Invoke type mismatch at compile time.
54d25fae Only perform DynamicTransformCont if at least one parameter is dynamic.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !249
2015-10-27 08:49:49 -04:00
Robert Maynard
fdb31fc695 Merge topic 'reduce_device_algorithm_template_complexity'
8816642d Move algorithms out of DeviceAdapterAlgorithmGeneral to reduce compilation size
c78e54fa Move algorithms out of DeviceAdapterAlgorithmTBB to reduce compilation size.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !248
2015-10-27 08:40:47 -04:00
Robert Maynard
8816642dfd Move algorithms out of DeviceAdapterAlgorithmGeneral to reduce compilation size 2015-10-26 17:22:49 -04:00
Robert Maynard
ca71d70bed Update worklet UnitTests to not try statically known invalid combinations 2015-10-26 17:21:24 -04:00
Robert Maynard
6b2edb703b Update UnitTestDispatcherBase to use verify DynamicTransform error messages. 2015-10-26 16:36:35 -04:00
Robert Maynard
9fdc0f09fc Improve the error message for Invoke type mismatch at compile time.
Now that we can skip generating the DynamicTransform code when all the
arguments are statically known, we need a way to produce nicer error messages.
2015-10-26 16:35:02 -04:00
Robert Maynard
54d25fae55 Only perform DynamicTransformCont if at least one parameter is dynamic.
Previously we always ran DynamicTransformCont even if we knew all the types.
By checking for Dynamic types first, we save roughly 3% on the binary size.

This also is a good starting point for a redesign of DynamicTransformCont
2015-10-26 13:48:25 -04:00
Robert Maynard
c78e54facc Move algorithms out of DeviceAdapterAlgorithmTBB to reduce compilation size. 2015-10-26 09:47:13 -04:00
Robert Maynard
93dba7782a Merge topic 'reduce_dispatcher_template_complexity'
39142d83 Add convenience tags like FieldInPoint, FieldInCell, to WorkletMapPointToCell
f34119b6 Clarify the name of  worklet for point to cell operations.
2c767e10 Add WorkletMapTopologyBase to make Dispatcher templates easier to read.
05d397cb Remove unnecessary template parameters from DispatcherMapField

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !246
2015-10-26 09:29:05 -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
Jeremy Meredith
a78e735b3c adding VTK file exporter and test cases. 2015-10-22 17:18:33 -04:00
Kenneth Moreland
dc11d9a917 Merge branch 'cuda-default-constructors' into 'master'
CUDA default constructors, destructors, and assignment operators

Several classes exclusively work in the control environment. However, CUDA likes to add __device__ to constructors, destructors, and assignment operators it automatically creates. This in turn causes warnings about the __device__ function using host-only classes (like boost::shared_ptr). Solve this problem by adding explicit methods for all of these.


See merge request !245
2015-10-22 15:22:43 -04:00
Robert Maynard
9ca9ad593a Merge topic 'more_cmake_cleanup'
3572a999 More CMake policies that we need to set.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !244
2015-10-22 13:16:51 -04:00
Robert Maynard
2c767e10f7 Add WorkletMapTopologyBase to make Dispatcher templates easier to read. 2015-10-22 12:22:59 -04:00
Robert Maynard
05d397cbf7 Remove unnecessary template parameters from DispatcherMapField
DispatcherMapField was templated on the device adapter but it
actually doesn't need to be, only BasicInvoke and subsequent
methods need to be templated on the device.
2015-10-22 12:22:59 -04:00
Robert Maynard
3572a99950 More CMake policies that we need to set. 2015-10-22 12:21:34 -04:00
Robert Maynard
160f0099e5 Merge topic 'cleanup_cmake_logic'
7a356b2c By default do not export all symbols in vtk-m.
91a09c8b Remove unneeded cmake code from the examples.
e24bdfb6 Bump the minimum cmake version to 2.8.11
05ea81d3 Teach vtk-m CMake about new policies from CMake 3.X.X

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !243
2015-10-22 12:19:04 -04:00
Kenneth Moreland
fec9262099 Add default constructors/destructors/assignment to Dynamic* classes
The DynamicArrayHandle and DynamicCellSet classes exclusively work in
the control environment. However, CUDA likes to add __device__ to
constructors, destructors, and assignment operators it automatically
adds. This in turn causes warnings about the __device__ function using
host-only classes (like boost::shared_ptr). Solve this problem by adding
explicit methods for all of these.
2015-10-22 09:44:51 -06:00
Kenneth Moreland
c7e9c1b67c Add default constructors/destructors/assignment to CellSet classes
The CellSet classes all exclusively work in the control environment.
However, CUDA likes to add __device__ to constructors, destructors, and
assignment operators it automatically adds. This in turn causes warnings
about the __device__ function using host-only classes (like
boost::shared_ptr). Solve this problem by adding explicit methods for
all of these.
2015-10-21 16:28:18 -06:00
Kenneth Moreland
65c2261892 Add default constructors/destructors/assignment to ArrayHandle classes
The ArrayHandle classes all exclusively work in the control environment.
However, CUDA likes to add __device__ to constructors, destructors, and
assignment operators it automatically adds. This in turn causes warnings
about the __device__ function using host-only classes (like
boost::shared_ptr). Solve this problem by adding explicit methods for
all of these.

Implemented this by wrapping up all these default objects in a macro.
This also solved the problem of other constructors that are necessary
for array handles such as a constructor that takes the base array
handle.
2015-10-21 13:36:27 -06:00
Kenneth Moreland
2f190d46c1 Merge branch 'cuda-build-warnings' into 'master'
Fix nvcc warnings on MSVC

There is a strange nvcc warning in CUDA 7.5 that sometimes happens on MSVC
that causes it to emit a warning for an undefined method that is clearly
defined. The CUDA development team is aware of the problem and is going
to fix it, but these changes will work around the problem for now.

See merge request !242
2015-10-21 11:21:03 -04:00
Kenneth Moreland
b861209a22 Fix nvcc warnings on MSVC
There is a strange nvcc warning in CUDA 7.5 that sometimes happens on MSVC
that causes it to emit a warning for an undefined method that is clearly
defined. The CUDA development team is aware of the problem and is going
to fix it, but these changes will work around the problem for now.

Thanks to Tom Fogal from NVIDIA for these fixes.
2015-10-21 08:33:15 -06:00
Robert Maynard
7a356b2cdb By default do not export all symbols in vtk-m.
This is done to help manage the size of our libraries and executables.
2015-10-21 10:28:49 -04:00
Robert Maynard
91a09c8ba2 Remove unneeded cmake code from the examples.
This is needed as it allows the policies specified in the root of
vtk-m to propagate properly to the examples. When CMake
sees a cmake_minimum_required command it resets all policy flags.
2015-10-21 10:27:21 -04:00
Robert Maynard
e24bdfb62a Bump the minimum cmake version to 2.8.11
Numerous examples requires CMake 2.8.11, so lets bump the version for
the whole project up to 2.8.11
2015-10-21 10:26:42 -04:00
Robert Maynard
05ea81d353 Teach vtk-m CMake about new policies from CMake 3.X.X 2015-10-21 10:16:32 -04:00
Kenneth Moreland
e028f2af99 Supress some warnings about copies in FunctionInterface. 2015-10-21 07:55:59 -06:00
Kenneth Moreland
7ff62d8d6b Explicitly add destructors and copy constructors to ArrayHandle classes
Under CUDA, the default constructors and destructors created are exported
as __host__ and __device__, which causes problems because they used a boost
pointer that only works on the host. The explicit copy constructors and
destructors do the same thing as the default ones except declared to only
work on the host.
2015-10-21 07:50:52 -06:00
Kenneth Moreland
1b54ab184d Merge branch 'fix-line-endings' into 'master'
Fix line endings

There were a couple of files checked into the git repository with DOS
line endings. Most git implementations really expect there to be Unix
line endings and should do the appropriate conversions as necessary.
This commit should change the line endings to the appropriate Unix endings.

See merge request !241
2015-10-21 09:15:00 -04:00
Kenneth Moreland
4f8f76f3f7 Fix line endings.
There were a couple of files checked into the git repository with DOS
line endings. Most git implementations really expect there to be Unix
line endings and should do the appropriate conversions as necessary.
This commit should change the line endings to the appropriate Unix endings.
2015-10-20 12:32:29 -06:00
Robert Maynard
876ef118cc Merge topic 'propagate_id3_to_shared_indices'
8de216c0 Propagate vtkm::Id3 scheduling down to the ThreadIndex classes.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !240
2015-10-20 12:25:50 -04:00
Robert Maynard
8de216c088 Propagate vtkm::Id3 scheduling down to the ThreadIndex classes.
This now allows for even more efficient construction of uniform point
coordinates when running under the 3d scheduler, since we don't need to go
from 3d index to flat index to 3d index, instead we stay in 3d index
2015-10-20 09:29:41 -04:00
Kenneth Moreland
1773210635 Merge branch 'shared-indices-in-fetch' into 'master'
Change Fetches to use ThreadIndices instead of Invocation.

Previously, all Fetch objects received an Invocation object in their
Load and Store methods. The point of this was that it allowed the Fetch
to get data from any of the execution objects. However, every Fetch
either just got data directly from its associated execution object or
else used a secondary execution object (the input domain) to get indices
into their own execution object.

This left two potential areas for improvement. First, pulling data out
of the Invocation object was unnecessarily complicated. It would be much
nicer to get data directly from the associated execution object. Second,
when getting index information from the input domain, it was often the
case that extra computations were necessary (particularly on structured
cell sets). There was no way to share the index information among
Fetches, and therefore the computations were replicated.

This change removes the Invocation from the Fetch Load and Store.
Instead, it passes the associated execution object and a new object type
called the ThreadIndices. The ThreadIndices are customized for the input
domain and therefore have all the information needed for a redirected
lookup. It is also a thread-local object so it can cache computed
indices and save on computation time.

See merge request !233
2015-10-19 17:41:43 -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
1b3b4d0607 Merge topic 'cellset_single_type_correct_fill'
95f0ed50 CellSetSingleType::Fill now works with custom storage types.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !239
2015-10-14 11:34:38 -04:00
Robert Maynard
95f0ed5016 CellSetSingleType::Fill now works with custom storage types. 2015-10-14 11:03:24 -04:00
Robert Maynard
2ef9ef4dd9 Merge topic 'clip_test_works_with_64bit_default_float'
c78aac46 UnitTestClipping now properly handles 64bit vtkm::FloatDefault.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !238
2015-10-13 11:24:04 -04:00