24 template <
typename KeyT,
typename ValueT,
typename NumItemsT>
27 const ValueT* d_values_in,
31 int end_bit =
sizeof(KeyT) * 8)
33 MUDA_CUB_WRAPPER_IMPL(cub::DeviceRadixSort::SortPairs(d_temp_storage,
45 template <
typename KeyT,
typename ValueT,
typename NumItemsT>
47 cub::DoubleBuffer<KeyT>& d_keys,
48 cub::DoubleBuffer<ValueT>& d_values,
51 int end_bit =
sizeof(KeyT) * 8)
53 MUDA_CUB_WRAPPER_IMPL(cub::DeviceRadixSort::SortPairs(
54 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, begin_bit, end_bit, _stream));
57 template <
typename KeyT,
typename ValueT,
typename NumItemsT>
60 const ValueT* d_values_in,
64 int end_bit =
sizeof(KeyT) * 8)
66 MUDA_CUB_WRAPPER_IMPL(cub::DeviceRadixSort::SortPairsDescending(
67 d_temp_storage, temp_storage_bytes, d_keys_in, d_keys_out, d_values_in, d_values_out, num_items, begin_bit, end_bit, _stream));
70 template <
typename KeyT,
typename ValueT,
typename NumItemsT>
72 cub::DoubleBuffer<ValueT>& d_values,
75 int end_bit =
sizeof(KeyT) * 8)
77 MUDA_CUB_WRAPPER_IMPL(cub::DeviceRadixSort::SortPairsDescending(
78 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, begin_bit, end_bit, _stream));
81 template <
typename KeyT,
typename NumItemsT>
86 int end_bit =
sizeof(KeyT) * 8)
88 MUDA_CUB_WRAPPER_IMPL(cub::DeviceRadixSort::SortKeys(
89 d_temp_storage, temp_storage_bytes, d_keys_in, d_keys_out, num_items, begin_bit, end_bit, _stream));
92 template <
typename KeyT,
typename NumItemsT>
96 int end_bit =
sizeof(KeyT) * 8)
98 MUDA_CUB_WRAPPER_IMPL(cub::DeviceRadixSort::SortKeys(
99 d_temp_storage, temp_storage_bytes, d_keys, num_items, begin_bit, end_bit, _stream));
102 template <
typename KeyT,
typename NumItemsT>
107 int end_bit =
sizeof(KeyT) * 8)
109 MUDA_CUB_WRAPPER_IMPL(cub::DeviceRadixSort::SortKeysDescending(
110 d_temp_storage, temp_storage_bytes, d_keys_in, d_keys_out, num_items, begin_bit, end_bit, _stream));
113 template <
typename KeyT,
typename NumItemsT>
117 int end_bit =
sizeof(KeyT) * 8)
119 MUDA_CUB_WRAPPER_IMPL(cub::DeviceRadixSort::SortKeysDescending(
120 d_temp_storage, temp_storage_bytes, d_keys, num_items, begin_bit, end_bit, _stream));
125 template <
typename KeyT,
typename ValueT,
typename NumItemsT>
127 size_t& temp_storage_bytes,
128 const KeyT* d_keys_in,
130 const ValueT* d_values_in,
131 ValueT* d_values_out,
134 int end_bit =
sizeof(KeyT) * 8)
136 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceRadixSort::SortPairs(
137 d_temp_storage, temp_storage_bytes, d_keys_in, d_keys_out, d_values_in, d_values_out, num_items, begin_bit, end_bit, _stream));
140 template <
typename KeyT,
typename ValueT,
typename NumItemsT>
142 size_t& temp_storage_bytes,
143 cub::DoubleBuffer<KeyT>& d_keys,
144 cub::DoubleBuffer<ValueT>& d_values,
147 int end_bit =
sizeof(KeyT) * 8)
149 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceRadixSort::SortPairs(
150 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, begin_bit, end_bit, _stream));
153 template <
typename KeyT,
typename ValueT,
typename NumItemsT>
155 size_t& temp_storage_bytes,
156 const KeyT* d_keys_in,
158 const ValueT* d_values_in,
159 ValueT* d_values_out,
162 int end_bit =
sizeof(KeyT) * 8)
164 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceRadixSort::SortPairsDescending(
165 d_temp_storage, temp_storage_bytes, d_keys_in, d_keys_out, d_values_in, d_values_out, num_items, begin_bit, end_bit, _stream));
168 template <
typename KeyT,
typename ValueT,
typename NumItemsT>
170 size_t& temp_storage_bytes,
171 cub::DoubleBuffer<KeyT>& d_keys,
172 cub::DoubleBuffer<ValueT>& d_values,
175 int end_bit =
sizeof(KeyT) * 8)
177 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceRadixSort::SortPairsDescending(
178 d_temp_storage, temp_storage_bytes, d_keys, d_values, num_items, begin_bit, end_bit, _stream));
181 template <
typename KeyT,
typename NumItemsT>
183 size_t& temp_storage_bytes,
184 const KeyT* d_keys_in,
188 int end_bit =
sizeof(KeyT) * 8)
190 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceRadixSort::SortKeys(
191 d_temp_storage, temp_storage_bytes, d_keys_in, d_keys_out, num_items, begin_bit, end_bit, _stream));
194 template <
typename KeyT,
typename NumItemsT>
196 size_t& temp_storage_bytes,
197 cub::DoubleBuffer<KeyT>& d_keys,
200 int end_bit =
sizeof(KeyT) * 8)
202 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceRadixSort::SortKeys(
203 d_temp_storage, temp_storage_bytes, d_keys, num_items, begin_bit, end_bit, _stream));
206 template <
typename KeyT,
typename NumItemsT>
208 size_t& temp_storage_bytes,
209 const KeyT* d_keys_in,
213 int end_bit =
sizeof(KeyT) * 8)
215 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceRadixSort::SortKeysDescending(
216 d_temp_storage, temp_storage_bytes, d_keys_in, d_keys_out, num_items, begin_bit, end_bit, _stream));
219 template <
typename KeyT,
typename NumItemsT>
221 size_t& temp_storage_bytes,
222 cub::DoubleBuffer<KeyT>& d_keys,
225 int end_bit =
sizeof(KeyT) * 8)
227 MUDA_CUB_WRAPPER_FOR_COMPUTE_GRAPH_IMPL(cub::DeviceRadixSort::SortKeysDescending(
228 d_temp_storage, temp_storage_bytes, d_keys, num_items, begin_bit, end_bit, _stream));