GENIE
|
#include <DeviceVarintCodec.h>
Public Member Functions | |
void | encodeArray (uint32_t *in, const size_t length, uint32_t *out, size_t &nvalue) |
const uint32_t * | decodeArray (const uint32_t *in, const size_t, uint32_t *out, size_t &nvalue) |
__device__ uint32_t * | decodeArraySequential (uint32_t *d_in, const size_t, uint32_t *d_out, size_t &nvalue) |
__device__ uint32_t * | decodeArrayParallel (uint32_t *d_in, size_t, uint32_t *d_out, size_t &capacity) |
std::string | name () const |
__device__ __host__ int | decodeArrayParallel_maxBlocks () |
__device__ __host__ int | decodeArrayParallel_minEffectiveLength () |
__device__ __host__ int | decodeArrayParallel_lengthPerBlock () |
__device__ __host__ int | decodeArrayParallel_threadsPerBlock () |
__device__ __host__ int | decodeArrayParallel_threadLoad () |
![]() | |
__device__ __host__ | DeviceIntegerCODEC () |
__device__ const uint32_t * | decodeArraySequential (const uint32_t *d_in, const size_t length, uint32_t *d_out, size_t &nvalue) |
__device__ const uint32_t * | decodeArrayParallel (const uint32_t *d_in, const size_t length, uint32_t *d_out, size_t &nvalue) |
This class defines a varint integer codec (a.k.a. variable integer, variable byte,...)
Supports decoding from withing a CUDA kernel.
Based on varint compression from Daniel Lemire.
Definition at line 29 of file DeviceVarintCodec.h.
|
virtual |
Implements genie::compression::DeviceIntegerCODEC.
Definition at line 79 of file DeviceVarintCodec.cu.
__device__ uint32_t * genie::compression::DeviceVarintCodec::decodeArrayParallel | ( | uint32_t * | d_in, |
size_t | comprLength, | ||
uint32_t * | d_out, | ||
size_t & | capacity | ||
) |
Definition at line 164 of file DeviceVarintCodec.cu.
|
inlinevirtual |
Maximal uncompressed (or compressed) size of the array the codec is able to process
Reimplemented from genie::compression::DeviceIntegerCODEC.
Definition at line 50 of file DeviceVarintCodec.h.
|
inlinevirtual |
The amount of CUDA blocks this codec is able to operate on at the same time
Reimplemented from genie::compression::DeviceIntegerCODEC.
Definition at line 48 of file DeviceVarintCodec.h.
|
inlinevirtual |
Minimal effective lenth of the compression
Reimplemented from genie::compression::DeviceIntegerCODEC.
Definition at line 49 of file DeviceVarintCodec.h.
|
inlinevirtual |
Number of decompressed values extracted by a single thread
Reimplemented from genie::compression::DeviceIntegerCODEC.
Definition at line 52 of file DeviceVarintCodec.h.
|
inlinevirtual |
Maximal number of threads per single block
Reimplemented from genie::compression::DeviceIntegerCODEC.
Definition at line 51 of file DeviceVarintCodec.h.
__device__ uint32_t * genie::compression::DeviceVarintCodec::decodeArraySequential | ( | uint32_t * | d_in, |
const size_t | comprLength, | ||
uint32_t * | d_out, | ||
size_t & | nvalue | ||
) |
Definition at line 157 of file DeviceVarintCodec.cu.
|
virtual |
Implements genie::compression::DeviceIntegerCODEC.
Definition at line 15 of file DeviceVarintCodec.cu.
|
inlinevirtual |
Reimplemented from genie::compression::DeviceIntegerCODEC.
Definition at line 46 of file DeviceVarintCodec.h.