CUDPP  2.3
CUDA Data-Parallel Primitives Library
Classes
segmented_scan_cta.cuh File Reference

CUDPP CTA-level scan routines. More...

#include "cta/scan_cta.cuh"
#include <cudpp_globals.h>
#include <math.h>
#include <cstdio>

Classes

class  SegmentedScanTraits< T, Oper, backward, exclusivity, doShiftFlags, fullBlock, sums, sm12OrBetter >
 Template class containing compile-time parameters to the segmented scan functions. More...
 

Functions

Segmented scan Functions
template<class T , typename traits >
__device__ void loadForSegmentedScanSharedChunkFromMem4 (T *s_odata, T threadScan0[4], T threadScan1[4], unsigned int &threadFlag, unsigned int *s_oflags, unsigned int *s_oindices, const T *d_idata, const unsigned int *d_iflags, int numElements, int iDataOffset, int &ai, int &bi, int &aiDev, int &biDev)
 Handles loading input s_data from global memory to shared memory (vec4 version) More...
 
template<class T , class traits >
__device__ void storeForSegmentedScanSharedChunkToMem4 (T *d_odata, T threadScan0[4], T threadScan1[4], unsigned int threadFlag, T *s_idata, unsigned int numElements, int oDataOffset, int ai, int bi, int aiDev, int biDev)
 Handles storing result s_data from shared memory to global memory (vec4 version) More...
 
template<class T , class traits , unsigned int blockSize>
__device__ T reduceCTA (volatile T *s_data)
 
template<class T , class traits , bool isExclusive, unsigned int log_simd_threads>
__device__ void warpSegScan (T val, unsigned int flag, volatile T *s_data, volatile unsigned int *s_flags, T &oVal, unsigned int &oFlag, bool print=false)
 
template<class T , class traits >
__device__ void segmentedScanWarps (T val1, unsigned int flag1, T val2, unsigned int flag2, T *s_data, unsigned int *s_flags)
 
template<class T , class traits >
__device__ void segmentedScanCTA (T *s_data, unsigned int *s_flags, unsigned int *s_indices, T *d_blockSums=0, unsigned int *d_blockFlags=0, unsigned int *d_blockIndices=0)
 CTA-level segmented scan routine;. More...
 

Detailed Description

CUDPP CTA-level scan routines.

segmented_scan_cta.cu