DeviceSpmv Class Reference

DeviceSpmv Class Reference#

hipCUB: hipcub::DeviceSpmv Class Reference

Classes

struct  SpmvParams
 < Signed integer type for sequence offsets More...
 

Static Public Member Functions

template<typename ValueT >
static __host__ hipError_t CsrMV (void *d_temp_storage, size_t &temp_storage_bytes, ValueT *d_values, int *d_row_offsets, int *d_column_indices, ValueT *d_vector_x, ValueT *d_vector_y, int num_rows, int num_cols, int num_nonzeros, hipStream_t stream=0, bool debug_synchronous=false)
 
template<typename ValueT >
static __global__ void CsrMVKernel (SpmvParams< ValueT, int > spmv_params)
 
template<typename ValueT >
static __host__ hipError_t CsrMV (void *d_temp_storage, size_t &temp_storage_bytes, ValueT *d_values, int *d_row_offsets, int *d_column_indices, ValueT *d_vector_x, ValueT *d_vector_y, int num_rows, int num_cols, int num_nonzeros, hipStream_t stream=0, bool debug_synchronous=false)
 

Static Public Attributes

static constexpr uint32_t CsrMVKernel_MaxThreads = 256
 

Member Function Documentation

◆ CsrMV() [1/2]

template<typename ValueT >
static __host__ hipError_t hipcub::DeviceSpmv::CsrMV ( void *  d_temp_storage,
size_t &  temp_storage_bytes,
ValueT *  d_values,
int *  d_row_offsets,
int *  d_column_indices,
ValueT *  d_vector_x,
ValueT *  d_vector_y,
int  num_rows,
int  num_cols,
int  num_nonzeros,
hipStream_t  stream = 0,
bool  debug_synchronous = false 
)
inlinestatic
Parameters
[in]d_temp_storageDevice-accessible allocation of temporary storage. When NULL, the required allocation size is written to temp_storage_bytes and no work is done.
[in,out]temp_storage_bytesReference to size in bytes of d_temp_storage allocation
[in]d_valuesPointer to the array of num_nonzeros values of the corresponding nonzero elements of matrix A.
[in]d_row_offsetsPointer to the array of m + 1 offsets demarcating the start of every row in d_column_indices and d_values (with the final entry being equal to num_nonzeros)
[in]d_column_indicesPointer to the array of num_nonzeros column-indices of the corresponding nonzero elements of matrix A. (Indices are zero-valued.)
[in]d_vector_xPointer to the array of num_cols values corresponding to the dense input vector x
[out]d_vector_yPointer to the array of num_rows values corresponding to the dense output vector y
[in]num_rowsnumber of rows of matrix A.
[in]num_colsnumber of columns of matrix A.
[in]num_nonzerosnumber of nonzero elements of matrix A.
[in]stream[optional] hip stream to launch kernels within. Default is stream0.
[in]debug_synchronous[optional] Whether or not to synchronize the stream after every kernel launch to check for errors. May cause significant slowdown. Default is false.

◆ CsrMV() [2/2]

template<typename ValueT >
static __host__ hipError_t hipcub::DeviceSpmv::CsrMV ( void *  d_temp_storage,
size_t &  temp_storage_bytes,
ValueT *  d_values,
int *  d_row_offsets,
int *  d_column_indices,
ValueT *  d_vector_x,
ValueT *  d_vector_y,
int  num_rows,
int  num_cols,
int  num_nonzeros,
hipStream_t  stream = 0,
bool  debug_synchronous = false 
)
inlinestatic
Parameters
[in]d_temp_storageDevice-accessible allocation of temporary storage. When NULL, the required allocation size is written to temp_storage_bytes and no work is done.
[in,out]temp_storage_bytesReference to size in bytes of d_temp_storage allocation
[in]d_valuesPointer to the array of num_nonzeros values of the corresponding nonzero elements of matrix A.
[in]d_row_offsetsPointer to the array of m + 1 offsets demarcating the start of every row in d_column_indices and d_values (with the final entry being equal to num_nonzeros)
[in]d_column_indicesPointer to the array of num_nonzeros column-indices of the corresponding nonzero elements of matrix A. (Indices are zero-valued.)
[in]d_vector_xPointer to the array of num_cols values corresponding to the dense input vector x
[out]d_vector_yPointer to the array of num_rows values corresponding to the dense output vector y
[in]num_rowsnumber of rows of matrix A.
[in]num_colsnumber of columns of matrix A.
[in]num_nonzerosnumber of nonzero elements of matrix A.
[in]stream[optional] hip stream to launch kernels within. Default is stream0.
[in]debug_synchronous[optional] Whether or not to synchronize the stream after every kernel launch to check for errors. May cause significant slowdown. Default is false.

The documentation for this class was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-hipcub/checkouts/docs-5.4.3/hipcub/include/hipcub/backend/cub/device/device_spmv.hpp