CUDPP 2.0
CUDA Data-Parallel Primitives Library
Classes | Enumerations | Functions
/mnt/hgfs/VMWare/cudpp/include/cudpp_hash.h File Reference

Main library header file for CUDPP hash tables. Defines public interface. More...

#include "cudpp.h"
#include "cudpp_config.h"

Classes

struct  CUDPPHashTableConfig
 Configuration struct for creating a hash table (CUDPPHashTable()) More...
class  CUDPPHashTableInternal< T >
 Internal structure used to store a generic CUDPP hash table. More...

Enumerations

enum  CUDPPHashTableType { CUDPP_BASIC_HASH_TABLE, CUDPP_COMPACTING_HASH_TABLE, CUDPP_MULTIVALUE_HASH_TABLE, CUDPP_INVALID_HASH_TABLE }
 Supported types of hash tables. More...

Functions

CUDPP_DLL CUDPPResult cudppHashTable (CUDPPHandle cudppHandle, CUDPPHandle *plan, const CUDPPHashTableConfig *config)
 Creates a CUDPP hash table in GPU memory given an input hash table configuration; returns the plan for that hash table.
CUDPP_DLL CUDPPResult cudppDestroyHashTable (CUDPPHandle cudppHandle, CUDPPHandle plan)
 Destroys a hash table given its handle.
CUDPP_DLL CUDPPResult cudppHashInsert (CUDPPHandle plan, const void *d_keys, const void *d_vals, size_t num)
 Inserts keys and values into a CUDPP hash table.
CUDPP_DLL CUDPPResult cudppHashRetrieve (CUDPPHandle plan, const void *d_keys, void *d_vals, size_t num)
 Retrieves values, given keys, from a CUDPP hash table.
CUDPP_DLL CUDPPResult cudppMultivalueHashGetValuesSize (CUDPPHandle plan, unsigned int *size)
 Retrieves the size of the values array in a multivalue hash table.
CUDPP_DLL CUDPPResult cudppMultivalueHashGetAllValues (CUDPPHandle plan, unsigned int **d_vals)
 Retrieves a pointer to the values array in a multivalue hash table.

Detailed Description

Main library header file for CUDPP hash tables. Defines public interface.

cudpp_hash.h

The CUDPP public interface is a C-only interface to enable linking with code written in other languages (e.g. C, C++, and Fortran). While the internals of CUDPP are not limited to C (C++ features are used), the public interface is entirely C (thus it is declared "extern C").


Enumeration Type Documentation

Supported types of hash tables.

See also:
CUDPPHashTableConfig
Enumerator:
CUDPP_BASIC_HASH_TABLE 

Stores a single value per key. Input is expected to be a set of key-value pairs, where the keys are all unique.

CUDPP_COMPACTING_HASH_TABLE 

Assigns each key a unique identifier and allows O(1) translation between the key and the unique IDs. Input is a set of keys that may, or may not, be repeated.

CUDPP_MULTIVALUE_HASH_TABLE 

Can store multiple values for each key. Multiple values for the same key are represented by different key-value pairs in the input.

CUDPP_INVALID_HASH_TABLE 

Invalid hash table; flags error if used.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines