CUTLASS: cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ > Struct Template Reference

| CUTLASS CUDA Templates for Linear Algebra Subroutines and Solvers

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ > Struct Template Reference
Predicate Vector Concept

Statically sized array of bits implementing.

`#include <predicate_vector.h>`

## Classes
class | ConstIterator
| An iterator implementing Predicate Iterator Concept enabling sequential read and write access to predicates. 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 void | clear ()
| Clears all predicates. More...
CUTLASS_HOST_DEVICE void | enable ()
| Sets all predicates to true. 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

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

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

## Constructor & Destructor Documentation

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

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

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

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

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

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

CUTLASS_HOST_DEVICE void cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::clear | ( |  | ) |
| inline

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

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

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

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

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

CUTLASS_HOST_DEVICE void cutlass::PredicateVector< kPredicates_, kPredicatesPerByte_, kPredicateStart_ >::enable | ( |  | ) |
| inline

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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