Commit Graph

527 Commits

Author SHA1 Message Date
Kenneth Moreland
ddddd4a33b Add exponential functions to math library. 2015-06-22 16:24:18 -06:00
Kenneth Moreland
b4a4534dbe Introductory pyexpander macros for Math functions 2015-06-22 14:19:10 -06:00
Robert Maynard
1442400018 Merge branch 'faster_tbb_algorithms' into 'master'
Improve the performance of tbb sortbykey with heavy value arrays.

See merge request !52
2015-06-22 09:20:18 -04:00
Robert Maynard
80c53e6a11 Merge branch 'cleanup_indention_in_serial_adapter' into 'master'
Clean up indentation and remove dead code.

See merge request !51
2015-06-19 16:01:29 -04:00
Robert Maynard
49467f3c33 Clean up indentation and remove dead code. 2015-06-19 15:30:03 -04:00
Robert Maynard
b36211baf2 Improve the performance of tbb sortbykey with heavy value arrays. 2015-06-19 14:37:59 -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
7c60e7649b Merge branch 'simplify_serial_sort' into 'master'
Simplify serial sort

See merge request !49
2015-06-19 14:27:21 -04:00
Robert Maynard
de0c8d1f7d Merge branch 'remove_iostream_include' into 'master'
Remove inclusion of iostream header.

See merge request !50
2015-06-19 14:27:12 -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
fa78610ea1 Remove inclusion of iostream header. 2015-06-19 13:03:56 -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
Robert Maynard
9c1012b782 Merge branch 'verify_permutation_array' into 'master'
Verify permutation array works with Sort and Reduce.

See merge request !46
2015-06-19 09:31:55 -04:00
Robert Maynard
011b79ba00 Verify permutation array works with Sort and Reduce. 2015-06-19 08:44:21 -04:00
Robert Maynard
bd62ec394e Merge branch 'remove_make_thrust_zip_iter_cruft' into 'master'
Remove dead code for converting zip handles to iterators for cuda.

This code isn't needed anymore as the new iterator facade handles this use case properly.

See merge request !45
2015-06-18 15:35:29 -04:00
Robert Maynard
6c3f669398 Remove dead code for converting zip handles to iterators for cuda.
This code isn't needed anymore as the new iterator facade handles this
use case properly.
2015-06-18 13:53:02 -04:00
Robert Maynard
549dfa544c Merge branch 'correct_cuda_scan' into 'master'
Correct undefined behavior that was causing scan test failures.

We need call PrepareForInput on the input argument before invoking a function.
The order of execution of parameters of a function is undefined, so we need to
make sure input is called before output, or else in-place use case breaks.

See merge request !44
2015-06-17 16:00:18 -04:00
Robert Maynard
9d350fb023 Correct undefined behavior that was causing scan test failures.
We need call PrepareForInput on the input argument before invoking a function.
The order of execution of parameters of a function is undefined, so we need to
make sure input is called before output, or else in-place use case breaks.
2015-06-17 15:35:27 -04:00
Kenneth Moreland
73217515d1 Merge branch 'new-instance-dynamic-array-handle' into 'master'
Add NewInstance method to DynamicArrayHandle.

Per Sujin's recent request on the VTK-m mailing list, here is an implementation of NewInstance added to DynamicArrayHandle.

See merge request !43
2015-06-16 17:48:27 -04:00
Kenneth Moreland
46e1d9e5e7 Add NewInstance method to DynamicArrayHandle. 2015-06-16 15:23:50 -06:00
Robert Maynard
1c14539579 Merge branch 'correct_vtkm_pair_init' into 'master'
Properly initialize vtkm::Pair, and remove the TypeTrait for it.

vtkm::Pair can hold vtkm::Vec so we need to call the proper constructor
for vtkm::Vec.

Now that vtkm::TypeTraits don't error out on unknown types, we don't need
the weird specialization for vtkm::Pair.

See merge request !39
2015-06-16 16:00:44 -04:00
Robert Maynard
3f60ebbd6f Merge branch 'improve_tbb_sort_and_reduce_performance' into 'master'
Correct tbb to properly sort all arrrays in parallel.

See merge request !42
2015-06-16 15:02:17 -04:00
Robert Maynard
6279b8ed28 Correct tbb to properly sort all arrrays in parallel. 2015-06-16 14:40:25 -04:00
Robert Maynard
9ef7fa9b3a Merge branch 'iterator_operator_square_bracket_corrected' into 'master'
Make sure we use ptrdiff_t for index into arrays.

This is a requirement since you can use negative indices into arrays.

See merge request !41
2015-06-16 13:09:17 -04:00
Robert Maynard
7f7038d96b Merge branch 'remove_unneeded_cuda_wrapped_op_overloads' into 'master'
Remove un-needed overloads from WrappedOperators for cuda.

See merge request !40
2015-06-16 13:09:04 -04:00
Robert Maynard
eb7e388adc Properly initialize vtkm::Pair, and remove the TypeTrait for it.
vtkm::Pair can hold vtkm::Vec so we need to call the proper constructor
for vtkm::Vec.

Now that vtkm::TypeTraits don't error out on unknown types, we don't need
the weird specialization for vtkm::Pair.
2015-06-16 13:06:08 -04: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
eb6c698e63 Remove un-needed overloads from WrappedOperators for cuda. 2015-06-16 09:48:12 -04:00
Robert Maynard
925d6865d2 Merge branch 'deviceAdapter_zero_init_vtkm_vec' into 'master'
DeviceAdapter now properly initialize vtkm::Vec to the proper value.

See merge request !38
2015-06-16 09:14:42 -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
095f25c3ac vtkm::TypeTraits now work on all types. Plus has ZeroInit helper function. 2015-06-16 08:34:29 -04:00
Robert Maynard
2c91cdfa3b Update cuda/thrust backend scan algorithms to work with vec types. 2015-06-16 08:28:31 -04:00
Robert Maynard
19121fbbfb Remove creating a vtkm::vec from a pointer.
We need to remove this overload to simplify the constructors, and to
allow code such as vtkm::Vec<float,3> f(0). Which when you have both
overloads is ambiguous.
2015-06-16 08:27:37 -04:00
Robert Maynard
e44510eef7 Testing was calling host functions from device+host functions. 2015-06-16 08:27:37 -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
14801c87db Merge branch 'ReduceByKey_fix' into 'master'
Fix ReduceByKey general algorithm to work with parallel ScanInclusive

Also using bit representation for states.  This is using an advanced algorithm, and the fix has very little change from the current implementation.

See merge request !35
2015-06-15 14:00:14 -04:00
Robert Maynard
4088db797d disable conversion warnings inside boost 2015-06-15 11:45:31 -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
Robert Maynard
65b6d5eefd Merge branch 'more_general_array_copy' into 'master'
A more general Copy that allows copying into a diff. array type.  Testing codes are added.

See merge request !33
2015-06-12 13:16:31 -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
ff2e03f180 Merge branch 'reduce_with_zip_arrays' into 'master'
Fancy Arrays as input to Device Algorithms

Currently working on the general approach to get ArrayHandleZip/Permutation to be handled by all device adapter algorithms.

See merge request !32
2015-06-12 11:57:09 -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