Class DeviceSpmv¶
Defined in File device_spmv.hpp
Nested Relationships¶
Nested Types¶
Class Documentation¶
-
class hipcub::DeviceSpmv¶
Public Static Functions
-
template<typename ValueT>
__host__ static inline 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)¶ - Parameters
d_temp_storage – Device-accessible allocation of temporary storage. When NULL, the required allocation size is written to
temp_storage_bytesand no work is done.temp_storage_bytes – Reference to size in bytes of
d_temp_storageallocationd_values – Pointer to the array of
num_nonzerosvalues of the corresponding nonzero elements of matrix A.d_row_offsets – Pointer to the array of
m+ 1 offsets demarcating the start of every row ind_column_indicesandd_values(with the final entry being equal tonum_nonzeros)d_column_indices – Pointer to the array of
num_nonzeroscolumn-indices of the corresponding nonzero elements of matrix A. (Indices are zero-valued.)d_vector_x – Pointer to the array of
num_colsvalues corresponding to the dense input vector xd_vector_y – Pointer to the array of
num_rowsvalues corresponding to the dense output vector ynum_rows – number of rows of matrix A.
num_cols – number of columns of matrix A.
num_nonzeros – number of nonzero elements of matrix A.
stream – [optional] hip stream to launch kernels within. Default is stream0.
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.
-
template<typename ValueT>
__global__ static inline void CsrMVKernel(SpmvParams<ValueT, int> spmv_params)¶
-
template<typename ValueT>
__host__ static inline 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) - Parameters
d_temp_storage – Device-accessible allocation of temporary storage. When NULL, the required allocation size is written to
temp_storage_bytesand no work is done.temp_storage_bytes – Reference to size in bytes of
d_temp_storageallocationd_values – Pointer to the array of
num_nonzerosvalues of the corresponding nonzero elements of matrix A.d_row_offsets – Pointer to the array of
m+ 1 offsets demarcating the start of every row ind_column_indicesandd_values(with the final entry being equal tonum_nonzeros)d_column_indices – Pointer to the array of
num_nonzeroscolumn-indices of the corresponding nonzero elements of matrix A. (Indices are zero-valued.)d_vector_x – Pointer to the array of
num_colsvalues corresponding to the dense input vector xd_vector_y – Pointer to the array of
num_rowsvalues corresponding to the dense output vector ynum_rows – number of rows of matrix A.
num_cols – number of columns of matrix A.
num_nonzeros – number of nonzero elements of matrix A.
stream – [optional] hip stream to launch kernels within. Default is stream0.
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.
Public Static Attributes
-
static constexpr uint32_t CsrMVKernel_MaxThreads = 256¶
-
template<typename ValueT, typename OffsetT>
struct SpmvParams¶ < Signed integer type for sequence offsets
Public Members
-
ValueT *d_values¶
Pointer to the array of
num_nonzerosvalues of the corresponding nonzero elements of matrix A.
-
OffsetT *d_row_end_offsets¶
Pointer to the array of
moffsets demarcating the end of every row ind_column_indicesandd_values.
-
OffsetT *d_column_indices¶
Pointer to the array of
num_nonzeroscolumn-indices of the corresponding nonzero elements of matrix A. (Indices are zero-valued.)
-
ValueT *d_vector_x¶
Pointer to the array of
num_colsvalues corresponding to the dense input vector x
-
ValueT *d_vector_y¶
Pointer to the array of
num_rowsvalues corresponding to the dense output vector y
-
int num_rows¶
Number of rows of matrix A.
-
int num_cols¶
Number of columns of matrix A.
-
int num_nonzeros¶
Number of nonzero elements of matrix A.
-
::hipcub::TexRefInputIterator<ValueT, 66778899, OffsetT> t_vector_x
-
ValueT *d_values¶
-
template<typename ValueT>