Home | Libraries | People | FAQ | More |
boost::compute::sort
// In header: <boost/compute/algorithm/sort.hpp> template<typename Iterator, typename Compare> void sort(Iterator first, Iterator last, Compare compare, command_queue & queue = system::default_queue()); template<typename Iterator> void sort(Iterator first, Iterator last, command_queue & queue = system::default_queue());
Sorts the values in the range [first
, last
) according to compare
.
For example, to sort a vector on the device:
// create vector on the device with data float data[] = { 2.f, 4.f, 1.f, 3.f }; boost::compute::vector<float> vec(data, data + 4, queue); // sort the vector on the device boost::compute::sort(vec.begin(), vec.end(), queue);
The sort() algorithm can also be directly used with host iterators. This example will automatically transfer the data to the device, sort it, and then transfer the data back to the host:
std::vector<int> data = { 9, 3, 2, 5, 1, 4, 6, 7 }; boost::compute::sort(data.begin(), data.end(), queue);
Space complexity: \Omega(n)
See Also:
is_sorted()
Parameters: |
|