#include <assert.h>
#include <oski/config.h>
#include <oski/common.h>
#include <oski/blas.h>
#include <oski/blas_names.h>
#include <oski/modloader.h>
#include <oski/matrix.h>
#include <oski/BCSR/format.h>
#include <oski/BCSR/module.h>
Functions | |
static int | MatMultDefault_Normal (const oski_matBCSR_t *A, oski_value_t alpha, const oski_vecview_t x_view, oski_vecview_t y_view) |
Performs on the fully blocked part of . | |
static int | MatMultDefault_Trans (const oski_matBCSR_t *A, oski_value_t alpha, const oski_vecview_t x_view, oski_vecview_t y_view) |
Performs on the fully blocked part of . | |
static int | MatMultDefault (const oski_matBCSR_t *A, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_vecview_t y_view) |
Default register blocked implementation in which the block multiply is replaced by a call to GEMV. | |
static int | MatReprMultCore (const oski_matBCSR_t *A, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_vecview_t y_view) |
Performs , using just the main stored portion of , i.e., ignoring any implicit structure (diagonal). | |
int | oski_MatReprMult (const void *pA, const oski_matcommon_t *props, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view) |
Matrix type-specific implementation of sparse matrix-vector multiply. |
|
Default register blocked implementation in which the block multiply is replaced by a call to GEMV. This implementation is needed in case the user requests multiplication by a block size that is not available. |
|
Performs on the fully blocked part of . This implementation is used when a specialized block-size specific routine cannot be found. |
|
Performs on the fully blocked part of . This implementation is used when a specialized block-size specific routine cannot be found. |
|
Performs , using just the main stored portion of , i.e., ignoring any implicit structure (diagonal). This routine calls itself recursively to multiply by the leftover rows, adjusting the vectors accordingly. |