template<typename AgentSpmvPolicyT, typename ValueT, typename OffsetT, bool HAS_ALPHA, bool HAS_BETA, int PTX_ARCH = CUB_PTX_ARCH>
struct cub::AgentSpmv< AgentSpmvPolicyT, ValueT, OffsetT, HAS_ALPHA, HAS_BETA, PTX_ARCH >
AgentSpmv implements a stateful abstraction of CUDA thread blocks for participating in device-wide SpMV.
< PTX compute capability
Definition at line 126 of file agent_spmv_orig.cuh.
|
enum | { BLOCK_THREADS = AgentSpmvPolicyT::BLOCK_THREADS,
ITEMS_PER_THREAD = AgentSpmvPolicyT::ITEMS_PER_THREAD,
TILE_ITEMS = BLOCK_THREADS * ITEMS_PER_THREAD
} |
| Constants.
|
|
typedef CubVector< OffsetT, 2 >::Type | CoordinateT |
| 2D merge path coordinate type
|
|
typedef CacheModifiedInputIterator< AgentSpmvPolicyT::ROW_OFFSETS_SEARCH_LOAD_MODIFIER, OffsetT, OffsetT > | RowOffsetsSearchIteratorT |
| Input iterator wrapper types (for applying cache modifiers)
|
|
typedef CacheModifiedInputIterator< AgentSpmvPolicyT::ROW_OFFSETS_LOAD_MODIFIER, OffsetT, OffsetT > | RowOffsetsIteratorT |
|
typedef CacheModifiedInputIterator< AgentSpmvPolicyT::COLUMN_INDICES_LOAD_MODIFIER, OffsetT, OffsetT > | ColumnIndicesIteratorT |
|
typedef CacheModifiedInputIterator< AgentSpmvPolicyT::VALUES_LOAD_MODIFIER, ValueT, OffsetT > | ValueIteratorT |
|
typedef CacheModifiedInputIterator< AgentSpmvPolicyT::VECTOR_VALUES_LOAD_MODIFIER, ValueT, OffsetT > | VectorValueIteratorT |
|
typedef KeyValuePair< OffsetT, ValueT > | KeyValuePairT |
|
typedef ReduceByKeyOp< cub::Sum > | ReduceBySegmentOpT |
|
typedef BlockReduce< ValueT, BLOCK_THREADS, BLOCK_REDUCE_WARP_REDUCTIONS > | BlockReduceT |
|
typedef BlockScan< KeyValuePairT, BLOCK_THREADS, AgentSpmvPolicyT::SCAN_ALGORITHM > | BlockScanT |
|
typedef BlockScan< ValueT, BLOCK_THREADS, AgentSpmvPolicyT::SCAN_ALGORITHM > | BlockPrefixSumT |
|
typedef BlockExchange< ValueT, BLOCK_THREADS, ITEMS_PER_THREAD > | BlockExchangeT |
|
template<typename AgentSpmvPolicyT , typename ValueT , typename OffsetT , bool HAS_ALPHA, bool HAS_BETA, int PTX_ARCH = CUB_PTX_ARCH>
Consume a merge tile, specialized for direct-load of nonzeros
- Parameters
-
is_direct_load | Marker type indicating whether to load nonzeros directly during path-discovery or beforehand in batch |
Definition at line 290 of file agent_spmv_orig.cuh.
template<typename AgentSpmvPolicyT , typename ValueT , typename OffsetT , bool HAS_ALPHA, bool HAS_BETA, int PTX_ARCH = CUB_PTX_ARCH>
Consume a merge tile, specialized for indirect load of nonzeros
- Parameters
-
is_direct_load | Marker type indicating whether to load nonzeros directly during path-discovery or beforehand in batch |
Definition at line 414 of file agent_spmv_orig.cuh.