Commit Graph

208 Commits

Author SHA1 Message Date
Kenneth Moreland
5b8389f955 Use printSummary_ArrayHandle when testing fancy arrays
This makes it easier to see what is going on in the fancy arrays and do
diagnostics.

This change required some changes to printSummary_ArrayHandle to support
more array types.
2017-02-15 14:34:17 -07:00
David C. Lonie
f601e38ba8 Simplify exception hierarchy.
Remove the ErrorControl class such that all subclasses now inherit from
error. Renamed all exception classes via s/ErrorControl/Error/.

See issue #57.
2017-02-07 15:42:38 -05:00
Robert Maynard
9148bea396 Corrects ignorable warnings with msvc and cuda enabled.
These constant value warnings are ignorable as we are trying
to throw an assert.
2017-02-02 10:09:34 -05:00
Kenneth Moreland
629271bceb Make sure all ArrayPortals have a Set method.
The current design for ArrayPortalVirtual makes it a requirement for all
array portals (that it wraps) to have Set defined. Thus, make sure Set is
defined for all ArrayPortal. Where Set is invalid, an assert is thrown if
something calls it at runtime.
2017-01-31 15:46:39 -05:00
Robert Maynard
3c07c77fa7 Introduce vtkm_cont library to reduce weak vtable creation.
This reduces the number of weak vtables vtkm generates, resulting in
a reduction of binary sizes for projects that include vtkm classes in
multiple translation units.
2017-01-16 09:17:38 -05:00
Robert Maynard
d8d6fd1741 StorageTags are now always exported to resolve future dynamic_cast issues.
Class that need to be passed across dynamic library boundaries such as
DynamicArrayHandle need to be properly export. One of 'tricks' of this
is that templated classes such as PolymorphicArrayHandleContainer need
the Type and Storage types to have public visibility.

