cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ > Struct Template Reference
Predicate Vector Concept

Statically sized array of bits implementing.

`#include <predicate_vector.h>`

## Classes

class | ConstIterator
| A const iterator implementing Predicate Iterator Concept enabling sequential read-only access to prediactes. More...
class | Iterator
| An iterator implementing Predicate Iterator Concept enabling sequential read and write access to predicates. More...
struct | TrivialIterator
| Iterator that always returns true. More...

## Public Types

typedef uint32_t | Storage
| Storage type of individual elements. More...

## Public Member Functions

CUTLASS_HOST_DEVICE | PredicateVector (bool value=true)
| Initialize the predicate vector. More...
CUTLASS_HOST_DEVICE void | fill (bool value=true)
| Fills all predicates with a given value. More...
CUTLASS_HOST_DEVICE bool | operator[] (int idx) const
| Accesses a bit within the predicate vector. More...
CUTLASS_HOST_DEVICE bool | at (int idx) const
| Accesses a bit within the predicate vector. More...
CUTLASS_HOST_DEVICE void | set (int idx, bool value=true)
| Set a bit within the predicate vector. More...
CUTLASS_HOST_DEVICE PredicateVector & | operator &= (PredicateVector const &predicates)
| Computes the intersection of two identical predicate vectors. More...
CUTLASS_HOST_DEVICE PredicateVector & | operator|= (PredicateVector const &predicates)
| Computes the union of two identical predicate vectors. More...
CUTLASS_HOST_DEVICE bool | is_zero () const
| Returns true if entire predicate array is zero. More...
CUTLASS_DEVICE Iterator | begin ()
| Returns an iterator to the start of the bit vector. More...
CUTLASS_DEVICE Iterator | end ()
| Returns an iterator. More...
CUTLASS_DEVICE ConstIterator | const_begin () const
| Returns a ConstIterator. More...
CUTLASS_DEVICE ConstIterator | const_end () const
| Returns a ConstIterator. More...

## Static Public Attributes

static int const | kPredicates = kPredicates_
| Number of bits stored by the PredicateVector. More...
static int const | kPredicatesPerByte = kPredicatesPerByte_
| Number of bits stored within each byte of the predicate bit vector. More...
static int const | kPredicateStart = kPredicateStart_
| First bit withing each byte containing predicates. More...
static int const | kBytes = (kPredicates + kPredicatesPerByte - 1) / kPredicatesPerByte
| Number of bytes needed. More...
static int const | kWordCount = (kBytes + sizeof(Storage) - 1) / sizeof(Storage)
| Number of storage elements needed. More...

## Member Typedef Documentation

## Storage

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

typedef uint32_t cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::Storage

## Constructor & Destructor Documentation

## PredicateVector()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_HOST_DEVICE cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::PredicateVector | ( | bool | value = `true` | ) |

inline

## Member Function Documentation

## at()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_HOST_DEVICE bool cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::at | ( | int | idx | ) | const

inline

## begin()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_DEVICE Iterator cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::begin | ( |  | ) |

inline

## const_begin()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_DEVICE ConstIterator cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::const_begin | ( |  | ) | const

inline

## const_end()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_DEVICE ConstIterator cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::const_end | ( |  | ) | const

inline

## end()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_DEVICE Iterator cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::end | ( |  | ) |

inline

## fill()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_HOST_DEVICE void cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::fill | ( | bool | value = `true` | ) |

inline

## is_zero()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_HOST_DEVICE bool cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::is_zero | ( |  | ) | const

inline

## operator &=()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_HOST_DEVICE PredicateVector& cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::operator&= | ( | PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ > const & | predicates | ) |

inline

## operator[]()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_HOST_DEVICE bool cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::operator[] | ( | int | idx | ) | const

inline

## operator|=()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_HOST_DEVICE PredicateVector& cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::operator|= | ( | PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ > const & | predicates | ) |

inline

## set()

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

CUTLASS_HOST_DEVICE void cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::set | ( | int | idx,
|  | bool | value = `true`
| ) |  |

inline

## Member Data Documentation

## kBytes

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

int const cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::kBytes = (kPredicates + kPredicatesPerByte - 1) / kPredicatesPerByte

static

## kPredicates

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

int const cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::kPredicates = kPredicates_

static

## kPredicatesPerByte

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

int const cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::kPredicatesPerByte = kPredicatesPerByte_

static

## kPredicateStart

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

int const cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::kPredicateStart = kPredicateStart_

static

## kWordCount

template<int kPredicates_, int kPredicatesPerByte_ = 4, int kPredicateStart_ = 0>

int const cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::kWordCount = (kBytes + sizeof(Storage) - 1) / sizeof(Storage)

static

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

- predicate_vector.h