GENIE
scan.h File Reference
#include <stdlib.h>

Go to the source code of this file.

Namespaces

 genie
 This is the top-level namespace of the project.
 
 genie::utility
 

Macros

#define GPUGENIE_SCAN_THREADBLOCK_SIZE   (256)
 
#define GPUGENIE_SCAN_MIN_SHORT_ARRAY_SIZE   (4)
 
#define GPUGENIE_SCAN_MAX_SHORT_ARRAY_SIZE   (4*GPUGENIE_SCAN_THREADBLOCK_SIZE)
 
#define GPUGENIE_SCAN_MIN_LARGE_ARRAY_SIZE   (8*GPUGENIE_SCAN_THREADBLOCK_SIZE)
 
#define GPUGENIE_SCAN_MAX_LARGE_ARRAY_SIZE   (4*GPUGENIE_SCAN_THREADBLOCK_SIZE*GPUGENIE_SCAN_THREADBLOCK_SIZE)
 

Functions

void genie::utility::initScan (void)
 
void genie::utility::closeScan (void)
 
__device__ uint genie::utility::d_pow2ceil_32 (uint x)
 
uint genie::utility::h_pow2ceil_32 (uint x)
 
__global__ void genie::utility::g_scanExclusiveShared (uint4 *d_Dst, uint4 *d_Src, uint activeThreads, uint pow2size)
 
__device__ void genie::utility::d_scanExclusiveShared (uint4 *d_Dst, uint4 *d_Src, uint activeThreads, uint pow2size)
 
__device__ void genie::utility::d_scanExclusivePerBlockShared (uint4 *d_Dst, uint4 *d_Src, uint activeThreads, uint pow2size)
 
__global__ void genie::utility::g_scanInclusiveShared (uint4 *d_Dst, uint4 *d_Src, uint activeThreads, uint pow2size)
 
__device__ void genie::utility::d_scanInclusiveShared (uint4 *d_Dst, uint4 *d_Src, uint activeThreads, uint pow2size)
 
__device__ void genie::utility::d_scanInclusivePerBlockShared (uint4 *d_Dst, uint4 *d_Src, uint activeThreads, uint pow2size)
 
size_t genie::utility::scanExclusiveShort (unsigned int *d_Dst, unsigned int *d_Src, unsigned int arrayLength)
 
size_t genie::utility::scanExclusiveLarge (unsigned int *d_Dst, unsigned int *d_Src, unsigned int arrayLength)
 
void genie::utility::scanExclusiveHost (unsigned int *dst, unsigned int *src, unsigned int arrayLength)
 

Variables

const unsigned int genie::utility::SCAN_THREADBLOCK_SIZE = GPUGENIE_SCAN_THREADBLOCK_SIZE
 
const unsigned int genie::utility::SCAN_MIN_SHORT_ARRAY_SIZE = GPUGENIE_SCAN_MIN_SHORT_ARRAY_SIZE
 
const unsigned int genie::utility::SCAN_MAX_SHORT_ARRAY_SIZE = GPUGENIE_SCAN_MAX_SHORT_ARRAY_SIZE
 
const unsigned int genie::utility::SCAN_MIN_LARGE_ARRAY_SIZE = GPUGENIE_SCAN_MIN_LARGE_ARRAY_SIZE
 
const unsigned int genie::utility::SCAN_MAX_LARGE_ARRAY_SIZE = GPUGENIE_SCAN_MAX_LARGE_ARRAY_SIZE
 

Macro Definition Documentation

◆ GPUGENIE_SCAN_MAX_LARGE_ARRAY_SIZE

#define GPUGENIE_SCAN_MAX_LARGE_ARRAY_SIZE   (4*GPUGENIE_SCAN_THREADBLOCK_SIZE*GPUGENIE_SCAN_THREADBLOCK_SIZE)

Definition at line 14 of file scan.h.

◆ GPUGENIE_SCAN_MAX_SHORT_ARRAY_SIZE

#define GPUGENIE_SCAN_MAX_SHORT_ARRAY_SIZE   (4*GPUGENIE_SCAN_THREADBLOCK_SIZE)

Definition at line 12 of file scan.h.

◆ GPUGENIE_SCAN_MIN_LARGE_ARRAY_SIZE

#define GPUGENIE_SCAN_MIN_LARGE_ARRAY_SIZE   (8*GPUGENIE_SCAN_THREADBLOCK_SIZE)

Definition at line 13 of file scan.h.

◆ GPUGENIE_SCAN_MIN_SHORT_ARRAY_SIZE

#define GPUGENIE_SCAN_MIN_SHORT_ARRAY_SIZE   (4)

Definition at line 11 of file scan.h.

◆ GPUGENIE_SCAN_THREADBLOCK_SIZE

#define GPUGENIE_SCAN_THREADBLOCK_SIZE   (256)

Definition at line 10 of file scan.h.