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
791e0c477c
Add a test to use Reduce and ArrayHandleZip together.
2015-06-12 11:56:46 -04:00
Robert Maynard
2a2159b1e1
Generalize the support for zip handles inside the cuda backend.
...
Instead of having a single specialization for sort and zip handles,
we know handle any fancy handles being passed to the cuda device adapter.
This was done by reworking how we represent fancy iterators inside thrust,
and instead of using a transform iterator + counting iterator we just use
a iterator_facade.
2015-06-12 11:56:46 -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
84192883fa
Merge branch 'tbb_SortByKey_ZipArray_fix' of https://gitlab.kitware.com/chunmingchen/vtk-m into tbb_SortByKey_ZipArray_fix
2015-06-11 11:51:43 -04:00
Chun-Ming Chen
ebf814cb81
This merge adds ReduceByKey with different keys
...
Merge branch 'test_tbb_SortByKey' into tbb_SortByKey_ZipArray_fix
Conflicts:
vtkm/cont/testing/TestingDeviceAdapter.h
2015-06-11 11:48:13 -04:00
Chun-Ming Chen
d42edb51ab
Include ArrayHandleZip in related testing codes
2015-06-11 11:29:51 -04:00
Chun-Ming Chen
267505ff0f
Remove unncecessary comments
2015-06-11 11:29:51 -04:00
Chun-Ming Chen
c7cf1a27f2
add testing ReduceByKey with zipped array with heterogeneous value types
2015-06-11 11:29:51 -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
Chun-Ming Chen
c60b9688fc
TBB may fail in the new test case
2015-06-10 16:37:52 -04:00
Robert Maynard
d26cfcf5cc
Merge branch 'sort_inplace_zip_arrays' into 'master'
...
Allow in-place sorting of ArrayHandleZip
See merge request !29
2015-06-10 15:51:40 -04:00
Robert Maynard
c052400ffb
CUDA now converts ArrayHandleZip to ::thrust::zip iterator.
...
This is required so that we can use ArrayHandleZip with Sort/Reduce and
custom comparison operators. ArrayZip and PortalValue don't combine
well together, when used with DeviceAlgorithm that has a custom operator.
The custom operator is actually passed the PortalValue instead of
the real values, and by that point we can't fix anything since we
don't know what the original operator is.
2015-06-10 14:15:40 -04:00
Robert Maynard
cbf3faf135
Simplify the SortGreater and SortLesser Implementation.
2015-06-10 14:15:40 -04:00
Robert Maynard
549a7dd7c7
Adding support to cuda backend to write to a ZipHandle.
2015-06-10 14:15:40 -04:00
Robert Maynard
493d201029
Add tests to verify that you can properly sort ArrayHandleZip.
...
We have increased the ARRAY_SIZE for the TestingDeviceAdapter to work
around issues with backends not using parallel algorithms for arrays of length
500 or less.
2015-06-10 14:15:40 -04:00
Robert Maynard
543a3a0453
Allow TBB Device Adapter to sort array handle zip.
2015-06-10 14:15:39 -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
Robert Maynard
040d7e761e
Explicitly invoke all thrust algorithms using the cuda policy.
...
This is required if we ever want to use thrust from another device adapter.
2015-06-10 09:41:06 -04:00
Sujin Philip
8ed32edd3f
Merge branch 'use_empty_fields_for_output' into 'master'
...
Allow creation of vtkm::cont::Field without any data.
This is needed to allow Field's to be used as output.
See merge request !27
2015-06-08 17:37:53 -04:00
Robert Maynard
44deb3c870
Allow creation of vtkm::cont::Field without any data.
...
This is needed to allow Field's to be used as output.
2015-06-08 16:14:49 -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
8a3cc844e8
Include ArrayHandleZip in related testing codes
2015-06-08 13:31:31 -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
Chun-Ming Chen
bf44b9a840
Remove unncecessary comments
2015-06-08 12:13:19 -04:00
Chun-Ming Chen
5d87c1fa79
add testing ReduceByKey with zipped array with heterogeneous value types
2015-06-08 11:57:29 -04:00
Chun-Ming Chen
1533d7c63a
Add ReduceByKey support for zip array input. A testing codelet to demo the problem.
2015-06-08 11:57:29 -04:00
Robert Maynard
252c8563ed
Merge branch 'allow_creating_output_arrayhandle_zip'
2015-06-08 10:46:57 -04:00
Robert Maynard
0bd7d5e0f5
Merge branch 'schedule_id3_serial'
2015-06-08 10:38:20 -04:00
Robert Maynard
95cf2edc37
Allow the creation of array handle zips.
...
We now allow the user to use array handle zips as output with knowing
the size of the output.
2015-06-08 10:17:46 -04:00
Robert Maynard
2d6bdd1496
Correct a bug in the TBB Schedule 3D implementation.
2015-06-08 09:49:08 -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
1d595b868c
Make Schedule 3D use a larger dim size to throughly test implementations.
...
A smaller dim size can hide problems with algorithms that don't sum properly,
or do to much math per iteration.
2015-06-08 09:47:17 -04:00
Robert Maynard
8a8fc9ea73
Remove unused code from TestingDeviceAdapter.
2015-06-08 08:45:38 -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
98b13aae2f
Merge branch 'allow_modification_of_user_storage'
2015-06-08 08:26:33 -04:00
Sujin Philip
4c51138f60
Add new lines at end of files.
2015-06-05 13:14:28 -04:00
Robert Maynard
b43fb01ff0
Redesign StorageBasic to allow modification of user provided memory.
...
The driving desire for this change was to make vtk-m ArrayHandle behave more
like the standard vector. The canonical example of what we want to support is:
```
std::vector<vtkm::Id> values;
values.resize(100);
vtkm::cont::ArrayHandle<vtkm::Id> array = vtkm::cont::make_ArrayHandle(values);
vtkm::cont::DeviceAdapterAlgorithm<DeviceAdapter>::Sort(array);
```
And with-out the ability to modify user provided memory, this was impossible.
2015-06-05 10:32:48 -04:00
Robert Maynard
342a9989a5
Correct double to float conversion warnings.
2015-06-04 09:06:47 -04:00
Robert Maynard
0a433303e6
Correct headers to have the new copyright.
2015-06-03 15:06:43 -04:00
Robert Maynard
6af4961e40
Remove unneeded test file.
2015-06-03 15:06:32 -04:00