CUDPP  2.2
CUDA Data-Parallel Primitives Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
compress_kernel.cuh File Reference

CUDPP kernel-level compress routines. More...

#include <cudpp_globals.h>
#include "sharedmem.h"
#include <stdio.h>
#include "cta/compress_cta.cuh"

Compress Functions

typedef unsigned int uint
 
typedef unsigned char uchar
 
typedef unsigned short ushort
 
__global__ void bwt_compute_final_kernel (const uchar *d_bwtIn, const uint *d_values, int *d_bwtIndex, uchar *d_bwtOut, uint numElements, uint tThreads)
 Compute final BWT. More...
 
template<class T , int depth>
__global__ void stringMergeMulti (T *A_keys, T *A_keys_out, T *A_values, T *A_values_out, T *stringValues, int subPartitions, int numBlocks, int *partitionBeginA, int *partitionSizeA, int *partitionBeginB, int *partitionSizeB, int entirePartitionSize, size_t numElements)
 Multi merge. More...
 
template<class T >
__global__ void findMultiPartitions (T *A, int splitsPP, int numPartitions, int partitionSize, int *partitionBeginA, int *partitionSizesA, int *partitionBeginB, int *partitionSizesB, int sizeA)
 Merges the indices for the "upper" block (right block) More...
 
template<class T , int depth>
__global__ void simpleStringMerge (T *A_keys, T *A_keys_out, T *A_values, T *A_values_out, T *stringValues, int sizePerPartition, int size, T *stringValues2, size_t numElements)
 Simple merge. More...
 
template<class T , int depth>
__global__ void blockWiseStringSort (T *A_keys, T *A_address, const T *stringVals, T *stringVals2, int blockSize, size_t numElements)
 Sorts blocks of data of size blockSize. More...
 
__global__ void bwt_keys_construct_kernel (uchar4 *d_bwtIn, uint *d_bwtInRef, uint *d_keys, uint *d_values, uint *d_bwtInRef2, uint tThreads)
 Massage input to set up for merge sort. More...
 
__global__ void mtf_reduction_kernel (const uchar *d_mtfIn, uchar *d_lists, ushort *d_list_sizes, uint nLists, uint offset, uint numElements)
 First stage in MTF (Reduction) More...
 
__global__ void mtf_GLreduction_kernel (uchar *d_lists, ushort *d_list_sizes, uint offset, uint tThreads, uint nLists)
 Second stage in MTF (Global reduction) More...
 
__global__ void mtf_GLdownsweep_kernel (uchar *d_lists, ushort *d_list_sizes, uint offset, uint lastLevel, uint nLists, uint tThreads)
 Third stage in MTF (Global downsweep) More...
 
__global__ void mtf_localscan_lists_kernel (const uchar *d_mtfIn, uchar *d_mtfOut, uchar *d_lists, ushort *d_list_sizes, uint nLists, uint offset, uint numElements)
 Compute final MTF lists and final MTF output. More...
 
__global__ void huffman_build_histogram_kernel (uint *d_input, uint *d_histograms, uint numElements)
 Compute 256-entry histogram. More...
 
__global__ void histo_kernel (uchar *d_input, uint *d_histograms, uint numElements)
 
__global__ void huffman_build_tree_kernel (const uchar *d_input, uchar *d_huffCodesPacked, uint *d_huffCodeLocations, uchar *d_huffCodeLengths, uint *d_histograms, uint *d_histogram, uint *d_nCodesPacked, uint *d_totalEncodedSize, uint histBlocks, uint numElements)
 Build Huffman tree/codes. More...
 
__global__ void huffman_kernel_en (uchar4 *d_input, uchar *d_codes, uint *d_code_locations, uchar *d_huffCodeLengths, encoded *d_encoded, uint nCodesPacked, uint nThreads)
 Perform parallel Huffman encoding. More...
 
__global__ void huffman_datapack_kernel (encoded *d_encoded, uint *d_encodedData, uint *d_totalEncodedSize, uint *d_eOffsets)
 Pack together encoded blocks. More...
 

Detailed Description

CUDPP kernel-level compress routines.

compress_kernel.cu