Class QueryMemoryInitializer¶
-
class
QueryMemoryInitializer¶ Public Functions
-
const auto
getCountDistinctBitmapPtr() const¶
-
const auto
getCountDistinctHostPtr() const¶
-
const auto
getCountDistinctBitmapBytes() const¶
-
const auto
getVarlenOutputHostPtr() const¶
-
const auto
getVarlenOutputPtr() const¶
-
void
resetResultSet(const size_t index)¶
-
int64_t
getAggInitValForIndex(const size_t index) const¶
-
const auto
getGroupByBuffersPtr()¶
-
const auto
getGroupByBuffersSize() const¶
-
const auto
getNumBuffers() const¶
-
GpuGroupByBuffers
setupTableFunctionGpuBuffers(const QueryMemoryDescriptor &query_mem_desc, const int device_id, const unsigned block_size_x, const unsigned grid_size_x, const bool zero_initialize_buffers)¶
-
void
copyFromTableFunctionGpuBuffers(Data_Namespace::DataMgr *data_mgr, const QueryMemoryDescriptor &query_mem_desc, const size_t entry_count, const GpuGroupByBuffers &gpu_group_by_buffers, const int device_id, const unsigned block_size_x, const unsigned grid_size_x)¶
-
void
copyGroupByBuffersFromGpu(DeviceAllocator &device_allocator, const QueryMemoryDescriptor &query_mem_desc, const size_t entry_count, const GpuGroupByBuffers &gpu_group_by_buffers, const RelAlgExecutionUnit *ra_exe_unit, const unsigned block_size_x, const unsigned grid_size_x, const int device_id, const bool prepend_index_buffer) const¶
Private Types
-
using
QuantileParam= std::optional<double>¶
Private Functions
-
void
initGroupByBuffer(int64_t *buffer, const RelAlgExecutionUnit &ra_exe_unit, const QueryMemoryDescriptor &query_mem_desc, const ExecutorDeviceType device_type, const bool output_columnar, const Executor *executor)¶
-
void
initRowGroups(const QueryMemoryDescriptor &query_mem_desc, int64_t *groups_buffer, const std::vector<int64_t> &init_vals, const int32_t groups_buffer_entry_count, const size_t warp_size, const Executor *executor)¶
-
void
initColumnarGroups(const QueryMemoryDescriptor &query_mem_desc, int64_t *groups_buffer, const std::vector<int64_t> &init_vals, const Executor *executor)¶
-
void
initColumnsPerRow(const QueryMemoryDescriptor &query_mem_desc, int8_t *row_ptr, const std::vector<int64_t> &init_vals, const std::vector<int64_t> &bitmap_sizes, const std::vector<QuantileParam> &quantile_params)¶
-
void
allocateCountDistinctGpuMem(const QueryMemoryDescriptor &query_mem_desc)¶
-
std::vector<int64_t>
allocateCountDistinctBuffers(const QueryMemoryDescriptor &query_mem_desc, const bool deferred, const Executor *executor)¶
-
int64_t
allocateCountDistinctBitmap(const size_t bitmap_byte_sz)¶
-
int64_t
allocateCountDistinctSet()¶
-
std::vector<QueryMemoryInitializer::QuantileParam>
allocateTDigests(const QueryMemoryDescriptor &query_mem_desc, const bool deferred, const Executor *executor)¶
-
GpuGroupByBuffers
prepareTopNHeapsDevBuffer(const QueryMemoryDescriptor &query_mem_desc, const int8_t *init_agg_vals_dev_ptr, const size_t n, const int device_id, const unsigned block_size_x, const unsigned grid_size_x)¶
-
GpuGroupByBuffers
createAndInitializeGroupByBufferGpu(const RelAlgExecutionUnit &ra_exe_unit, const QueryMemoryDescriptor &query_mem_desc, const int8_t *init_agg_vals_dev_ptr, const int device_id, const ExecutorDispatchMode dispatch_mode, const unsigned block_size_x, const unsigned grid_size_x, const int8_t warp_size, const bool can_sort_on_gpu, const bool output_columnar, RenderAllocator *render_allocator)¶
-
size_t
computeNumberOfBuffers(const QueryMemoryDescriptor &query_mem_desc, const ExecutorDeviceType device_type, const Executor *executor) const¶
-
void
compactProjectionBuffersCpu(const QueryMemoryDescriptor &query_mem_desc, const size_t projection_count)¶
-
void
compactProjectionBuffersGpu(const QueryMemoryDescriptor &query_mem_desc, Data_Namespace::DataMgr *data_mgr, const GpuGroupByBuffers &gpu_group_by_buffers, const size_t projection_count, const int device_id)¶
-
void
applyStreamingTopNOffsetCpu(const QueryMemoryDescriptor &query_mem_desc, const RelAlgExecutionUnit &ra_exe_unit)¶
-
void
applyStreamingTopNOffsetGpu(Data_Namespace::DataMgr *data_mgr, const QueryMemoryDescriptor &query_mem_desc, const GpuGroupByBuffers &gpu_group_by_buffers, const RelAlgExecutionUnit &ra_exe_unit, const unsigned total_thread_count, const int device_id)¶
-
std::shared_ptr<VarlenOutputInfo>
getVarlenOutputInfo()¶
Private Members
-
const int64_t
num_rows_¶
-
std::shared_ptr<RowSetMemoryOwner>
row_set_mem_owner_¶
-
std::vector<int64_t>
init_agg_vals_¶
-
size_t
num_buffers_¶
-
std::vector<int64_t *>
group_by_buffers_¶
-
std::shared_ptr<VarlenOutputInfo>
varlen_output_info_¶
-
CUdeviceptr
varlen_output_buffer_¶
-
int8_t *
varlen_output_buffer_host_ptr_¶
-
CUdeviceptr
count_distinct_bitmap_mem_¶
-
size_t
count_distinct_bitmap_mem_bytes_¶
-
int8_t *
count_distinct_bitmap_crt_ptr_¶
-
int8_t *
count_distinct_bitmap_host_mem_¶
-
DeviceAllocator *
device_allocator_= {nullptr}¶
-
std::vector<Data_Namespace::AbstractBuffer *>
temporary_buffers_¶
-
const size_t
thread_idx_¶
Friends
-
friend
QueryMemoryInitializer::Executor
-
friend
QueryMemoryInitializer::QueryExecutionContext
-
const auto