BeBOP Optimized Sparse Kernel Interface Library  1.0.1h
Defines | Typedefs | Functions

Block compressed sparse row (BDIAG1) implementation. More...

#include <oski/matmodexport.h>

Go to the source code of this file.

Defines

#define INC_OSKI_BDIAG1_MODULE_H
 oski/BDIAG1/module.h included.
Name mangling.
#define oski_BDIAG1_MatMult_funcpt   MANGLE_(oski_BDIAG1_MatMult_funcpt)
#define MatMult_v1_aX_b1_xs1_ysX   MANGLE_MOD_(MatMult_v1_aX_b1_xs1_ysX)
#define MatMult_v1_aX_b1_xsX_ysX   MANGLE_MOD_(MatMult_v1_aX_b1_xsX_ysX)
#define MatTransMult_v1_aX_b1_xsX_ys1   MANGLE_MOD_(MatTransMult_v1_aX_b1_xsX_ys1)
#define MatTransMult_v1_aX_b1_xsX_ysX   MANGLE_MOD_(MatTransMult_v1_aX_b1_xsX_ysX)
#define MatConjMult_v1_aX_b1_xs1_ysX   MANGLE_MOD_(MatConjMult_v1_aX_b1_xs1_ysX)
#define MatConjMult_v1_aX_b1_xsX_ysX   MANGLE_MOD_(MatConjMult_v1_aX_b1_xsX_ysX)
#define MatHermMult_v1_aX_b1_xsX_ys1   MANGLE_MOD_(MatHermMult_v1_aX_b1_xsX_ys1)
#define MatHermMult_v1_aX_b1_xsX_ysX   MANGLE_MOD_(MatHermMult_v1_aX_b1_xsX_ysX)

Typedefs

typedef int(* oski_BDIAG1_MatMult_funcpt )(const oski_matBDIAG1_t *A, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_vecview_t y_view)
 Pointer to a BDIAG1 SpMV kernel implementation.

Functions

int MatMult_v1_aX_b1_xs1_ysX (oski_index_t b, oski_index_t nb, oski_index_t r, const oski_value_t *restrict dp, oski_value_t alpha, const oski_value_t *restrict xp, oski_value_t *yp, oski_index_t incy)
 Wrapper for OP=normal S=1 case.
int MatMult_v1_aX_b1_xsX_ysX (oski_index_t b, oski_index_t nb, oski_index_t r, const oski_value_t *restrict dp, oski_value_t alpha, const oski_value_t *restrict xp, oski_index_t incx, oski_value_t *yp, oski_index_t incy)
 Wrapper for OP=normal S=general case.
int MatTransMult_v1_aX_b1_xsX_ys1 (oski_index_t b, oski_index_t nb, oski_index_t r, const oski_value_t *restrict dp, oski_value_t alpha, const oski_value_t *restrict xp, oski_index_t incx, oski_value_t *yp)
 Wrapper for OP=trans S=1 case.
int MatTransMult_v1_aX_b1_xsX_ysX (oski_index_t b, oski_index_t nb, oski_index_t r, const oski_value_t *restrict dp, oski_value_t alpha, const oski_value_t *restrict xp, oski_index_t incx, oski_value_t *yp, oski_index_t incy)
 Wrapper for OP=trans S=general case.
int MatConjMult_v1_aX_b1_xs1_ysX (oski_index_t b, oski_index_t nb, oski_index_t r, const oski_value_t *restrict dp, oski_value_t alpha, const oski_value_t *restrict xp, oski_value_t *yp, oski_index_t incy)
 Wrapper for OP=conj S=1 case.
int MatConjMult_v1_aX_b1_xsX_ysX (oski_index_t b, oski_index_t nb, oski_index_t r, const oski_value_t *restrict dp, oski_value_t alpha, const oski_value_t *restrict xp, oski_index_t incx, oski_value_t *yp, oski_index_t incy)
 Wrapper for OP=conj S=general case.
int MatHermMult_v1_aX_b1_xsX_ys1 (oski_index_t b, oski_index_t nb, oski_index_t r, const oski_value_t *restrict dp, oski_value_t alpha, const oski_value_t *restrict xp, oski_index_t incx, oski_value_t *yp)
 Wrapper for OP=herm S=1 case.
