362 auto oe_col_buffer = collect_order_entry_column<K>(groupby_buffer, layout, start, step);
364 CHECK(entry_ti.is_number());
365 if (entry_ti.is_fp() || layout.oe_target_info.agg_kind ==
kAVG) {
366 return baseline_sort_fp<K>(device_type,
380 return baseline_sort_int<K>(device_type,
395 if (oe_col_buffer.empty()) {
398 const auto dev_idx_buff =
399 get_device_ptr<uint32_t>(oe_col_buffer.size(), thrust_allocator);
400 thrust::sequence(dev_idx_buff, dev_idx_buff + oe_col_buffer.size(), start, step);
402 return do_radix_sort<K>(device_type,
407 dev_oe_col_buffer + oe_col_buffer.size(),
409 oe_col_buffer.size(),
415 thrust::host_vector<uint32_t> host_idx_buff(oe_col_buffer.size());
416 thrust::sequence(host_idx_buff.begin(), host_idx_buff.end(), start, step);
417 return do_radix_sort<K>(device_type,
421 oe_col_buffer.begin(),
423 host_idx_buff.begin(),
424 host_idx_buff.size(),
thrust::device_ptr< T > get_device_copy_ptr(const thrust::host_vector< T > &host_vec, ThrustAllocator &thrust_allocator)
const SQLTypeInfo get_compact_type(const TargetInfo &target)