cuSBF
Loading...
Searching...
No Matches
Namespaces | Functions | Variables
hashutil.cuh File Reference
#include <cuda/std/bit>
#include <cstddef>
#include <cstdint>
#include <cstring>

Go to the source code of this file.

Namespaces

namespace  cusbf
 
namespace  cusbf::detail
 
namespace  cusbf::detail::xxhash
 XXHash_64 implementation from.
 

Functions

constexpr __host__ __device__ __forceinline__ uint64_t cusbf::detail::xxhash::rotl64 (uint64_t x, int8_t r)
 Rotates x left by r bits.
 
template<typename T >
__host__ __device__ __forceinline__ T cusbf::detail::xxhash::load_chunk (const uint8_t *data, uint64_t index)
 Loads a chunk of type T from data at byte offset index*sizeof(T).
 
constexpr __host__ __device__ __forceinline__ uint64_t cusbf::detail::xxhash::finalize (uint64_t h)
 Applies the xxHash-64 final mixing (avalanche) step.
 
template<typename T >
__host__ __device__ uint64_t cusbf::detail::xxhash::xxhash64 (const T &key, uint64_t seed=0)
 Computes the xxHash-64 digest of a value.
 
constexpr __host__ __device__ __forceinline__ uint64_t cusbf::detail::hash64 (uint64_t key)
 Fast 64-bit integer hash (non-cryptographic).
 
constexpr __host__ __device__ __forceinline__ uint64_t cusbf::detail::minimizerHash64 (uint64_t key)
 Fast 64-bit hash sufficient for uniform minimizer selection.
 

Variables

constexpr uint64_t cusbf::detail::xxhash::PRIME64_1 = 11400714785074694791ULL
 
constexpr uint64_t cusbf::detail::xxhash::PRIME64_2 = 14029467366897019727ULL
 
constexpr uint64_t cusbf::detail::xxhash::PRIME64_3 = 1609587929392839161ULL
 
constexpr uint64_t cusbf::detail::xxhash::PRIME64_4 = 9650029242287828579ULL
 
constexpr uint64_t cusbf::detail::xxhash::PRIME64_5 = 2870177450012600261ULL