BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Vector views are wrappers around user-declared dense array matrix representations. More...
Defines | |
#define | STRIDE_UNIT ((oski_index_t)1) |
Symbolic constant for "unit stride". | |
Typedefs | |
typedef oski_vecstruct_t * | oski_vecview_t |
Multivector view handle. | |
Functions | |
oski_vecview_t | oski_CreateMultiVecView (oski_value_t *X, oski_index_t length, oski_index_t num_vecs, oski_storage_t orient, oski_index_t stride) |
Creates a multivector view on ![]() ![]() |
Vector views are wrappers around user-declared dense array matrix representations.
These wrappers encapsulate information about the stride (leading dimension) and data layout of the matrix in its corresponding array. The following routines create, destroy, and duplicate vector views.
oski_vecview_t oski_CreateMultiVecView | ( | oski_value_t * | X, |
oski_index_t | length, | ||
oski_index_t | num_vecs, | ||
oski_storage_t | orient, | ||
oski_index_t | stride | ||
) |
Creates a multivector view on dense column vectors
, stored as a submatrix in the user's data.
[in] | X | Multivector (matrix) data. |
[in] | length | Logical length of each (column) vector, i.e., number of logical rows in the matrix. |
[in] | num_vecs | Number of vectors, i.e., number of logical columns in the matrix. |
[in] | orient | Row vs. column major layout. |
[in] | stride | Leading dimension, i.e., distance between vectors. stride must be >= length for column-major storage, or >= num_vecs for row-major storage. |
References CreateMultiVecView_NoError(), INVALID_VEC, LAYOUT_COLMAJ, LAYOUT_ROWMAJ, OSKI_ERR_BAD_STORAGE, OSKI_ERR_BAD_STRIDE, OSKI_ERR_NULL_ARG, and OSKI_ERR_SMALL_ARG.