37#ifndef PCL_DEVICE_UTILS_WARP_HPP_
38#define PCL_DEVICE_UTILS_WARP_HPP_
57 asm(
"mov.u32 %0, %laneid;" :
"=r"(
ret) );
64 asm(
"mov.u32 %0, %lanemask_le;" :
"=r"(
ret) );
71 asm(
"mov.u32 %0, %lanemask_lt;" :
"=r"(
ret) );
90 template<
typename It,
typename T>
97 template<
typename InIt,
typename OutIt>
109 template<
typename InIt,
typename OutIt,
class UnOp>
121 template<
typename InIt1,
typename InIt2,
typename OutIt,
class BinOp>
134 template<
typename OutIt,
typename T>
144 template<
typename T,
class BinOp>
160 template<
typename T,
class BinOp>
Iterator class for point clouds with or without given indices.
static __device__ __forceinline__ int laneMaskLe()
static __device__ __forceinline__ int binaryInclScan(int ballot_mask)
static __device__ __forceinline__ void reduce(volatile T *buffer, BinOp op)
static __device__ __forceinline__ unsigned int laneId()
Returns the warp lane ID of the calling thread.
static __device__ __forceinline__ OutIt transform(InIt1 beg1, InIt1 end1, InIt2 beg2, OutIt out, BinOp op)
static __device__ __forceinline__ int binaryExclScan(int ballot_mask)
static __device__ __forceinline__ int laneMaskLt()
static __device__ __forceinline__ OutIt copy(InIt beg, InIt end, OutIt out)
static __device__ __forceinline__ void fill(It beg, It end, const T &value)
static __device__ __forceinline__ T reduce(volatile T *buffer, T init, BinOp op)
static __device__ __forceinline__ unsigned int id()
static __device__ __forceinline__ void yota(OutIt beg, OutIt end, T value)
static __device__ __forceinline__ OutIt transform(InIt beg, InIt end, OutIt out, UnOp op)