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

CUDPP application-level compress routines. More...

#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include "cuda_util.h"
#include "cudpp_globals.h"
#include "cudpp.h"
#include "cudpp_util.h"
#include "cudpp_plan.h"
#include "cudpp_sa.h"
#include "kernel/compress_kernel.cuh"

Functions

Compress Functions
void huffmanEncoding (unsigned int *d_hist, unsigned int *d_encodeOffset, unsigned int *d_compressedSize, unsigned int *d_compressed, size_t numElements, const CUDPPCompressPlan *plan)
 Perform Huffman encoding. More...
 
template<class T >
void moveToFrontTransform (unsigned char *d_mtfIn, unsigned char *d_mtfOut, size_t numElements, const T *plan)
 Perform the Move-to-Front Transform (MTF) More...
 
template<class T >
void burrowsWheelerTransform (unsigned char *d_uncompressed, int *d_bwtIndex, unsigned char *d_bwtOut, size_t numElements, const T *plan)
 Perform the Burrows-Wheeler Transform (BWT) More...
 
void burrowsWheelerTransformWrapper (unsigned char *d_in, int *d_bwtIndex, size_t numElements, const CUDPPCompressPlan *plan)
 Wrapper for calling the Burrows-Wheeler Transform (BWT). More...
 
void burrowsWheelerTransformWrapper (unsigned char *d_in, int *d_bwtIndex, unsigned char *d_bwtOut, size_t numElements, const CUDPPBwtPlan *plan)
 Wrapper for calling the Burrows-Wheeler Transform (BWT). More...
 
void moveToFrontTransformWrapper (size_t numElements, const CUDPPCompressPlan *plan)
 Wrapper for calling the Move-to-Front (MTF) transform. More...
 
void moveToFrontTransformWrapper (unsigned char *d_in, unsigned char *d_mtfOut, size_t numElements, const CUDPPMtfPlan *plan)
 Wrapper for calling the Move-to-Front (MTF) transform. More...
 
void allocBwtStorage (CUDPPBwtPlan *plan)
 Allocate intermediate arrays used by BWT. More...
 
void allocMtfStorage (CUDPPMtfPlan *plan)
 Allocate intermediate arrays used by MTF. More...
 
void allocCompressStorage (CUDPPCompressPlan *plan)
 Allocate intermediate arrays used by compression. More...
 
void freeCompressStorage (CUDPPCompressPlan *plan)
 Deallocate intermediate block arrays in a CUDPPCompressPlan object. More...
 
void freeBwtStorage (CUDPPBwtPlan *plan)
 Deallocate intermediate block arrays in a CUDPPBwtPlan object. More...
 
void freeMtfStorage (CUDPPMtfPlan *plan)
 Deallocate intermediate block arrays in a CUDPPMtfPlan object. More...
 
void cudppCompressDispatch (void *d_uncompressed, void *d_bwtIndex, void *d_histSize, void *d_hist, void *d_encodeOffset, void *d_compressedSize, void *d_compressed, size_t numElements, const CUDPPCompressPlan *plan)
 Dispatch function to perform parallel compression on an array with the specified configuration. More...
 
void cudppBwtDispatch (void *d_in, void *d_out, void *d_index, size_t numElements, const CUDPPBwtPlan *plan)
 Dispatch function to perform the Burrows-Wheeler transform. More...
 
void cudppMtfDispatch (void *d_in, void *d_out, size_t numElements, const CUDPPMtfPlan *plan)
 Dispatch function to perform the Move-to-Front transform. More...
 

Detailed Description

CUDPP application-level compress routines.

compress_app.cu