#include <stdio.h>
#include <iterator>
#include "../../agent/single_pass_scan_operators.cuh"
#include "../../agent/agent_segment_fixup.cuh"
#include "../../agent/agent_spmv_orig.cuh"
#include "../../util_type.cuh"
#include "../../util_debug.cuh"
#include "../../util_device.cuh"
#include "../../thread/thread_search.cuh"
#include "../../grid/grid_queue.cuh"
#include "../../util_namespace.cuh"
Go to the source code of this file.
Data Structures | |
struct | cub::DispatchSpmv< ValueT, OffsetT > |
< Signed integer type for global offsets More... | |
struct | cub::DispatchSpmv< ValueT, OffsetT >::Policy110 |
SM11. More... | |
struct | cub::DispatchSpmv< ValueT, OffsetT >::Policy200 |
SM20. More... | |
struct | cub::DispatchSpmv< ValueT, OffsetT >::Policy300 |
SM30. More... | |
struct | cub::DispatchSpmv< ValueT, OffsetT >::Policy350 |
SM35. More... | |
struct | cub::DispatchSpmv< ValueT, OffsetT >::Policy370 |
SM37. More... | |
struct | cub::DispatchSpmv< ValueT, OffsetT >::Policy500 |
SM50. More... | |
struct | cub::DispatchSpmv< ValueT, OffsetT >::Policy600 |
SM60. More... | |
struct | cub::DispatchSpmv< ValueT, OffsetT >::PtxSpmvPolicyT |
struct | cub::DispatchSpmv< ValueT, OffsetT >::PtxSegmentFixupPolicy |
struct | cub::DispatchSpmv< ValueT, OffsetT >::KernelConfig |
Namespaces | |
namespace | cub |
Optional outer namespace(s) | |
Functions | |
template<typename AgentSpmvPolicyT , typename ValueT , typename OffsetT > | |
__global__ void | cub::DeviceSpmv1ColKernel (SpmvParams< ValueT, OffsetT > spmv_params) |
< Signed integer type for sequence offsets | |
template<typename SpmvPolicyT , typename OffsetT , typename CoordinateT , typename SpmvParamsT > | |
__global__ void | cub::DeviceSpmvSearchKernel (int num_merge_tiles, CoordinateT *d_tile_coordinates, SpmvParamsT spmv_params) |
< SpmvParams type | |
template<typename SpmvPolicyT , typename ScanTileStateT , typename ValueT , typename OffsetT , typename CoordinateT , bool HAS_ALPHA, bool HAS_BETA> | |
cub::__launch_bounds__ (int(SpmvPolicyT::BLOCK_THREADS)) __global__ void DeviceSpmvKernel(SpmvParams< ValueT | |
< Whether the input parameter Beta is 0 | |
cub::AgentSpmvT (temp_storage, spmv_params).ConsumeTile(d_tile_coordinates | |
tile_state | cub::InitializeStatus (num_segment_fixup_tiles) |
template<typename AgentSegmentFixupPolicyT , typename PairsInputIteratorT , typename AggregatesOutputIteratorT , typename OffsetT , typename ScanTileStateT > | |
cub::__launch_bounds__ (int(AgentSegmentFixupPolicyT::BLOCK_THREADS)) __global__ void DeviceSegmentFixupKernel(PairsInputIteratorT d_pairs_in | |
< Tile status interface type | |
cub::AgentSegmentFixupT (temp_storage, d_pairs_in, d_aggregates_out, cub::Equality(), cub::Sum()).ConsumeRange(num_items | |
Variables | |
OffsetT | cub::spmv_params |
[in] SpMV input parameter bundle | |
OffsetT CoordinateT * | cub::d_tile_coordinates |
[in] Pointer to the temporary array of tile starting coordinates | |
OffsetT CoordinateT KeyValuePair< OffsetT, ValueT > * | cub::d_tile_carry_pairs |
[out] Pointer to the temporary array carry-out dot product row-ids, one per block | |
OffsetT CoordinateT KeyValuePair< OffsetT, ValueT > int ScanTileStateT int | cub::num_segment_fixup_tiles |
< [in] Number of reduce-by-key tiles (fixup grid size) | |
cub::DeviceSpmv provides device-wide parallel operations for performing sparse-matrix * vector multiplication (SpMV).
Definition in file dispatch_spmv_orig.cuh.