CUDPP
2.3
CUDA Data-Parallel Primitives Library
|
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... | |
Main library source file. Implements wrappers for public interface.
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.