Commit Graph

101 Commits

Author SHA1 Message Date
Kenneth Moreland
21b3b318ba Always disable conversion warnings when including boost header files
On one of my compile platforms, GCC was giving conversion warnings from
any boost include that was not wrapped in pragmas to disable conversion
warnings. To make things easier and more robust, I created a pair of
macros, VTKM_BOOST_PRE_INCLUDE and VTKM_BOOST_POST_INCLUDE, that should
be wrapped around any #include of a boost header file.
2015-07-30 17:40:40 -06:00
Kenneth Moreland
5e5203d6be Merge branch 'dynamic-cell-set' into 'master'
DynamicCellSet

Add a ```DynamicCellSet``` class to use in place of raw pointers or boost ```smart_ptr```s to make managing the anonymous class and casting easier.

See merge request !103
2015-07-30 14:58:05 -04:00
Kenneth Moreland
7d5fc75dd5 Fix issue with MSVC/NVCC determining a type. 2015-07-28 16:48:42 -06:00
Kenneth Moreland
514253e103 Use default iterator difference type for IteratorFromArrayPortal
Previously, IteratorFromArrayPortal was declaring its difference_type
to be vtkm::Id. Although this is allowed, there is code that assumes
that iterators have a difference_type that is ptrdiff_t or something
similar. This change makes the difference_type the default for the
boost iterator facade, which should be the type other code that\
neglects to check expects.
2015-07-28 14:06:43 -06:00
Kenneth Moreland
6b68666d0c Created DynamicCellSet
The DynamicCellSet will be used in place of the pointer to a CellSet
in a DataSet. This will prevent us from having to cast it all the time
and also remove reliance on boost smart_ptr.
2015-07-27 16:58:29 -06:00
Kenneth Moreland
85a2545c1e Fix various MSVC warnings.
Most warnings had to do with implicit type conversions and some on
treating an integer (actually a pointer) as a boolean.
2015-07-27 15:56:04 -06:00
Robert Maynard
2f0205f421 Merge branch 'fix-upper-bounds-out-type' into 'master'
Correct type for the output portal in DeviceAdapterAlgorithmGeneral::UpperBounds

It looks like the type here was accidently written as a `ArrayHandle<T, COut>` when it should (I think) be `ArrayHandle<vtkm::Id, COut>`. I Encountered this causing a compilation error when trying to run some
benchmarks with FloatDefault input and values since it was using the
wrong type for some iterators if I recall correctly and couldn't cast to the vtkm::Id
type. This should fix that by using the correct type for the output
portal.

See merge request !75
2015-07-09 08:40:57 -04:00
Kenneth Moreland
a7a8248cfb Add data size introspection to DynamicArrayHandle.
Sometimes it is useful to know how big an array held in a
DynamicArrayHandle is. This adds two methods to DynamicArrayHandle:
GetNumberOfValues and GetNumberOfComponents. They allow you to query the
size of the array without having to statically cast to the array itself.
2015-07-08 14:09:36 -06:00
Will Usher
a6078a6413 It looks like the type here should actually be vtkm::Id
Encountered this causing a compilation error when trying to run some
benchmarks with FloatDefault input and values since it was using the
wrong type for some iterators iirc and couldn't cast to the vtkm::Id
type. This should fix that by using the correct type for the output
portal.
2015-07-08 14:01:30 -06:00
Robert Maynard
b18f59f10c Remove unused typedef in DeviceAdapterAlgorithmGeneral. 2015-06-30 08:38:25 -04:00
Robert Maynard
459552d795 Update the name of the binary functor for UpperBounds 2015-06-23 09:19:09 -04:00
Robert Maynard
3cbac03810 Update the name of the binary functor Unique 2015-06-23 08:58:53 -04:00
Robert Maynard
e6cadef457 Update the name of the unary functor for StreamCompact. 2015-06-23 08:56:18 -04:00
Robert Maynard
7ee3084868 Update the name of the binary functor for Sort. 2015-06-23 08:36:42 -04:00
Robert Maynard
604289c1ce Update the name of the binary functor for ScanInclusive 2015-06-23 08:26:04 -04:00
Robert Maynard
8ba0dacc65 Update the name of the binary functor for Reduce. 2015-06-22 11:55:02 -04:00
Robert Maynard
0901e71574 Update the name of the binary comparison for LowerBounds. 2015-06-22 11:49:11 -04:00
Robert Maynard
49467f3c33 Clean up indentation and remove dead code. 2015-06-19 15:30:03 -04:00
Robert Maynard
d57c39863a Merge branch 'unify_iterator_syntax' into 'master'
ArrayPortalFromIterators uses the GetIteratorBegin method signature.

This makes all the custom ArrayPortals have the same syntax,
which is nice when writing new backends.

