pcl::device::Warp Struct Reference

`#include </build/pcl-rK6aXX/pcl-1.12.1+dfsg/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 523 of file utils.hpp.

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
LOG_WARP_SIZE |
WARP_SIZE |
STRIDE |

Definition at line 46 of file warp.hpp.

## anonymous enum

anonymous enum

Enumerator
LOG_WARP_SIZE |
WARP_SIZE |
STRIDE |

Definition at line 525 of file utils.hpp.

## Member Function Documentation

## binaryExclScan() [1/2]

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

inline static

Definition at line 555 of file utils.hpp.

References laneMaskLt().

## binaryExclScan() [2/2]

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

inline static

Definition at line 85 of file warp.hpp.

References laneMaskLt().

## binaryInclScan()

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

inline static

Definition at line 80 of file warp.hpp.

References laneMaskLe().

## copy()

template<typename InIt , typename OutIt >

static __device__ __forceinline__ OutIt pcl::device::Warp::copy | ( | InIt | beg,
|  | InIt | end,
|  | OutIt | out
| ) |  |

inline static

Definition at line 98 of file warp.hpp.

References laneId(), and STRIDE.

## fill()

template<typename It , typename T >

static __device__ __forceinline__ void pcl::device::Warp::fill | ( | It | beg,
|  | It | end,
|  | const T & | value
| ) |  |

inline static

Definition at line 91 of file warp.hpp.

References laneId(), and STRIDE.

## id() [1/2]

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

inline static

Definition at line 541 of file utils.hpp.

References LOG_WARP_SIZE.

## id() [2/2]

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

inline static

Definition at line 74 of file warp.hpp.

References LOG_WARP_SIZE.

## laneId() [1/2]

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

inline static

Returns the warp lane ID of the calling thread.

Definition at line 534 of file utils.hpp.

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

## laneId() [2/2]

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

inline static

Returns the warp lane ID of the calling thread.

Definition at line 54 of file warp.hpp.

## laneMaskLe()

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

inline static

Definition at line 61 of file warp.hpp.

Referenced by binaryInclScan().

## laneMaskLt() [1/2]

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

inline static

Definition at line 548 of file utils.hpp.

Referenced by binaryExclScan().

## laneMaskLt() [2/2]

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

inline static

Definition at line 68 of file warp.hpp.

## reduce() [1/2]

template<typename T , class BinOp >

static __device__ __forceinline__ void pcl::device::Warp::reduce | ( | volatile T * | buffer,
|  | BinOp | op
| ) |  |

inline static

Definition at line 145 of file warp.hpp.

References laneId().

## reduce() [2/2]

template<typename T , class BinOp >

static __device__ __forceinline__ T pcl::device::Warp::reduce | ( | volatile T * | buffer,
|  | T | init,
|  | BinOp | op
| ) |  |

inline static

Definition at line 161 of file warp.hpp.

References laneId().

## transform() [1/2]

template<typename InIt , typename OutIt , class UnOp >

static __device__ __forceinline__ OutIt pcl::device::Warp::transform | ( | InIt | beg,
|  | InIt | end,
|  | OutIt | out,
|  | UnOp | op
| ) |  |

inline static

Definition at line 110 of file warp.hpp.

References laneId(), and STRIDE.

## transform() [2/2]

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
| ) |  |

inline static

Definition at line 122 of file warp.hpp.

References laneId(), and STRIDE.

## yota()

template<typename OutIt , typename T >

static __device__ __forceinline__ void pcl::device::Warp::yota | ( | OutIt | beg,
|  | OutIt | end,
|  | T | value
| ) |  |

inline static

Definition at line 135 of file warp.hpp.

References laneId(), and STRIDE.

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

- /build/pcl-rK6aXX/pcl-1.12.1+dfsg/gpu/kinfu/src/cuda/utils.hpp
- /build/pcl-rK6aXX/pcl-1.12.1+dfsg/gpu/utils/include/pcl/gpu/utils/device/warp.hpp