BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Sparse matrix-vector multiply implementation. More...
Functions | |
int | oski_CheckArgsMatMult (const oski_matrix_t A_tunable, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view, const char *caller) |
Checks validity of arguments to a routine with a matrix vector multiply signature. | |
int | oski_MatMult (const oski_matrix_t A_tunable, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view) |
Computes ![]() ![]() | |
void | oski_MakeArglistMatMult (oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view, oski_traceargs_MatMult_t *args) |
Initialize a static argument signature. |
Sparse matrix-vector multiply implementation.
This module implements the matrix type-independent version, which performs error-checking first and then calls the the appropriate kernel implementation.
int oski_CheckArgsMatMult | ( | const oski_matrix_t | A_tunable, |
oski_matop_t | opA, | ||
oski_value_t | alpha, | ||
const oski_vecview_t | x_view, | ||
oski_value_t | beta, | ||
const oski_vecview_t | y_view, | ||
const char * | caller | ||
) |
Checks validity of arguments to a routine with a matrix vector multiply signature.
References ERR_BAD_ARG, ERR_BAD_MAT, ERR_BAD_VECVIEW, ERR_DIM_MISMATCH, INVALID_MAT, INVALID_VEC, MACRO_TO_STRING, OP_CONJ_TRANS, OP_NORMAL, OP_TRANS, OSKI_CHECK_MATOP, OSKI_ERR_BAD_MAT_MS, OSKI_ERR_BAD_MATOP_MS, OSKI_ERR_BAD_VEC_MS, OSKI_ERR_DIM_MISMATCH_OBJ_MS, OSKI_ERR_DIM_MISMATCH_TRANS_OBJ_MS, OSKI_MATMULT_COMPAT_OBJ_DIMS, OSKI_MATTRANSMULT_COMPAT_OBJ_DIMS, and oski_matstruct_t::props.
void oski_MakeArglistMatMult | ( | oski_matop_t | opA, |
oski_value_t | alpha, | ||
const oski_vecview_t | x_view, | ||
oski_value_t | beta, | ||
const oski_vecview_t | y_view, | ||
oski_traceargs_MatMult_t * | args | ||
) |
Initialize a static argument signature.
References oski_traceargs_MatMult_t::alpha, oski_traceargs_MatMult_t::beta, INVALID_VEC, oski_vecstruct_t::num_cols, oski_traceargs_MatMult_t::num_vecs, oski_traceargs_MatMult_t::opA, oski_vecstruct_t::orient, VAL_SET_ONE, oski_traceargs_MatMult_t::x_orient, and oski_traceargs_MatMult_t::y_orient.