17 #ifndef QUERYENGINE_GPUMEMUTILS_H
18 #define QUERYENGINE_GPUMEMUTILS_H
31 #include "../Shared/nocuda.h"
34 namespace CudaMgr_Namespace {
40 namespace Data_Namespace {
50 const size_t num_bytes,
56 const size_t num_bytes,
71 const std::vector<int64_t*>& group_by_buffers,
73 const unsigned block_size_x,
74 const unsigned grid_size_x,
77 const int64_t num_input_rows,
78 const bool prepend_index_buffer,
79 const bool always_init_group_by_on_host,
80 const bool use_bump_allocator,
84 const std::vector<int64_t*>& group_by_buffers,
85 const size_t groups_buffer_size,
88 const unsigned block_size_x,
89 const unsigned grid_size_x,
91 const bool prepend_index_buffer);
100 int8_t* projection_buffer,
101 const size_t projection_count,
102 const int device_id);
104 #endif // QUERYENGINE_GPUMEMUTILS_H
GpuGroupByBuffers create_dev_group_by_buffers(DeviceAllocator *cuda_allocator, const std::vector< int64_t * > &group_by_buffers, const QueryMemoryDescriptor &query_mem_desc, const unsigned block_size_x, const unsigned grid_size_x, const int device_id, const ExecutorDispatchMode dispatch_mode, const int64_t num_input_rows, const bool prepend_index_buffer, const bool always_init_group_by_on_host, const bool use_bump_allocator, Allocator *insitu_allocator)
unsigned long long CUdeviceptr
void copy_to_gpu(Data_Namespace::DataMgr *data_mgr, CUdeviceptr dst, const void *src, const size_t num_bytes, const int device_id)
void copy_from_gpu(Data_Namespace::DataMgr *data_mgr, void *dst, const CUdeviceptr src, const size_t num_bytes, const int device_id)
size_t get_num_allocated_rows_from_gpu(Data_Namespace::DataMgr *data_mgr, CUdeviceptr projection_size_gpu, const int device_id)
void copy_group_by_buffers_from_gpu(Data_Namespace::DataMgr *data_mgr, const std::vector< int64_t * > &group_by_buffers, const size_t groups_buffer_size, const CUdeviceptr group_by_dev_buffers_mem, const QueryMemoryDescriptor &query_mem_desc, const unsigned block_size_x, const unsigned grid_size_x, const int device_id, const bool prepend_index_buffer)
void copy_projection_buffer_from_gpu_columnar(Data_Namespace::DataMgr *data_mgr, const GpuGroupByBuffers &gpu_group_by_buffers, const QueryMemoryDescriptor &query_mem_desc, int8_t *projection_buffer, const size_t projection_count, const int device_id)