2
0
mirror of https://github.com/boostorg/compute.git synced 2026-01-28 19:12:15 +00:00
Commit Graph

550 Commits

Author SHA1 Message Date
Jakub Szuppe
afd09bcd7d Fix vector when used with custom allocator 2015-10-05 14:28:37 +02: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
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