This makes sure that all vtkm storage tags have public visibility so
in the future we can transfer dynamic array handles across libraries.
2017-01-16 09:17:38 -05:00
Robert Maynard
a74bab02f4 Merge topic 'allow_reduction_to_different_T_type'
b97b4cc7 Allow thrust::reduce to work when iterator and initial value types differ.
64bcc343 Refactor MinAndMax to use vtkm::Vec<T,2> instead of Pair.
8d60ed57 Refactor MinAndMax to be a shared binary operator.
18375b54 Update Bound computations to always use a single Reduce call
2cfc9743 Reduce can support reduce to a T type that isn't the arrayhandles T type.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !614
2016-12-01 07:56:30 -05:00
Robert Maynard
2b5b2ab1f8 Make sure FunctorsGeneral doest produce warnings when parsed by nvcc. 2016-11-30 17:13:12 -05:00
Robert Maynard
6b1094c767 Consistently include windows.h by making a wrapper header.
We previously included windows.h in numerous locations using different
techniques to guard against bringing in parts of the file that are bad
(min/max macros, etc). This solves the problem by consistently using
vtkm/internal/Windows.h to setup everything.
2016-11-28 09:54:37 -05:00
Robert Maynard
2cfc9743e3 Reduce can support reduce to a T type that isn't the arrayhandles T type.
This has been done so that operations such as computing the Min/Max of
an array can be done in a single reduce step.
2016-11-25 11:40:46 -05:00
Kenneth Moreland
63c748f049 Implement ArrayHandleGroupVecVariable
This is a fancy array handle that can group entries in another array by
arbitrary amounts. This allows us to implement input and output arrays
with a different sized Vec for each instance. This is necessary for
generating new topologies with cells of different types.
2016-11-22 17:10:09 -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
d52fc1f76c Remove PointCoordinatesBase which is not used. 2016-11-10 15:07:34 -05:00
Christopher Sewell
f779e8a1bd Removing streaming scan inclusive for now 2016-11-09 15:43:57 -07:00
Christopher Sewell
faa69e539d vtkm::internal::Add to vtkm::Add 2016-11-09 14:21:50 -07:00
Christopher Sewell
8a8b409d4c Merge remote-tracking branch 'upstream/master' into StreamingArray 2016-11-09 12:15:58 -07:00
Robert Maynard
f31d6c2258 Refactor vtkm::Types to be concise and move math helpers out of internal.
I have verified that the optimized assembly for Vec<3> and Vec<4> are consistent
with what we generated before.
2016-10-28 14:57:16 -04:00
Christopher Sewell
9afbdffbf5 Attempt fix warning in streaming 2016-10-25 08:36:24 -06:00
Christopher Sewell
a5a487b365 Attempt 15 to resolve Windows compiler warning with streaming storage 2016-10-23 07:24:28 -06: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
Christopher Sewell
92d686fccd Attempt 12 to resolve Windows compiler warning with streaming storage 2016-10-21 15:12:22 -06:00
Christopher Sewell
1ebf0c17b6 Attempt 10 to resolve Windows compiler warning with streaming storage 2016-10-21 13:10:49 -06:00
Christopher Sewell
45208e83cc Attempt 9 to resolve Windows compiler warning with streaming storage 2016-10-21 12:41:23 -06:00
Christopher Sewell
f1af30804e Attempt 8 to resolve Windows compiler warning with streaming storage 2016-10-21 10:58:14 -06:00
Christopher Sewell
c540a699f2 Attempt 7 to resolve Windows compiler warning with streaming storage 2016-10-21 10:12:15 -06:00
Christopher Sewell
6096b6f12a Attempt 6 to resolve Windows compiler warning with streaming storage 2016-10-20 15:35:54 -06:00
Christopher Sewell
2c8d2d3006 Attempt 5 to resolve Windows compiler warning with streaming storage 2016-10-20 14:27:07 -06:00
Christopher Sewell
4af0cd4bfb Attempt 4 to resolve Windows compiler warning with streaming storage 2016-10-20 13:00:43 -06:00
Christopher Sewell
05975a2325 Attempt 3 to resolve Windows compiler warning with streaming storage 2016-10-20 10:32:30 -06:00
Christopher Sewell
278db37c08 Attempt 2 to resolve Windows compiler warning with streaming storage 2016-10-19 14:44:48 -06:00
Christopher Sewell
c5bd2a3e80 Attempt 1 to resolve Windows compiler warning with streaming storage 2016-10-19 12:17:01 -06:00
Robert Maynard
5c564b0657 Replace usage of boost::iterator_facade with hand rolled iterator. 2016-10-19 08:35:42 -04:00
Christopher Sewell
c6e15c1240 Merge remote-tracking branch 'upstream/master' into StreamingArray 2016-10-07 18:10:29 -06:00
Christopher Sewell
1aa092e027 Removing unnecessary allocation in streaming scan 2016-10-07 18:09:50 -06: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
Robert Maynard
0f58d6fc54 Add vtkm/cont/serial directory for the serial backend. 2016-09-28 14:22:53 -04: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
Robert Maynard
c9834283ea Remove vtkm usage of boost::shared and scoped pointers.
Now we are using c++11 shared_ptr and unique_ptr
2016-09-01 09:38:25 -04:00
Robert Maynard
f81c42b9b4 Replace NULL with nullptr where applicable. 2016-09-01 09:38:25 -04:00
Robert Maynard
12810165bb Switch over to c++11 type_traits. 2016-08-31 16:11:26 -04:00
Kenneth Moreland
40db6c1cd1 Merge branch 'faster-compile' into 'master'
Faster compile

Some small change to make modest improvements to the
compile time.

See merge request !520
2016-08-25 16:03:58 -04:00
Kenneth Moreland
f8442903d8 Replace TryAllTypes with trying exemplar tests
There were many tests that created code paths for every base and Vec
type that VTK-m supports (up to 4 components). Although this is
admirable, it is also excessive, and our compile times for the tests are
very long.

To shorten compile times, remove the TryAllTypes method. Replace it with
a version of TryTypes that uses a default list of "exemplar" set of
integers, floats, and Vecs.
2016-08-24 16:02:18 -06:00
Robert Maynard
51e50d2933 Add DeviceAdapter::CopySubRange to all device adapters.
This allows callers to copy a subsection of an array into another array,
without clearing the contents of the destination array if a resize
is required.
2016-08-24 15:42:51 -04:00
Kenneth Moreland
e488967c8f Use general TryExecute for filter execution
The TryExecute function was based off of the ResolveFieldTypeAnd*
classes made for filters. To reduce the amount of code duplication,
modify these two filter classes to use the more general TryExecute
functionality.
2016-08-17 14:13:51 -06:00
Kenneth Moreland
dd2edcab6c Add general ability to try execution on multiple devices
There are various reasons why you might want to execute something but
not have a specific device to execute on. To mange this, add a general
function that will try a list of devices in order and attempt to run on
them in order.
2016-08-15 17:16:58 -06:00
Robert Maynard
146d800968 make CastAndCall a free function instead of a class.
Overloading the function serves the same purpose of specializing the
class, but requires less syntax sugar to do.
2016-08-05 15:18:22 -04:00