Fermat
Classes | Public Methods | List of all members
cugar::cuda::BlockHashSet< KeyT, HashT, CTA_SIZE, TABLE_SIZE, INVALID_KEY > Struct Template Reference

Detailed description

template<typename KeyT, typename HashT, uint32 CTA_SIZE, uint32 TABLE_SIZE, KeyT INVALID_KEY = 0xFFFFFFFF>
struct cugar::cuda::BlockHashSet< KeyT, HashT, CTA_SIZE, TABLE_SIZE, INVALID_KEY >

This class implements a cuda block-wide Hash Set, allowing arbitrary threads from the same CTA to add new entries at the same time.

#include <hash.h>

Inheritance diagram for cugar::cuda::BlockHashSet< KeyT, HashT, CTA_SIZE, TABLE_SIZE, INVALID_KEY >:
cugar::cuda::HashSet< KeyT, HashT, INVALID_KEY >

Classes

struct  TempStorage
 

Public Methods

CUGAR_DEVICE BlockHashSet ()
 
CUGAR_DEVICE BlockHashSet (TempStorage &_storage)
 
- Public Methods inherited from cugar::cuda::HashSet< KeyT, HashT, INVALID_KEY >
CUGAR_DEVICE HashSet ()
 
CUGAR_DEVICE HashSet (const uint32 _table_size, KeyT *_hash, KeyT *_unique, uint32 *_count)
 
CUGAR_DEVICE void insert (const KeyT key, const HashT hash_code)
 
CUGAR_DEVICE uint32 size () const
 
CUGAR_DEVICE KeyT get_unique (const uint32 i) const
 

Additional Inherited Members

- Public Members inherited from cugar::cuda::HashSet< KeyT, HashT, INVALID_KEY >
uint32 table_size
 
KeyT * hash
 
KeyT * unique
 
uint32 * count
 

Constructor & Destructor Documentation

◆ BlockHashSet() [1/2]

template<typename KeyT , typename HashT , uint32 CTA_SIZE, uint32 TABLE_SIZE, KeyT INVALID_KEY = 0xFFFFFFFF>
CUGAR_DEVICE cugar::cuda::BlockHashSet< KeyT, HashT, CTA_SIZE, TABLE_SIZE, INVALID_KEY >::BlockHashSet ( )
inline

emptry constructor

◆ BlockHashSet() [2/2]

template<typename KeyT , typename HashT , uint32 CTA_SIZE, uint32 TABLE_SIZE, KeyT INVALID_KEY = 0xFFFFFFFF>
CUGAR_DEVICE cugar::cuda::BlockHashSet< KeyT, HashT, CTA_SIZE, TABLE_SIZE, INVALID_KEY >::BlockHashSet ( TempStorage _storage)
inline

constructor

Parameters
_storagethe per-CTA storage backing this container

The documentation for this struct was generated from the following file: