This module implements the matrix type-independent version, which performs error-checking first and then calls the the appropriate kernel implementation.
#include <assert.h>
#include <oski/common.h>
#include <oski/matrix.h>
Defines | |
#define | MatMultAndMatTransMultDefault MANGLE_(MatMultAndMatTransMultDefault) |
Mangled name for default simultaneous multiplication by sparse and . | |
Functions | |
static int | MatMultAndMatTransMultDefault (const oski_matrix_t A_tunable, oski_value_t alpha, const oski_vecview_t x, oski_value_t beta, oski_vecview_t y, oski_matop_t op, oski_value_t omega, const oski_vecview_t w, oski_value_t zeta, oski_vecview_t z) |
A default implementation of simultaneous multiplication by sparse and based on multiple calls to sparse matrix-vector multiply. | |
int | oski_CheckArgsMatMultAndMatTransMult (const oski_matrix_t A_tunable, oski_value_t alpha, const oski_vecview_t x, oski_value_t beta, oski_vecview_t y, oski_matop_t op, oski_value_t omega, const oski_vecview_t w, oski_value_t zeta, oski_vecview_t z, const char *caller) |
Verify the arguments to a function with a calling signature like oski_MatMultAndMatTransMult(). | |
int | oski_MatMultAndMatTransMult (const oski_matrix_t A_tunable, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_matop_t op, oski_value_t omega, const oski_vecview_t w_view, oski_value_t zeta, oski_vecview_t z_view) |
Computes and , where . | |
void | oski_MakeArglistMatMultAndMatTransMult (oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view, oski_matop_t opA, oski_value_t omega, const oski_vecview_t w_view, oski_value_t zeta, const oski_vecview_t z_view, oski_traceargs_MatMultAndMatTransMult_t *args) |
Initialize a static argument signature for a call to oski_MatMultAndMatTransMult(). |
|
A default implementation of simultaneous multiplication by sparse and based on multiple calls to sparse matrix-vector multiply. This implementation provides a fall-back code in the event that no tuned implementation exists.
|
|
Verify the arguments to a function with a calling signature like oski_MatMultAndMatTransMult().
|