CUDPP  2.3
CUDA Data-Parallel Primitives Library
Namespaces | Functions
hash_multivalue.cu File Reference

Implements hash tables that store multiple values per key. More...

#include "hash_multivalue.h"
#include "hash_table.cuh"
#include "cuda_util.h"
#include <cudpp.h>

Namespaces

 CudaHT
 Encapsulates the hash table library.
 

Functions

void CudaHT::CuckooHashing::CUDAWrapper::CallCheckIfUnique (const unsigned *d_sorted_keys, const size_t n, unsigned *d_is_unique)
 Calls the kernel that checks if neighboring keys are different.
 
void CudaHT::CuckooHashing::CUDAWrapper::CallCompactKeys (const unsigned *d_keys, const unsigned *d_is_unique, const unsigned *d_locations, const size_t kSize, uint2 *d_index_counts, unsigned *d_compacted)
 Calls the kernel that compacts down the unique keys.
 
void CudaHT::CuckooHashing::CUDAWrapper::CallCountValues (uint2 *d_index_counts, unsigned kSize, unsigned num_unique)
 Calls the kernel that counts how many values each key has.
 
void CudaHT::CuckooHashing::CUDAWrapper::CallPrepareIndices (const unsigned num_unique_keys, unsigned *d_indices)
 Calls the kernel that crease an array containing 0 to num_unique_keys - 1.
 
void CudaHT::CuckooHashing::CUDAWrapper::CallHashRetrieveMultiSorted (const unsigned n_queries, const unsigned num_hash_functions, const unsigned *d_query_keys, const unsigned table_size, const Entry *d_table, const uint2 *d_index_counts, const Functions< 2 > constants_2, const Functions< 3 > constants_3, const Functions< 4 > constants_4, const Functions< 5 > constants_5, const uint2 stash_constants, const unsigned stash_count, uint2 *d_location_count)
 Calls the kernel that performs the retrieval from the table.
 
Internal
__global__ void CudaHT::CuckooHashing::compact_keys (const unsigned keys[], const unsigned is_unique[], const unsigned locations[], uint2 index_counts[], unsigned compacted[], size_t kSize)
 Compacts the unique keys down and stores the location of its values as the value.
 
__global__ void CudaHT::CuckooHashing::check_if_unique (const unsigned *keys, unsigned *is_unique, size_t kSize)
 Finds unique keys by checking neighboring items in a sorted list.
 
__global__ void CudaHT::CuckooHashing::count_values (uint2 index_counts[], unsigned kSize, unsigned num_unique)
 Counts how many values each key has.
 
__global__ void CudaHT::CuckooHashing::prepare_indices (const unsigned num_keys, unsigned *data)
 Creates an array of values equal to the array index.
 

Detailed Description

Implements hash tables that store multiple values per key.