OmniSciDB
a5dc49c757
|
#include "InPlaceSort.h"
#include "InPlaceSortImpl.h"
#include <Analyzer/Analyzer.h>
#include "DataMgr/Allocators/ThrustAllocator.h"
#include "Descriptors/QueryMemoryDescriptor.h"
#include "Logger/Logger.h"
#include <cstdint>
Go to the source code of this file.
Namespaces | |
anonymous_namespace{InPlaceSort.cpp} | |
Functions | |
void | sort_groups_cpu (int64_t *val_buff, int32_t *idx_buff, const uint64_t entry_count, const bool desc, const uint32_t chosen_bytes) |
void | apply_permutation_cpu (int64_t *val_buff, int32_t *idx_buff, const uint64_t entry_count, int64_t *tmp_buff, const uint32_t chosen_bytes) |
void | anonymous_namespace{InPlaceSort.cpp}::sort_groups_gpu (int64_t *val_buff, int32_t *idx_buff, const uint64_t entry_count, const bool desc, const uint32_t chosen_bytes, ThrustAllocator &alloc, const int device_id) |
void | anonymous_namespace{InPlaceSort.cpp}::apply_permutation_gpu (int64_t *val_buff, int32_t *idx_buff, const uint64_t entry_count, const uint32_t chosen_bytes, ThrustAllocator &alloc, const int device_id) |
void | inplace_sort_gpu (const std::list< Analyzer::OrderEntry > &order_entries, const QueryMemoryDescriptor &query_mem_desc, const GpuGroupByBuffers &group_by_buffers, Data_Namespace::DataMgr *data_mgr, const int device_id) |
void apply_permutation_cpu | ( | int64_t * | val_buff, |
int32_t * | idx_buff, | ||
const uint64_t | entry_count, | ||
int64_t * | tmp_buff, | ||
const uint32_t | chosen_bytes | ||
) |
Definition at line 46 of file InPlaceSort.cpp.
References apply_permutation_on_cpu(), and CHECK.
Referenced by ResultSet::radixSortOnCpu().
void inplace_sort_gpu | ( | const std::list< Analyzer::OrderEntry > & | order_entries, |
const QueryMemoryDescriptor & | query_mem_desc, | ||
const GpuGroupByBuffers & | group_by_buffers, | ||
Data_Namespace::DataMgr * | data_mgr, | ||
const int | device_id | ||
) |
Definition at line 111 of file InPlaceSort.cpp.
References align_to_int64(), anonymous_namespace{InPlaceSort.cpp}::apply_permutation_gpu(), CHECK_EQ, GpuGroupByBuffers::data, QueryMemoryDescriptor::getColOffInBytes(), QueryMemoryDescriptor::getEntryCount(), QueryMemoryDescriptor::getPaddedSlotWidthBytes(), QueryMemoryDescriptor::getSlotCount(), QueryMemoryDescriptor::hasKeylessHash(), and anonymous_namespace{InPlaceSort.cpp}::sort_groups_gpu().
Referenced by QueryExecutionContext::launchGpuCode(), and ResultSet::radixSortOnGpu().
void sort_groups_cpu | ( | int64_t * | val_buff, |
int32_t * | idx_buff, | ||
const uint64_t | entry_count, | ||
const bool | desc, | ||
const uint32_t | chosen_bytes | ||
) |
Definition at line 27 of file InPlaceSort.cpp.
References CHECK, and sort_on_cpu().
Referenced by ResultSet::radixSortOnCpu().