CUDPP  2.3
CUDA Data-Parallel Primitives Library
cudpp.cpp File Reference

Main library source file. Implements wrappers for public interface. More...

#include "cudpp.h"
#include "cudpp_manager.h"
#include "cudpp_scan.h"
#include "cudpp_segscan.h"
#include "cudpp_compact.h"
#include "cudpp_spmvmult.h"
#include "cudpp_mergesort.h"
#include "cudpp_multisplit.h"
#include "cudpp_radixsort.h"
#include "cudpp_rand.h"
#include "cudpp_reduce.h"
#include "cudpp_stringsort.h"
#include "cudpp_tridiagonal.h"
#include "cudpp_compress.h"
#include "cudpp_sa.h"
#include "cudpp_listrank.h"
#include <stdio.h>

Functions

Algorithm Interface
CUDPP_DLL CUDPPResult cudppScan (const CUDPPHandle planHandle, void *d_out, const void *d_in, size_t numElements)
 Performs a scan operation of numElements on its input in GPU memory (d_in) and places the output in GPU memory (d_out), with the scan parameters specified in the plan pointed to by planHandle. More...
 
CUDPP_DLL CUDPPResult cudppSegmentedScan (const CUDPPHandle planHandle, void *d_out, const void *d_idata, const unsigned int *d_iflags, size_t numElements)
 Performs a segmented scan operation of numElements on its input in GPU memory (d_idata) and places the output in GPU memory (d_out), with the scan parameters specified in the plan pointed to by planHandle. More...
 
CUDPP_DLL CUDPPResult cudppMultiScan (const CUDPPHandle planHandle, void *d_out, const void *d_in, size_t numElements, size_t numRows)
 Performs numRows parallel scan operations of numElements each on its input (d_in) and places the output in d_out, with the scan parameters set by config. Exactly like cudppScan except that it runs on multiple rows in parallel. More...
 
CUDPP_DLL CUDPPResult cudppCompact (const CUDPPHandle planHandle, void *d_out, size_t *d_numValidElements, const void *d_in, const unsigned int *d_isValid, size_t numElements)
 Given an array d_in and an array of 1/0 flags in deviceValid, returns a compacted array in d_out of corresponding only the "valid" values from d_in. More...
 
CUDPP_DLL CUDPPResult cudppReduce (const CUDPPHandle planHandle, void *d_out, const void *d_in, size_t numElements)
 Reduces an array to a single element using a binary associative operator. More...
 
CUDPP_DLL CUDPPResult cudppRadixSort (const CUDPPHandle planHandle, void *d_keys, void *d_values, size_t numElements)
 Sorts key-value pairs or keys only. More...
 
CUDPP_DLL CUDPPResult cudppMergeSort (const CUDPPHandle planHandle, void *d_keys, void *d_values, size_t numElements)
 Sorts key-value pairs or keys only. More...
 
CUDPP_DLL CUDPPResult cudppStringSortAligned (const CUDPPHandle planHandle, unsigned int *d_keys, unsigned int *d_values, unsigned int *stringVals, size_t numElements, size_t stringArrayLength)
 Sorts strings. Keys are the first four characters of the string, and values are the addresses where the strings reside in memory (stringVals) More...
 
CUDPP_DLL CUDPPResult cudppStringSort (const CUDPPHandle planHandle, unsigned char *d_stringVals, unsigned int *d_address, unsigned char termC, size_t numElements, size_t stringArrayLength)
 Sorts strings. Keys are the first four characters of the string, and values are the addresses where the strings reside in memory (stringVals) More...
 
CUDPP_DLL CUDPPResult cudppSparseMatrixVectorMultiply (const CUDPPHandle sparseMatrixHandle, void *d_y, const void *d_x)
 Perform matrix-vector multiply y = A*x for arbitrary sparse matrix A and vector x. More...
 
CUDPP_DLL CUDPPResult cudppRand (const CUDPPHandle planHandle, void *d_out, size_t numElements)
 Rand puts numElements random 32-bit elements into d_out. More...
 
CUDPP_DLL CUDPPResult cudppRandSeed (const CUDPPHandle planHandle, unsigned int seed)
 Sets the seed used for rand. More...
 
CUDPP_DLL CUDPPResult cudppTridiagonal (CUDPPHandle planHandle, void *d_a, void *d_b, void *d_c, void *d_d, void *d_x, int systemSize, int numSystems)
 Solves tridiagonal linear systems. More...
 
CUDPP_DLL CUDPPResult cudppCompress (CUDPPHandle planHandle, unsigned char *d_uncompressed, int *d_bwtIndex, unsigned int *d_histSize, unsigned int *d_hist, unsigned int *d_encodeOffset, unsigned int *d_compressedSize, unsigned int *d_compressed, size_t numElements)
 Compresses data stream. More...
 
CUDPP_DLL CUDPPResult cudppBurrowsWheelerTransform (CUDPPHandle planHandle, unsigned char *d_in, unsigned char *d_out, int *d_index, size_t numElements)
 Performs the Burrows-Wheeler Transform. More...
 
CUDPP_DLL CUDPPResult cudppMoveToFrontTransform (CUDPPHandle planHandle, unsigned char *d_in, unsigned char *d_out, size_t numElements)
 Performs the Move-to-Front Transform. More...
 
CUDPP_DLL CUDPPResult cudppListRank (CUDPPHandle planHandle, void *d_ranked_values, void *d_unranked_values, void *d_next_indices, size_t head, size_t numElements)
 Performs list ranking of linked list node values. More...
 
CUDPP_DLL CUDPPResult cudppSuffixArray (CUDPPHandle planHandle, unsigned char *d_in, unsigned int *d_out, size_t numElements)
 Performs the Suffix Array. More...
 
CUDPP_DLL CUDPPResult cudppMultiSplit (const CUDPPHandle planHandle, unsigned int *d_keys, unsigned int *d_values, size_t numElements, size_t numBuckets)
 Splits an array of keys and an optional array of values into a set of buckets. More...
 
CUDPP_DLL CUDPPResult cudppMultiSplitCustomBucketMapper (const CUDPPHandle planHandle, unsigned int *d_keys, unsigned int *d_values, size_t numElements, size_t numBuckets, BucketMappingFunc bucketMappingFunc)
 Splits an array of keys and an optional array of values into a set of buckets using a custom function to map elements to buckets. More...
 

Detailed Description

Main library source file. Implements wrappers for public interface.

cudpp.cpp

Main library source file. Implements wrappers for public interface. These wrappers call application-level operators. As this grows we may decide to partition into multiple source files.