int MatHermMult_v1_aX_b1_xsX_ysX (oski_index_t b, oski_index_t nb, oski_index_t r, const oski_value_t *restrict dp, oski_value_t alpha, const oski_value_t *restrict xp, oski_index_t incx, oski_value_t *yp, oski_index_t incy)
 Wrapper for OP=herm S=general case.

Detailed Description

Block compressed sparse row (BDIAG1) implementation.


Define Documentation


Function Documentation

int MatConjMult_v1_aX_b1_xs1_ysX ( oski_index_t  b,
oski_index_t  nb,
oski_index_t  br,
const oski_value_t *restrict  dp,
oski_value_t  alpha,
const oski_value_t *restrict  xp,
oski_value_t *  yp,
oski_index_t  incy 
)

Wrapper for OP=conj S=1 case.

References ERR_BAD_ARG, and OSKI_ERR_SMALL_ARG.

int MatConjMult_v1_aX_b1_xsX_ysX ( oski_index_t  b,
oski_index_t  nb,
oski_index_t  br,
const oski_value_t *restrict  dp,
oski_value_t  alpha,
const oski_value_t *restrict  xp,
oski_index_t  incx,
oski_value_t *  yp,
oski_index_t  incy 
)

Wrapper for OP=conj S=general case.

References ERR_BAD_ARG, and OSKI_ERR_SMALL_ARG.

int MatHermMult_v1_aX_b1_xsX_ys1 ( oski_index_t  b,
oski_index_t  nb,
oski_index_t  br,
const oski_value_t *restrict  dp,
oski_value_t  alpha,
const oski_value_t *restrict  xp,
oski_index_t  incx,
oski_value_t *  yp 
)

Wrapper for OP=herm S=1 case.

References ERR_BAD_ARG, and OSKI_ERR_SMALL_ARG.

int MatHermMult_v1_aX_b1_xsX_ysX ( oski_index_t  b,
oski_index_t  nb,
oski_index_t  br,
const oski_value_t *restrict  dp,
oski_value_t  alpha,
const oski_value_t *restrict  xp,
oski_index_t  incx,
oski_value_t *  yp,
oski_index_t  incy 
)

Wrapper for OP=herm S=general case.

References ERR_BAD_ARG, and OSKI_ERR_SMALL_ARG.

int MatMult_v1_aX_b1_xs1_ysX ( oski_index_t  b,
oski_index_t  nb,
oski_index_t  br,
const oski_value_t *restrict  dp,
oski_value_t  alpha,
const oski_value_t *restrict  xp,
oski_value_t *  yp,
oski_index_t  incy 
)

Wrapper for OP=normal S=1 case.

References ERR_BAD_ARG, and OSKI_ERR_SMALL_ARG.

int MatMult_v1_aX_b1_xsX_ysX ( oski_index_t  b,
oski_index_t  nb,
oski_index_t  br,
const oski_value_t *restrict  dp,
oski_value_t  alpha,
const oski_value_t *restrict  xp,
oski_index_t  incx,
oski_value_t *  yp,
oski_index_t  incy 
)

Wrapper for OP=normal S=general case.

References ERR_BAD_ARG, and OSKI_ERR_SMALL_ARG.

int MatTransMult_v1_aX_b1_xsX_ys1 ( oski_index_t  b,
oski_index_t  nb,
oski_index_t  br,
const oski_value_t *restrict  dp,
oski_value_t  alpha,
const oski_value_t *restrict  xp,
oski_index_t  incx,
oski_value_t *  yp 
)

Wrapper for OP=trans S=1 case.

References ERR_BAD_ARG, and OSKI_ERR_SMALL_ARG.

int MatTransMult_v1_aX_b1_xsX_ysX ( oski_index_t  b,
oski_index_t  nb,
oski_index_t  br,
const oski_value_t *restrict  dp,
oski_value_t  alpha,
const oski_value_t *restrict  xp,
oski_index_t  incx,
oski_value_t *  yp,
oski_index_t  incy 
)

Wrapper for OP=trans S=general case.

References ERR_BAD_ARG, and OSKI_ERR_SMALL_ARG.