See merge request !48
2015-06-19 14:36:34 -04:00
Robert Maynard
640aa69b0f ArrayPortalFromIterators uses the GetIteratorBegin method signature.
This makes all the custom ArrayPortals have the same syntax,
which is nice when writing new backends.
2015-06-19 13:04:53 -04:00
Robert Maynard
f2d5b49823 Remove the ZipHandle special case from DeviceAdapterAlgorithmSerial 2015-06-19 13:01:49 -04:00
Robert Maynard
5e63e0d60f Remove less operator from IteratorFromArrayPortal.h 2015-06-19 12:56:46 -04:00
Kenneth Moreland
46e1d9e5e7 Add NewInstance method to DynamicArrayHandle. 2015-06-16 15:23:50 -06:00
Robert Maynard
726c914ee5 Make sure we use ptrdiff_t for index into arrays.
This is a requirement since you can use negative indices into arrays.
2015-06-16 11:00:01 -04:00
Robert Maynard
2ce14c7760 DeviceAdapter's now properly init all value types.
This is needed when use vtkm::Vec, as it doesn't zero the memory it contains.
2015-06-16 08:35:04 -04:00
Robert Maynard
b7537fec9c Merge branch 'unused_typedef_warnings' into 'master'
Unused typedef warnings

See merge request !37
2015-06-15 14:15:09 -04:00
Robert Maynard
2eba6ecb32 Remove uneeded typedefs. 2015-06-15 11:45:31 -04:00
Chun-Ming Chen
32f3fa6d87 Fix unmerged codes from the previous merge. Use multiply in customed operator ReduceByKey test 2015-06-15 11:12:51 -04:00
Chun-Ming Chen
4d9c25deff Merge remote-tracking branch 'robert/reduce_by_key_custom_binary_function' into ReduceByKey_fix 2015-06-15 10:55:44 -04:00
Chun-Ming Chen
dcc12e733f Fix ReduceByKey general algorithm to work with parallel ScanInclusive. Use bit representation for states. 2015-06-13 02:46:36 -04:00
Robert Maynard
53d7053d7a Fix a bug where DeviceAdapterGeneral::ReduceByKey ignored custom binary functor 2015-06-12 16:11:28 -04:00
Robert Maynard
50ffcec3bb Merge branch 'tbb_SortByKey_ZipArray_fix' into 'master'
TBB sort by key zip array fix

The original codes do not accept when the zip handle array contains two different storage types

See merge request !25
2015-06-12 15:43:09 -04:00
Chun-Ming Chen
360279c29a A more general Copy that allows copying into a diff. array type. Testing codes are added. 2015-06-12 12:42:43 -04:00
Robert Maynard
c41f232edc Allow Serial Device to reduce Zip Array Handles. 2015-06-12 10:08:10 -04:00
Robert Maynard
cb4e509be7 Correct some missing VTKM_CONT_EXPORT macros. 2015-06-12 10:08:10 -04:00
Chun-Ming Chen
1088e855c3 Add ReduceByKey support for zip array input. A testing codelet to demo the problem. 2015-06-11 11:29:51 -04:00
Robert Maynard
3a3a577e1b Allow Serial Device Adapter to sort array handle zip. 2015-06-10 14:15:39 -04:00
Robert Maynard
5b96d435c7 Give IteratorFromArrayPortalValue class a less operator.
This is required so that they can be sorted, which happens when sorting
an ArrayHandleZip.
2015-06-10 14:15:39 -04:00
Chun-Ming Chen
274ed989c4 change KeyCompare() in DeviceAdapterAlgorithmGeneral from private to protected, to be used in DeviceAdapterAlgorithmSerial 2015-06-08 14:19:37 -04:00
Chun-Ming Chen
a936cb93c5 Add comments 2015-06-08 12:40:44 -04:00
Chun-Ming Chen
5d4a212c95 make internal algorithm primatives private 2015-06-08 12:23:03 -04:00
Chun-Ming Chen
7dd853aec1 to pass testing & pruning 2015-06-08 12:23:03 -04:00
Chun-Ming Chen
6ec7f4469d indexed sortByKey in serial 2015-06-08 12:23:03 -04:00
Robert Maynard
34c005104f Simplify the implementation of Schedule 3D for the serial background. 2015-06-08 09:48:46 -04:00
Robert Maynard
18dbdd5d52 Add in a better version of 3d scheduling to the serial backend.
This is the first step to having better 3d scheduling for the serial backend.
While this doesn't improve the performance, it lays the foundation for
allowing I,J,K indexing when iterating Cells of a uniform grid.
2015-06-08 08:32:07 -04:00
Robert Maynard
ca3a91ef6e Merge branch 'add-tbb-backend' 2015-06-01 14:31:01 -04:00
Sujin Philip
08f88b1cb9 Add TBB backend. 2015-06-01 13:57:37 -04:00
Chun-Ming Chen
7ea9563d19 Fixed bug in ReduceByKey 2015-06-01 12:33:08 -04:00
Robert Maynard
07970cf476 Correct all signed / unsigned and narrowing warnings ( 64bit to 32bit ). 2015-05-28 09:05:17 -04:00
Robert Maynard
d54aee7eb5 Merge branch 'fix_typo_in_copyright' 2015-05-21 10:32:08 -04:00