Point Cloud Library (PCL)  1.9.1-dev
List of all members | Public Types | Static Public Member Functions
pcl::device::Warp Struct Reference

#include </__w/1/s/gpu/kinfu/src/cuda/utils.hpp>

Public Types

enum  { LOG_WARP_SIZE = 5, WARP_SIZE = 1 << LOG_WARP_SIZE, STRIDE = WARP_SIZE }
 
enum  { LOG_WARP_SIZE = 5, WARP_SIZE = 1 << LOG_WARP_SIZE, STRIDE = WARP_SIZE }
 

Static Public Member Functions

static __device__ __forceinline__ unsigned int laneId ()
 Returns the warp lane ID of the calling thread. More...
 
static __device__ __forceinline__ unsigned int id ()
 
static __device__ __forceinline__ int laneMaskLt ()
 
static __device__ __forceinline__ int binaryExclScan (int ballot_mask)
 
static __device__ __forceinline__ unsigned int laneId ()
 Returns the warp lane ID of the calling thread. More...
 
static __device__ __forceinline__ int laneMaskLe ()
 
static __device__ __forceinline__ int laneMaskLt ()
 
static __device__ __forceinline__ unsigned int id ()
 
static __device__ __forceinline__ int binaryInclScan (int ballot_mask)
 
static __device__ __forceinline__ int binaryExclScan (int ballot_mask)
 
template<typename It , typename T >
static __device__ __forceinline__ void fill (It beg, It end, const T &value)
 
template<typename InIt , typename OutIt >
static __device__ __forceinline__ OutIt copy (InIt beg, InIt end, OutIt out)
 
template<typename InIt , typename OutIt , class UnOp >
static __device__ __forceinline__ OutIt transform (InIt beg, InIt end, OutIt out, UnOp op)
 
template<typename InIt1 , typename InIt2 , typename OutIt , class BinOp >
static __device__ __forceinline__ OutIt transform (InIt1 beg1, InIt1 end1, InIt2 beg2, OutIt out, BinOp op)
 
template<typename OutIt , typename T >
static __device__ __forceinline__ void yota (OutIt beg, OutIt end, T value)
 
template<typename T , class BinOp >
static __device__ __forceinline__ void reduce (volatile T *buffer, BinOp op)
 
template<typename T , class BinOp >
static __device__ __forceinline__ T reduce (volatile T *buffer, T init, BinOp op)
 

Detailed Description

Definition at line 540 of file utils.hpp.

Member Enumeration Documentation

anonymous enum
Enumerator
LOG_WARP_SIZE 
WARP_SIZE 
STRIDE 

Definition at line 46 of file warp.hpp.

anonymous enum
Enumerator
LOG_WARP_SIZE 
WARP_SIZE 
STRIDE 

Definition at line 542 of file utils.hpp.

Member Function Documentation

static __device__ __forceinline__ int pcl::device::Warp::binaryExclScan ( int  ballot_mask)
inlinestatic

Definition at line 93 of file warp.hpp.

References laneMaskLt().

static __device__ __forceinline__ int pcl::device::Warp::binaryExclScan ( int  ballot_mask)
inlinestatic

Definition at line 576 of file utils.hpp.

References laneMaskLt().

static __device__ __forceinline__ int pcl::device::Warp::binaryInclScan ( int  ballot_mask)
inlinestatic

Definition at line 88 of file warp.hpp.

References laneMaskLe().

template<typename InIt , typename OutIt >
static __device__ __forceinline__ OutIt pcl::device::Warp::copy ( InIt  beg,
InIt  end,
OutIt  out 
)
inlinestatic

Definition at line 106 of file warp.hpp.

References laneId(), and STRIDE.

template<typename It , typename T >
static __device__ __forceinline__ void pcl::device::Warp::fill ( It  beg,
It  end,
const T &  value 
)
inlinestatic

Definition at line 99 of file warp.hpp.

References laneId(), and STRIDE.

static __device__ __forceinline__ unsigned int pcl::device::Warp::id ( )
inlinestatic

Definition at line 82 of file warp.hpp.

References LOG_WARP_SIZE.

static __device__ __forceinline__ unsigned int pcl::device::Warp::id ( )
inlinestatic

Definition at line 558 of file utils.hpp.

static __device__ __forceinline__ unsigned int pcl::device::Warp::laneId ( )
inlinestatic

Returns the warp lane ID of the calling thread.

Definition at line 54 of file warp.hpp.

static __device__ __forceinline__ unsigned int pcl::device::Warp::laneId ( )
inlinestatic

Returns the warp lane ID of the calling thread.

Definition at line 551 of file utils.hpp.

Referenced by copy(), fill(), laneMaskLe(), laneMaskLt(), reduce(), transform(), and yota().

static __device__ __forceinline__ int pcl::device::Warp::laneMaskLe ( )
inlinestatic

Definition at line 61 of file warp.hpp.

References laneId().

Referenced by binaryInclScan().

static __device__ __forceinline__ int pcl::device::Warp::laneMaskLt ( )
inlinestatic

Definition at line 72 of file warp.hpp.

References laneId().

static __device__ __forceinline__ int pcl::device::Warp::laneMaskLt ( )
inlinestatic

Definition at line 565 of file utils.hpp.

Referenced by binaryExclScan().

template<typename T , class BinOp >
static __device__ __forceinline__ void pcl::device::Warp::reduce ( volatile T *  buffer,
BinOp  op 
)
inlinestatic

Definition at line 153 of file warp.hpp.

References laneId().

template<typename T , class BinOp >
static __device__ __forceinline__ T pcl::device::Warp::reduce ( volatile T *  buffer,
init,
BinOp  op 
)
inlinestatic

Definition at line 169 of file warp.hpp.

References laneId().

template<typename InIt , typename OutIt , class UnOp >
static __device__ __forceinline__ OutIt pcl::device::Warp::transform ( InIt  beg,
InIt  end,
OutIt  out,
UnOp  op 
)
inlinestatic

Definition at line 118 of file warp.hpp.

References laneId(), and STRIDE.

template<typename InIt1 , typename InIt2 , typename OutIt , class BinOp >
static __device__ __forceinline__ OutIt pcl::device::Warp::transform ( InIt1  beg1,
InIt1  end1,
InIt2  beg2,
OutIt  out,
BinOp  op 
)
inlinestatic

Definition at line 130 of file warp.hpp.

References laneId(), and STRIDE.

template<typename OutIt , typename T >
static __device__ __forceinline__ void pcl::device::Warp::yota ( OutIt  beg,
OutIt  end,
value 
)
inlinestatic

Definition at line 143 of file warp.hpp.

References laneId(), and STRIDE.


The documentation for this struct was generated from the following files: