Jakub Szuppe
c47753c4fa
Stable comparison sort, sort-by-key
2016-06-22 17:06:12 +02:00
Jakub Szuppe
7996382178
Use index instead of copying vals in bitonic sort-by-key
...
Instead of copying values in local memory in bitonic block
sort (when sorting by key), we save and copy local index
and copy value once at the end. This saves local memory.
2016-06-22 15:59:55 +02:00
Jakub Szuppe
8f033e72ee
Add comparison sort and sort by key
2016-06-21 17:41:36 +02:00
Jakub Szuppe
8f4db3d7b7
Reuse dispatch_copy_async() in dispatch_copy()
2016-05-28 22:54:51 +02:00
Jakub Szuppe
bffc9f74fb
Fix async copying when first == last (input is empty)
2016-05-28 22:46:35 +02:00
Jakub Szuppe
c9a0aba172
Remove debug macro, fix names of event variables
2016-05-28 22:05:50 +02:00
Jakub Szuppe
5c29b50823
Coping SVM to/from host by mapping SVM memory
2016-05-28 13:15:36 +02:00
Jakub Szuppe
753f883321
Support for svm_ptr<T> in meta_kernel
2016-05-28 13:15:36 +02:00
Jakub Szuppe
4280024f26
Now svm_ptr<T> keeps its context
...
This commit modifies svm_ptr<T> to keep its context. It is
convenient for the users and enables creating
svm_ptr_index_expr<T, IndexExpr> class.
2016-05-28 13:15:36 +02:00
Jakub Szuppe
aaaaca4ed2
Type-safe async coping from device to host
2016-05-28 13:15:36 +02:00
Jakub Szuppe
3dcbd4c001
Fix async coping svm_ptr<> from/to/on device
2016-05-28 13:15:36 +02:00
Jakub Szuppe
1419b7d36f
Type-safe copying from device to host
...
Type-safe copying from device to host. Seperate copying
algorithm device -> host for non-contiguous OutputIterator (host).
2016-05-24 21:37:29 +02:00
Jakub Szuppe
ce8230b6f5
Coping from host for non-contiguous iterators (host)
...
When InputIterator (host) is a non-contiguous iterator we don't
need a separate algorithm for cases when value_types of InputIterator
and OutputIterator (device) do not match and cases when they do
match.
2016-05-21 17:16:13 +02:00
Jakub Szuppe
d12e07c0e9
Fix type-safety issues for async copying host->device
2016-05-21 16:58:15 +02:00
Jakub Szuppe
a830531445
Fix type-safety issues when copying host->device
2016-05-21 16:44:44 +02:00
Jakub Szuppe
56ad192b92
Now discrete_distribution generates IntType values
...
Class discrete_distribution should generate values of type
IntType. Until now it always generated unsigned int values.
2016-05-11 08:30:46 +02:00
Jakub Szuppe
227c05cbdc
Add min() and max() methods for discrete_distribution
2016-05-11 08:30:44 +02:00
Jakub Szuppe
e9b2c0ff4b
Add default constructor for discrete_distribution
2016-05-11 08:30:41 +02:00
Jakub Szuppe
1799ee1b6e
Support for first==last in discrete_distribution range ctor
...
Add support for the case with first iterator being equal
to last iterator in range ctor. Now it behaves like ctor in
std::discrete_distribution.
Additionaly: now method probabilities() returns correct vector
of probabilities.
2016-05-11 08:30:39 +02:00
Jakub Szuppe
0fe1ab3e24
Add type checks for distributions
...
This commit adds asserts that check if used template
type is correct (is integral, is a floating point type).
2016-05-05 14:23:28 +02:00
Jakub Szuppe
38b75f920c
Fix boost::compute::discrete_distribution constructor
2016-05-05 14:23:28 +02:00
Kyle Lutz
dc7bfa0252
Merge pull request #609 from haahh/pr_copy_buffer_for_device_ptr
...
Enable copying with copy buffer op for device_ptr
2016-05-03 20:58:09 -07:00
Jakub Szuppe
02e12b40fd
Enable copying with copy buffer op for device_ptr
...
This commit enables copying data using clEnqueueCopyBuffer()
in boost::compute::copy() algorithm for device_ptr<>.
2016-05-03 21:39:19 +02:00
Jakub Szuppe
2fdafa2128
Remove deprecated Boost macros
2016-05-03 17:13:08 +02:00
Jakub Szuppe
5e28138a7a
Update minimum required Boost version to 1.54
2016-05-03 14:32:22 +02:00
Kyle Lutz
822be4d306
Merge pull request #605 from boostorg/kernel-get-arg-info-specializations
...
Add specializations for kernel::get_arg_info()
2016-05-02 19:42:13 -07:00
Kyle Lutz
71f1d0d441
Add specializations for kernel::get_arg_info()
2016-04-30 10:32:13 -07:00
Kyle Lutz
52b78417f3
Fix static assert message in boost::compute::function
2016-04-30 09:47:04 -07:00
Kyle Lutz
3c2bbbe845
Merge pull request #597 from haahh/pr_fix_find_end
...
Fix find_end algorithm
2016-04-25 21:37:46 -07:00
Kyle Lutz
ecdb24ef86
Merge pull request #595 from haahh/pr_fix_uni_real_dist
...
Fix uniform real distribution
2016-04-25 21:35:23 -07:00
Jakub Szuppe
8aea290320
Make sure a < b in uniform real distribution
...
Making sure that the left endpoint (a) of the range in uniform
real distribution is less than the right endpoint (b).
2016-04-25 19:46:21 +02:00
Jakub Szuppe
43a2d0286b
Fix range of values generated by uniform real dist
...
Now generated floating-point values are uniformly distributed
on the interval [a, b). Before this commit it was possible
to produce values equal to b.
2016-04-25 19:43:47 +02:00
Jakub Szuppe
940f379aa9
Fix find_end algorithm
...
There was an uninitialized memory at the end of matching_indices
vector and it was read by detail::find_end_helper(...) function
resulting in wrong index returned by this function.
2016-04-25 13:58:55 +02:00
Jason Rhinelander
7f18293526
Increase make_literal precision
...
make_literal is losing some precision when making literal floating
point values because it uses digits10, but that only gives us the
number of decimal digits that will survive a decimal->native>decimal
conversion; what we are doing is a native->decimal->native conversion,
which requires the user of ::max_digits10 (which is 2 (double) or 3
(float) larger than ::digits10).
max_digits10 is a c++11 feature, however, so this commit uses
digits10 + 3 when the c++11 numeric_limits isn't available.
2016-04-24 17:32:55 -04:00
Jakub Szuppe
6d5d9b0b5d
Now radix_sort_by_key is stable
...
Radix sort algorithm was not stable when used for
sorting by key in descending order (see issue #588 ).
2016-04-23 18:21:15 +02:00
Jason Rhinelander
d4653c6624
Use nextafter to push values down into [0,1) range
...
Without this, we can get values of 1, but that leads to negative
infinity from the following log; if we push the x1 value towards 0, we
ensure that (one-x1) is always a value in (0,1], and so the log value
will be in (-inf, 0], which is what we want.
2016-04-22 19:27:47 -04:00
Kyle Lutz
a1090c1290
Fix issue with zero values in normal_distribution
2016-04-22 18:51:26 -04:00
Kyle Lutz
bf8eeb9738
Use natural log in normal_distribution kernel
2016-04-22 18:50:49 -04:00
Kyle Lutz
3d9fd19350
Merge pull request #585 from bwitherspoon/wait-list-initializer-list
...
Add initializer list constructor to wait_list
2016-04-18 14:51:16 -07:00
Brett Witherspoon
8f449cde4b
Add initializer list constructor to wait_list
2016-04-17 02:59:51 -05:00
Jakub Szuppe
da222c8243
Remove unused variable
2016-04-10 12:46:38 +02:00
Kyle Lutz
44f08e3932
Merge pull request #580 from boostorg/fix-svm-ptr-assignment-operator
...
Add missing return to svm_ptr assignment operator
2016-04-07 15:10:42 -07:00
Kyle Lutz
203f0be723
Add missing return to svm_ptr assignment operator
2016-04-07 07:58:03 -07:00
Kyle Lutz
523d8e9745
Merge pull request #577 from ddemidov/wait_list-improvements
...
Wait list improvements
2016-03-18 19:38:41 -07:00
Kyle Lutz
da71051593
Merge pull request #573 from haahh/pr_stable_sort_by_key
...
Add stable_sort_by_key()
2016-03-18 19:36:22 -07:00
Denis Demidov
cafe8b6578
Provide wait-list iterators
2016-03-18 22:27:55 +03:00
Denis Demidov
15b7414e78
Provide array subscript operator for wait_list
2016-03-18 22:20:39 +03:00
Denis Demidov
2eed2c2fdd
Provide wait_list::reserve() method
...
This should help to get rid on unnecessary heap allocations.
The wait lists are usually small, which means that just pushing back
elements without prior call to reserve has very high chance of hitting
capacity limit every time wait_list::insert is called.
2016-03-18 10:58:29 +03:00
Jakub Szuppe
73ef474fdd
Add stable_sort_by_key()
...
Currently, stable_sort_by_key() works on GPUs only for
keys that are radix-sortable and for very small inputs.
2016-03-16 14:59:02 +01:00
Jakub Szuppe
b3224ea753
Misc. strided_iterator changes
2016-03-16 13:16:14 +01:00
Jakub Szuppe
b8fa408d4b
Fix compilation errors on OSX
...
Fix compilation errors occurring on OSX in strided_iterator,
merge_with_merge_path() and includes(). They were introduced
by commit 3826e9cae4
fixing
signed/unsigned int comparison warnings on Windows.
2016-03-16 13:08:39 +01:00
Kyle Lutz
38ba1c5447
Merge pull request #566 from haahh/update-test-jamfilev2
...
Update tests compile options in Jamfile.v2
2016-03-10 13:04:02 -08:00
Kyle Lutz
fe816c5acf
Merge pull request #571 from haahh/win-related-changes
...
Windows related changes
2016-03-10 10:14:03 -08:00
Jakub Szuppe
3826e9cae4
Misc fixes
2016-03-09 18:56:17 +01:00
Jakub Szuppe
1653a06f90
Suppress OpenCL-related deprecated declarations warns
...
Suppress deprecated declarations warnings (for MSVC, GCC and Clang)
caused by deprecated OpenCL Runtime functions.
2016-03-09 17:08:45 +01:00
Kyle Lutz
03dc34b820
Add type_name() support for OpenGL types
2016-03-07 19:52:32 -08:00
Jakub Szuppe
c7b87432cb
Fix valarray operators
2016-02-16 21:28:25 +01:00
Kyle Lutz
ff0b5ad69e
Add missing forward declaration to image3d.hpp
2016-02-02 20:45:10 -08:00
Kyle Lutz
9f1766dd17
Fix counting_iterator with unsigned types
2016-01-18 20:53:41 -08:00
Kyle Lutz
3466881454
Merge pull request #548 from haahh/timberosx_fixes
...
Timber OSX fixes
2016-01-13 10:56:58 -08:00
Jakub Szuppe
6b34c63fb8
Fix kernels in reduce_by_key_with_scane.hpp
...
It was not guaranteed that every barrier would be encountered by all
work-items in a work-group executing the kernels due to some work-items
returing too early, not entering the conditional if with with a barrier
or not executing every iteration of the loop with a barrier.
See barrier function description in OpenCL documentation.
2016-01-07 20:55:00 +01:00
Jakub Szuppe
6396530a2b
Fix comparison between signed and unsigned integer
2016-01-07 20:54:54 +01:00
Jakub Szuppe
a6f258cf09
Fix find_extrema_reduce kernel in find_extrema_with_reduce.hpp
...
It was not guaranteed that every barrier would be encountered by all
work-items in a work-group executing the kernel due to some work-items
returing too early, not entering the conditional if with with a barrier
or not executing every iteration of the loop with a barrier.
See barrier function description in OpenCL documentation.
2016-01-07 20:51:56 +01:00
Kyle Lutz
767c5beba8
Merge pull request #545 from okdshin/fix_linear_congruential_rng_copy
...
Modify linear_congruential_engine to copy its all states.
2015-12-28 12:28:58 -08:00
okdshin
5c467c9850
modify linear_congruential rng to copy its all states
2015-12-29 00:51:14 +09:00
okdshin
babfbafad6
Modify mersenne_twister_engine to copy its states.
2015-12-27 04:24:55 +09:00
Kyle Lutz
301c541824
Release v0.5
2015-12-20 18:34:14 -08:00
Kyle Lutz
0d846daad9
Merge pull request #542 from haahh/count_fix_rngs
...
Fix incorrect count update in rngs
2015-12-19 09:05:44 -08:00
Jakub Szuppe
39fa3634e1
Fix seed method call in linear_congruential_engine.hpp
...
There is no seed method with just one parameter of type result_type.
2015-12-18 22:12:51 +01:00
Jakub Szuppe
d2d62f9973
Fix incorrect count (global work size) update in generate methods
2015-12-18 22:12:47 +01:00
Jakub Szuppe
1f4088200d
Minor fixes related to Boost Inspection Report (1.60 develop)
2015-12-06 18:35:29 +01:00
Kyle Lutz
cb863b91a6
Add program::create_with_source() with vector of strings
2015-12-04 20:37:13 -08:00
Kyle Lutz
c983cc3a48
Merge pull request #535 from olivas/create_with_source_file
...
program::create_with_source_file doesn't fail with bad input
2015-11-19 19:39:58 -08:00
Alex Olivas
0a2d7fa0e1
if the ifstream can't be created in program::create_with_source_file then it throws std::ios_base::failure.
2015-11-18 16:27:19 -07:00
Kyle Lutz
0d172afaf8
Merge pull request #533 from haahh/minor_fixes
...
Minor fixes
2015-11-05 18:53:42 -08:00
Jakub Szuppe
6be8228a74
Fix integer type to uint_ (cl_uint)
2015-11-05 18:23:00 +01:00
Jakub Szuppe
e97f70cdac
CL_MAP_WRITE_INVALIDATE_REGION is available since OpenCL 1.2
2015-11-05 18:15:39 +01:00
Kyle Lutz
f249741bf8
Merge pull request #522 from haahh/pr_find_extrema_first_extremum
...
Fix find_extrema_with_atomics and _with_reduce
2015-10-23 00:19:54 -07:00
Jakub Szuppe
8099e07f40
Fix find_extrema_with_atomics
...
Now find_extrema_with_atomics always return the first extremum
in the given range.
2015-10-21 08:46:04 +02:00
Jakub Szuppe
2d972fe2a4
Fix find_extrema_with_reduce
...
Now find_extrema_with_reduce always return the first extremum
in the given range.
2015-10-21 08:46:04 +02:00
Kyle Lutz
781cf302cb
Merge pull request #525 from haahh/pr_vector_custom_alloc
...
Vector with custom allocator fix
2015-10-10 09:16:11 -07:00
Jakub Szuppe
afd09bcd7d
Fix vector when used with custom allocator
2015-10-05 14:28:37 +02:00
Kyle Lutz
0b4509afea
Merge pull request #520 from jpola/scatter_if
...
scatter if operation
2015-10-01 20:40:39 -07:00
Kyle Lutz
e27e5ee72b
Merge pull request #518 from boostorg/event-wait-const
...
Event wait const
2015-09-28 19:50:29 -07:00
Kyle Lutz
b2e2bdfb0d
Merge pull request #510 from haahh/dev_events_for_queue_enqueue_methods
...
Events for queue enqueue_map_ methods
2015-09-28 19:50:10 -07:00
Jakub Pola
c6c7f4a679
Copyrights fixes
2015-09-28 21:16:31 +02:00
Jakub Pola
f25b47d6f3
scatter if operation
2015-09-28 17:17:10 +02:00
Kyle Lutz
a56ae5687f
Make wait_list::wait() const
2015-09-23 21:39:47 -07:00
Kyle Lutz
c248dadbca
Make event::wait() const
2015-09-23 21:39:02 -07:00
Kyle Lutz
c75f5dc858
Merge pull request #516 from boostorg/adapt-struct-array
...
Add array support to BOOST_COMPUTE_ADAPT_STRUCT()
2015-09-20 16:58:55 -07:00
Kyle Lutz
68155f7597
Add array support to BOOST_COMPUTE_ADAPT_STRUCT()
...
This adds support for C-style arrays (e.g. "int array[10]") to the
BOOST_COMPUTE_ADAPT_STRUCT() macro.
Thanks to Fabian Bösch for providing the code.
2015-09-19 18:28:17 -05:00
Jakub Szuppe
36418e4cf8
Remove redundant kernel compilation from binary_find
...
After this binary_find kernel is compiled only once during binary_find algorithm
execution instead of in every iteration of the while loop.
2015-09-19 19:17:27 +02:00
Jakub Szuppe
10583d3868
Fix binary_find algorithm
...
This prevents iterators from going out of range which
resulted in errors.
2015-09-19 19:11:32 +02:00
Kyle Lutz
f04b1aabde
Merge pull request #511 from haahh/pr_fix_search_search_n
...
Fix for search and search_n algorithm
2015-09-15 12:41:10 -05:00
Jakub Szuppe
0e51ad4ad8
Fix for search and search_n algorithm
2015-09-12 19:29:16 +02:00
Jakub Szuppe
55a7f874a6
Add missing enqueue_map_image method in command queue
2015-09-12 16:26:10 +02:00
Jakub Szuppe
88beaa0502
Add asynchronous versions of a few methods in command_queue class
...
Add asynchronous versions for enqueue_map_buffer(), enqueue_read_buffer_rect()
and enqueue_write_buffer_rect().
2015-09-12 16:26:09 +02:00
Jakub Szuppe
5c99e3f7f3
enqueue_map_buffer returns associated event through parameter
2015-09-12 16:26:09 +02:00
Kyle Lutz
75d32254b1
Merge pull request #509 from haahh/pr_algorithm_reduce_by_key
...
Include Reduce by key in algorithm.hpp meta-header
2015-09-11 19:17:52 -07:00
Jakub Szuppe
1566a79a4e
Add reduce by key algorithm to algorithm.hpp meta-header
2015-09-11 21:51:01 +02:00
Lorenzo Pistone
9211260bcc
fix a few instances where the device type is not used as a bit mask
2015-09-11 12:21:11 +02:00
Kyle Lutz
239f4a247c
Merge pull request #498 from boostorg/invoke
...
Add invoke() utility function
2015-09-01 21:49:54 -07:00
Kyle Lutz
5ac31a7f5f
Merge pull request #496 from haahh/pr_enqueue_methods_return_events
...
Return events from all command_queue::enqueue_* methods
2015-09-01 21:49:23 -07:00
Jakub Szuppe
c882466dbd
enqueue_* methods in command_queue class now return event object
...
All enqueue_* methods in command_queue class (except for
enqueue_map_buffer() and enqueue_barrier()) now return event object.
2015-08-20 12:01:55 +02:00
Kyle Lutz
cf5e40ee26
Merge pull request #497 from haahh/pr_find_extrema_supports_custom_comparision
...
Support for custom comparison function in find_extrema()
2015-08-19 20:24:04 -07:00
Kyle Lutz
ef109b75d5
Add invoke() utility function
...
This adds an invoke() function which calls an OpenCL function on a
device with the given arguments.
2015-08-19 08:18:15 -07:00
Jakub Szuppe
e6b20e6af7
Rename find_extrema_reduce() to find_extrema_with_reduce()
2015-08-19 13:42:22 +02:00
Jakub Szuppe
a50dae747d
Support for custom comparision function in find_extrema() and min/max_element()
2015-08-19 13:42:22 +02:00
Kyle Lutz
057b220d18
Merge pull request #495 from haahh/pr_improve_find_if
...
Checking multiple values per thread in find_if()
2015-08-18 08:27:20 -07:00
Jakub Szuppe
75a42646a1
Checking multiple values per thread in find_if_with_atomics()
2015-08-15 15:39:06 +02:00
Kyle Lutz
fd43795770
Merge pull request #491 from haahh/pr_always_serial_reduce_for_cpus
...
Using serial_reduce() when reducing on CPU device
2015-08-12 08:30:14 -07:00
Jakub Szuppe
d98e6dfee6
Using serial_reduce() when reducing on CPU device
2015-08-08 18:00:49 +02:00
Jakub Szuppe
de0c8ba177
CPU-targeted merge sort adapted for sorting by key
2015-08-03 23:37:48 +02:00
Kyle Lutz
cadff8e049
Merge pull request #489 from haahh/pr_serial_merge
...
Using serial merge in merge() for small inputs
2015-08-01 13:44:52 -07:00
Jakub Szuppe
e3324f887d
Using serial merge in merge algorithm for small inputs
2015-08-01 19:41:16 +02:00
Kyle Lutz
f278c66c14
Merge pull request #486 from haahh/pr_sort_cpu
...
CPU-targeted merge sort
2015-08-01 09:10:13 -07:00
Jakub Szuppe
b6c2e71ba3
Using merge with merge path algorithm in merge sort
...
Merge with merge path is used in merge part of merge sort
algorithm as it's seems to be more efficient than block merge
when there are a few big sorted blocks left to be merged.
2015-07-30 20:56:40 +02:00
Jakub Szuppe
b5bef712cd
Merge sort for CPU devices
2015-07-30 20:55:49 +02:00
Kyle Lutz
15a778d84a
Merge pull request #480 from haahh/pr_boost_inspection
...
Fixing problems reported in Boost Inspection Report
2015-07-18 11:01:57 -07:00
Jakub Szuppe
7a8d078926
Update Boost macros, macros style unification
2015-07-18 16:12:24 +02:00
Jakub Szuppe
7e12f63a81
Add missing Boost license info and copyrights
2015-07-18 14:01:29 +02:00
Jakub Szuppe
350f2c93a8
Fix violations of Boost min/max guidelines
2015-07-16 21:18:08 +02:00
Jakub Szuppe
c5409541ac
Parallel reduce by key algorithm implementation
2015-07-15 11:20:49 +02:00
Jakub Szuppe
706af4fce8
Reduce by key algorithm (serial implementation)
2015-07-15 11:06:23 +02:00
Kyle Lutz
377e509acd
Merge pull request #472 from msuchard/master
...
Apple NVIDIA vendor name does not include Corporation
2015-06-24 21:54:23 -07:00
Marc Suchard
7009451dbf
Apple NVIDIA vendor does not include Corporation
2015-06-24 14:53:59 -07:00
Kyle Lutz
2298aa5ff1
Merge pull request #468 from haahh/custom_funcs_for_scan
...
Support for custom functions in inclusive and exclusive scan
2015-06-24 08:30:06 -07:00
Jakub Szuppe
7bea0b13a1
Support for a custom function in exclusive and inclusive scan
2015-06-24 08:39:45 +02:00
Kyle Lutz
20ff5cbfb7
Fix compilation error in find_extrema_reduce()
2015-06-23 22:03:19 -07:00
Jakub Szuppe
feeab7a277
Add single-argument constructor for vector types
2015-06-23 10:14:50 +02:00
Kyle Lutz
1c68d8a73b
Merge pull request #443 from bkchr/runtime_version_checking
...
Runtime version checking
2015-06-22 19:59:53 -07:00
Bastian Köcher
60f4b31bdd
Add runtime version checking in the command_queue functions and fixed bug with context::get_device().
...
This adds runtime version checking in the command_queue functions which fixes issues if you compile
with OpenCL2.x and run your code on OpenCL1.x devices.
Fixed bug with context::get_device() if the context contains more than one device.
2015-06-04 11:59:54 +02:00
Junaid Muzammil
a9c373f92c
Merge remote-tracking branch 'newrepo/develop' into develop
2015-06-02 19:18:00 +05:00
Jakub Szuppe
4c20b3fb52
Add find_extrema based on parallel reduction
...
This adds find_extrema_reduce function based on parallel reduction.
Now find_extrema uses find_extrema_with_atomics only if local memory size
requirements for running find_extrema_reduce are not met.
2015-05-21 13:27:06 +02:00
Kyle Lutz
fda67a22d0
Update GitHub links
2015-05-17 20:32:09 -07:00
Kyle Lutz
ca0bf77551
Fix default values in uniform_int_distribution constructor
...
This fixes the default values for the uniform_int_distribution
constructor to match std::uniform_int_distribution.
2015-05-17 11:37:54 -06:00
Kyle Lutz
4c00484e04
Merge pull request #454 from haahh/pr_valarray_operators
...
Missing valarray operators
2015-05-15 10:41:39 -06:00
Jakub Szuppe
c2c8eb6e54
Fix valarray support for vector types
2015-05-15 18:12:12 +02:00
Jakub Szuppe
332a412d1a
Valarray operators work only with fundamental OpenCL types
...
Valarray arithmetic, logical and comparison operators work only
when valarray type is built-in OpenCL scalar or vector type.
This also fixes empty macro argument error when compiled with
pedantic and Werror options, and ambiguous 'bind' function call
error.
2015-05-15 18:12:12 +02:00
Jakub Szuppe
28f08dda44
Add valarray operators
...
This adds missing operators to valarray. Note that in OpenCL it's impossible
to create memory buffer with bool type and because of that valarray<char> is used
as a return type for comparison and logical operators instead of valarray<bool>.
Implemented operators work only for default context (queue) and are asynchronous.
2015-05-15 18:12:07 +02:00
Jakub Szuppe
29dc53b110
Add missing bitwise shift operators
2015-05-15 18:05:44 +02:00
Kyle Lutz
79aa8f9086
Merge pull request #452 from haahh/strided_iterator
...
Add strided_iterator class (skip_iterator) #121
2015-04-20 19:58:31 -07:00
Jakub Szuppe
1ba5c5d950
Fix make_strided_iterator_end() description
...
Fix make_strided_iterator_end() description and some comments.
2015-04-18 10:55:32 +02:00
Jakub Szuppe
6c22df7077
Better descriptions and minor refactoring
2015-04-12 22:45:39 +02:00
Jakub Szuppe
7ce179d414
Add make_strided_iterator_end function
2015-04-12 16:05:22 +02:00
Jakub Szuppe
c80d42aa29
Strided iterator
...
Iterator adaptor which skips over multiple elements each time it is incremented.
2015-04-12 15:56:10 +02:00
Denis Demidov
d4651113e7
Get rid of (potentially huge) temporary strings in offline cache
...
See #440 , #441
2015-04-08 15:20:02 +03:00
Anees Haider
b979ff527d
Added Threefry RNG to performance benchmark
2015-04-06 09:51:53 +05:00
Anees Haider
b565232b8e
Merge remote-tracking branch 'compute/develop'
2015-04-06 09:33:52 +05:00
Junaid Muzammil
31342d7e53
Threefry generate signature modification
2015-04-05 21:27:31 +05:00
Denis Demidov
56ca5f2331
Add opencl vector types to the list of fundamental types
...
refs #449
2015-04-05 15:27:34 +03:00
Kyle Lutz
6a6a2aaf64
Merge pull request #448 from ddemidov/develop
...
kernel::get_work_group_info() should be const
2015-04-04 15:55:19 -07:00
Denis Demidov
a754fcb720
kernel::get_work_group_info() should be const
2015-04-04 22:02:42 +03:00
Muhammad Junaid Muzammil
61e16c8963
Overloaded Method for default Key Values
2015-04-02 00:26:06 +05:00
Kyle Lutz
f9136ed842
Add transform_if() algorithm
2015-03-31 19:45:58 -07:00
Junaid Muzammil
1c41612c9a
Unit Test Fixed and Comments Added
2015-03-29 00:57:56 +05:00
Junaid Muzammil
1c75d5752d
Necessary Changes Made to Threefry Engine as recommended
2015-03-28 18:06:01 +05:00
Junaid Muzammil
44c54d4f7a
Refactored Threefry RNG
2015-03-22 18:04:01 +05:00
Muhammad Junaid Muzammil
37e060d0ca
Threefry Random 123 Support Added
2015-03-22 16:53:47 +05:00
Kyle Lutz
34e042a298
Reduce Boost header includes
2015-03-21 11:38:30 -07:00
Kyle Lutz
78db09bf10
Use gcc-4.8 on Travis-CI
2015-03-16 19:55:11 -07:00
Kyle Lutz
4175a85171
Add parameter_cache class
...
This adds a parameter_cache class which can be used to store
execution parameters for an algorithm. Also updates some of
the benchmark programs to find and store optimal parameters.
2015-03-15 18:15:57 -07:00
Jakub Szuppe
f95b1ee682
Separate kernel for reverse_copy()
...
Separate kernel for reverse_copy() algorithm improves its performance,
new tests for reverse_copy_int
2015-03-10 22:25:38 +01:00
Kyle Lutz
d4adfc5feb
Add support for OpenCL-OpenCL sharing on Mac OS X
2015-02-26 14:57:26 -07:00
Kyle Lutz
a71a4e9853
Add begin() and end() methods to extents<N>
2015-02-25 11:06:45 -07:00
Shehzan Mohammed
4961a6177f
BUGFIX enable double for key type in radix sort by key
2015-02-23 12:15:40 -05:00
Kyle Lutz
de76e66dd1
Merge pull request #426 from jmr1/msvc2013
...
MSVC 2013 build fixes
2015-02-22 19:02:45 -07:00
jmr1
9c3d2e0a87
MSVC 2013 workaround for passing one parameter to a variadic template
2015-02-22 17:33:35 +01:00
Kyle Lutz
ca0bc4b7d3
Refactor image classes
2015-02-08 16:26:34 -08:00
Kyle Lutz
6e38dafbd5
Merge pull request #423 from kylelutz/buffer-clone-flags
...
Preserve memory flags in buffer::clone()
2015-02-08 15:06:57 -08:00
Kyle Lutz
a34aaf0456
Merge pull request #422 from kylelutz/no-device-found-exception
...
Add no_device_found exception
2015-02-08 15:06:43 -08:00
Kyle Lutz
8b2788f026
Add no_device_found exception
2015-02-07 12:47:11 -08:00
Kyle Lutz
3c56ea4cbe
Preserve memory flags in buffer::clone()
2015-02-07 12:27:24 -08:00
Kyle Lutz
155ec4b8b9
Disable default context error handler
2015-02-07 10:56:34 -08:00
Bastian Köcher
426fbbb8c4
- Added missing header
2015-01-21 20:03:54 +01:00
Bastian Köcher
1e711e0330
- Rebased with develop branch
...
- Moved include into the test
Conflicts:
test/test_buffer.cpp
2015-01-20 10:19:37 +01:00
Kyle Lutz
f4bf942a31
Merge pull request #412 from bastiankoe/createsubbuffer
...
CreateSubbuffer support
2015-01-16 18:40:01 -08:00
Bastian Köcher
09d3c44cd7
- Added templated register_destructor_callback function and a test for this new functionality
2015-01-16 16:38:25 +01:00
Bastian Köcher
7eba538c55
Merge branch 'develop' into createsubbuffer
2015-01-16 15:59:24 +01:00
Bastian Köcher
78ce892705
- Added testcase for subbuffer creation
...
- Added documentation and asserts for buffer.create_subbuffer function
2015-01-16 15:57:28 +01:00
Bastian Köcher
1e2da6b9c8
- Added function to create a subbuffer
2015-01-15 15:10:50 +01:00
Kyle Lutz
79aa6758f2
Add wait_guard class
2015-01-07 20:19:05 -08:00
Kyle Lutz
5b5eae8270
Change assert() to static_assert() in copy_async()
...
This changes the assert() for contiguous host iterators in
the copy_async() algorithm to a static_assert() so that this
currently unsupported case can be caught at compile-time.
2014-12-30 20:59:04 -08:00
Kyle Lutz
c74c2abc4f
Add four-iterator versions of equal() and mismatch()
2014-12-30 13:44:24 -08:00
Kyle Lutz
d2ea30895d
Merge pull request #395 from roshanr95/includes
...
Make documentation of includes algorithm more clearer
2014-12-30 13:40:36 -08:00
Kyle Lutz
a72ee2f289
Merge pull request #394 from roshanr95/bernoulli-distribution
...
Change default parameter to 0.5
2014-12-30 13:39:13 -08:00
Roshan
35b6ff62ee
Make documentation of includes algorithm more clearer
2014-12-31 02:00:57 +05:30
Roshan
2a24b282f5
Change default parameter to 0.5
2014-12-31 01:55:55 +05:30
Kyle Lutz
cfdb10c808
Move is_device_iterator to the public API
2014-12-30 10:06:47 -08:00
Kyle Lutz
c31195ec7d
Add local_buffer class
2014-12-24 14:06:18 -08:00
Kyle Lutz
417cb03670
Fixes for Mac OS X
2014-12-24 09:25:55 -08:00
Kyle Lutz
e3bbce456b
Merge pull request #352 from kylelutz/rename-types-builtin
...
Rename types/builtin.hpp to types/fundamental.hpp
2014-12-21 09:15:29 -08:00
Kyle Lutz
c97c83a562
Rename types/builtin.hpp to types/fundamental.hpp
2014-12-20 13:39:50 -08:00
Kyle Lutz
73b246603b
Add for_each_n() algorithm
2014-12-20 13:30:36 -08:00
Kyle Lutz
885a2ad135
Improve documentation
2014-12-20 10:39:38 -08:00
Pavan Yalamanchili
10890fd7d1
BUG FIX: sort_by_key now works with larger vector sizes.
...
- sort_by_key now calls radix_sort for size >= 32 even with Compare
2014-12-15 14:57:49 -05:00
Kyle Lutz
57eec36d20
Release v0.4
2014-12-14 17:03:36 -08:00
Kyle Lutz
c4d49cef20
Merge pull request #341 from kylelutz/device-platform
...
Add device::platform() method
2014-12-14 10:58:38 -08:00
Kyle Lutz
2bab2c5ee7
Add device::platform() method
2014-12-13 11:25:11 -08:00
Kyle Lutz
a4a6614895
Add program_cache to the public API
2014-12-13 10:38:56 -08:00