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

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

Static Public Member Functions

static __device__ __forceinline__ unsigned int stride ()
 
static __device__ __forceinline__ int flattenedThreadId ()
 
template<int CTA_SIZE, typename T , class BinOp >
static __device__ __forceinline__ void reduce (volatile T *buffer, BinOp op)
 
template<int CTA_SIZE, typename T , class BinOp >
static __device__ __forceinline__ T reduce (volatile T *buffer, T init, BinOp op)
 
static __device__ __forceinline__ unsigned int id ()
 
static __device__ __forceinline__ unsigned int stride ()
 
static __device__ __forceinline__ void sync ()
 
static __device__ __forceinline__ int flattenedThreadId ()
 
template<typename It , typename T >
static __device__ __forceinline__ void fill (It beg, It end, const T &value)
 
template<typename OutIt , typename T >
static __device__ __forceinline__ void yota (OutIt beg, OutIt end, T value)
 
template<typename InIt , typename OutIt >
static __device__ __forceinline__ void copy (InIt beg, InIt end, OutIt out)
 
template<typename InIt , typename OutIt , class UnOp >
static __device__ __forceinline__ void transform (InIt beg, InIt end, OutIt out, UnOp op)
 
template<typename InIt1 , typename InIt2 , typename OutIt , class BinOp >
static __device__ __forceinline__ void transform (InIt1 beg1, InIt1 end1, InIt2 beg2, OutIt out, BinOp op)
 
template<int CTA_SIZE, typename T , class BinOp >
static __device__ __forceinline__ void reduce (volatile T *buffer, BinOp op)
 
template<int CTA_SIZE, typename T , class BinOp >
static __device__ __forceinline__ T reduce (volatile T *buffer, T init, BinOp op)
 
template<typename T , class BinOp >
static __device__ __forceinline__ void reduce_n (T *data, unsigned int n, BinOp op)
 

Detailed Description

Definition at line 462 of file utils.hpp.

Member Function Documentation

◆ copy()

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

Definition at line 88 of file block.hpp.

References flattenedThreadId(), and stride().

◆ fill()

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

Definition at line 67 of file block.hpp.

References flattenedThreadId(), and stride().

◆ flattenedThreadId() [1/2]

static __device__ __forceinline__ int pcl::device::Block::flattenedThreadId ( )
inlinestatic

Definition at line 470 of file utils.hpp.

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

◆ flattenedThreadId() [2/2]

static __device__ __forceinline__ int pcl::device::Block::flattenedThreadId ( )
inlinestatic

Definition at line 61 of file block.hpp.

◆ id()

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

Definition at line 46 of file block.hpp.

◆ reduce() [1/4]

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

Definition at line 476 of file utils.hpp.

References flattenedThreadId().

◆ reduce() [2/4]

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

Definition at line 122 of file block.hpp.

References flattenedThreadId().

◆ reduce() [3/4]

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

Definition at line 498 of file utils.hpp.

References flattenedThreadId().

◆ reduce() [4/4]

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

Definition at line 144 of file block.hpp.

References flattenedThreadId().

◆ reduce_n()

template<typename T , class BinOp >
static __device__ __forceinline__ void pcl::device::Block::reduce_n ( T *  data,
unsigned int  n,
BinOp  op 
)
inlinestatic

Definition at line 169 of file block.hpp.

References flattenedThreadId(), and stride().

◆ stride() [1/2]

static __device__ __forceinline__ unsigned int pcl::device::Block::stride ( )
inlinestatic

Definition at line 464 of file utils.hpp.

Referenced by copy(), fill(), reduce_n(), transform(), and yota().

◆ stride() [2/2]

static __device__ __forceinline__ unsigned int pcl::device::Block::stride ( )
inlinestatic

Definition at line 51 of file block.hpp.

◆ sync()

static __device__ __forceinline__ void pcl::device::Block::sync ( )
inlinestatic

Definition at line 56 of file block.hpp.

◆ transform() [1/2]

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

Definition at line 99 of file block.hpp.

References flattenedThreadId(), and stride().

◆ transform() [2/2]

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

Definition at line 110 of file block.hpp.

References flattenedThreadId(), and stride().

◆ yota()

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

Definition at line 77 of file block.hpp.

References flattenedThreadId(), and stride().


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