A random-access input wrapper for dereferencing array values using a PTX cache load modifier.
More...
|
|
typedef CacheModifiedInputIterator | self_type |
| | My own type.
|
| |
|
typedef OffsetT | difference_type |
| | Type to express the result of subtracting one iterator from another.
|
| |
|
typedef ValueType | value_type |
| | The type of the element the iterator can point to.
|
| |
|
typedef ValueType * | pointer |
| | The type of a pointer to an element the iterator can point to.
|
| |
|
typedef ValueType | reference |
| | The type of a reference to an element the iterator can point to.
|
| |
|
typedef std::random_access_iterator_tag | iterator_category |
| | The iterator category.
|
| |
|
|
ValueType * | ptr |
| | Wrapped native pointer.
|
| |
template<CacheLoadModifier MODIFIER, typename ValueType, typename OffsetT = ptrdiff_t>
class cub::CacheModifiedInputIterator< MODIFIER, ValueType, OffsetT >
A random-access input wrapper for dereferencing array values using a PTX cache load modifier.
- Overview
- CacheModifiedInputIteratorTis a random-access input iterator that wraps a native device pointer of type
ValueType*. ValueType references are made by reading ValueType values through loads modified by MODIFIER.
- Can be used to load any data type from memory using PTX cache load modifiers (e.g., "LOAD_LDG", "LOAD_CG", "LOAD_CA", "LOAD_CS", "LOAD_CV", etc.).
- Can be constructed, manipulated, and exchanged within and between host and device functions, but can only be dereferenced within device functions.
- Compatible with Thrust API v1.7 or newer.
- Snippet
- The code snippet below illustrates the use of
CacheModifiedInputIteratorTto dereference a device array of double using the "ldg" PTX load modifier (i.e., load values through texture cache).
#include <cub/cub.cuh>
double *d_in;
printf("%f\n", itr[0]);
printf("%f\n", itr[1]);
printf("%f\n", itr[6]);
- Template Parameters
-
| CacheLoadModifier | The cub::CacheLoadModifier to use when accessing data |
| ValueType | The value type of this iterator |
| OffsetT | The difference type of this iterator (Default: ptrdiff_t) |
Definition at line 107 of file cache_modified_input_iterator.cuh.
◆ CacheModifiedInputIterator()
template<CacheLoadModifier MODIFIER, typename ValueType , typename OffsetT = ptrdiff_t>
template<typename QualifiedValueType >
The documentation for this class was generated from the following file: