cub::SerialMerge#

Overloads#

SerialMerge(keys_shared, keys1_beg, keys2_beg, keys1_count, keys2_count, KeyT(&output)[ITEMS_PER_THREAD], int(&indices)[ITEMS_PER_THREAD], compare_op, oob_default)#

template<typename KeyIt, typename KeyT, typename CompareOp, int ITEMS_PER_THREAD>
void cub::SerialMerge(
KeyIt keys_shared,
int keys1_beg,
int keys2_beg,
int keys1_count,
int keys2_count,
KeyT (&output)[ITEMS_PER_THREAD],
int (&indices)[ITEMS_PER_THREAD],
CompareOp compare_op,
KeyT oob_default,
)

Merges elements from two sorted sequences.

Template Parameters:

ITEMS_PER_THREAD – The number of elements to merge and write to output

Parameters:
  • keys_shared – An iterator to shared memory containing from which both sequences are reachable

  • keys1_beg – The index into keys_shared where the first sequence starts

  • keys2_beg – The index into keys_shared where the second sequence starts

  • keys1_count – The maximum number of keys to merge from the first sequence. One more item may be read but is not used.

  • keys2_count – The maximum number of keys to merge from the first sequence. One more item may be read but is not used.

  • output – The output array

  • indices – The shared memory indices relative to keys_shared of the elements written to output

SerialMerge(keys_shared, keys1_beg, keys2_beg, keys1_count, keys2_count, KeyT(&output)[ITEMS_PER_THREAD], int(&indices)[ITEMS_PER_THREAD], compare_op)#

template<typename KeyIt, typename KeyT, typename CompareOp, int ITEMS_PER_THREAD>
void cub::SerialMerge(
KeyIt keys_shared,
int keys1_beg,
int keys2_beg,
int keys1_count,
int keys2_count,
KeyT (&output)[ITEMS_PER_THREAD],
int (&indices)[ITEMS_PER_THREAD],
CompareOp compare_op,
)