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

CUDPP kernel-level radix sorting routines. More...

#include "cudpp_mergesort.h"
#include <cudpp_globals.h>
#include <cudpp_util.h>
#include "sharedmem.h"
#include "cta/mergesort_cta.cuh"

MergeSort Functions

typedef unsigned int uint
 
template<class T >
__global__ void simpleCopy (T *A_keys_dev, unsigned int *A_vals_dev, T *A_keys_out_dev, unsigned int *A_vals_out_dev, int offset, int numElementsToCopy)
 Copies unused portions of arrays in our ping-pong strategy. More...
 
template<class T , int depth>
__global__ void blockWiseSort (T *A_keys, unsigned int *A_values, int blockSize, size_t totalSize)
 Sorts blocks of data of size blockSize. More...
 
template<class T , int depth>
__global__ void simpleMerge_lower (T *A_keys, unsigned int *A_values, T *A_keys_out, unsigned int *A_values_out, int sizePerPartition, int size)
 Merges the indices for the "lower" block (left block) More...
 
template<class T , int depth>
__global__ void simpleMerge_higher (T *A_keys, unsigned int *A_values, T *A_keys_out, unsigned int *A_values_out, int sizePerPartition, int size)
 Merges the indices for the "upper" block (right block) More...
 
template<class T >
__global__ void findMultiPartitions (T *A, int splitsPP, int numPartitions, int partitionSize, int *partitionBeginA, int *partitionSizesA, int sizeA)
 Merges the indices for the "upper" block (right block) More...
 
template<class T , int depth>
__global__ void mergeMulti_lower (T *A_keys_out, unsigned int *A_vals_out, T *A_keys, unsigned int *A_vals, int subPartitions, int numBlocks, int *partitionBeginA, int *partitionSizeA, int entirePartitionSize, int sizeA)
 Blocks cooperatively Merge two partitions for the indices in the "lower" block (left block) More...
 
template<class T , int depth>
__global__ void mergeMulti_higher (T *A_keys_out, unsigned int *A_vals_out, T *A_keys, unsigned int *A_vals, int subPartitions, int numBlocks, int *partitionBeginA, int *partitionSizeA, int entirePartitionSize, int sizeA)
 Blocks cooperatively Merge two partitions for the indices in the "upper" block (right block) More...
 

Detailed Description

CUDPP kernel-level radix sorting routines.

mergesort_kernel.cu