BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
The MBCSR implementation of
and
.
More...
#include <assert.h>
#include <oski/config.h>
#include <oski/common.h>
#include <oski/mangle.h>
#include <oski/vecview.h>
#include <oski/MBCSR/format.h>
#include <oski/MBCSR/module.h>
Defines | |
#define | REGISTER register |
Real-valued, so use explicit 'register' keyword. | |
#define | MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1 MANGLE_MOD_(MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1_1x1) |
Mangled name for MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1. | |
#define | MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX MANGLE_MOD_(MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX_1x1) |
Mangled name for MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX. | |
#define | SubmatReprTransSubmatReprMult MANGLE_MOD_(SubmatReprTransSubmatReprMult_1x1) |
Mangled name for primary exportable symbol, SubmatReprTransSubmatReprMult. | |
#define | MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1 MANGLE_MOD_(MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1_1x1) |
Mangled name for MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1. | |
#define | MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX MANGLE_MOD_(MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX_1x1) |
Mangled name for MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX. | |
#define | SubmatReprHermSubmatReprMult MANGLE_MOD_(SubmatReprHermSubmatReprMult_1x1) |
Mangled name for primary exportable symbol, SubmatReprHermSubmatReprMult. | |
Functions | |
void | MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1 (oski_index_t M, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, const oski_value_t *restrict diag, oski_value_t alpha, const oski_value_t *restrict x, oski_value_t *restrict y, oski_value_t *restrict t, oski_index_t inct) |
The ![]() ![]() | |
void | MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX (oski_index_t M, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, const oski_value_t *restrict diag, oski_value_t alpha, const oski_value_t *restrict x, oski_index_t incx, oski_value_t *restrict y, oski_index_t incy, oski_value_t *restrict t, oski_index_t inct) |
The ![]() ![]() | |
int | SubmatReprTransSubmatReprMult (const oski_submatMBCSR_t *A, oski_value_t alpha, const oski_vecview_t x, oski_vecview_t y, oski_vecview_t t) |
Exported module wrapper for the ![]() ![]() | |
void | MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1 (oski_index_t M, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, const oski_value_t *restrict diag, oski_value_t alpha, const oski_value_t *restrict x, oski_value_t *restrict y, oski_value_t *restrict t, oski_index_t inct) |
The ![]() ![]() | |
void | MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX (oski_index_t M, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, const oski_value_t *restrict diag, oski_value_t alpha, const oski_value_t *restrict x, oski_index_t incx, oski_value_t *restrict y, oski_index_t incy, oski_value_t *restrict t, oski_index_t inct) |
The ![]() ![]() | |
int | SubmatReprHermSubmatReprMult (const oski_submatMBCSR_t *A, oski_value_t alpha, const oski_vecview_t x, oski_vecview_t y, oski_vecview_t t) |
Exported module wrapper for the ![]() ![]() |
The MBCSR implementation of
and
.
Automatically generated by ./gen_ata.sh on Wed Jun 8 15:54:35 PDT 2005.
#define MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1 MANGLE_MOD_(MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1_1x1) |
Mangled name for MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1.
Referenced by SubmatReprHermSubmatReprMult().
#define MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX MANGLE_MOD_(MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX_1x1) |
Mangled name for MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX.
Referenced by SubmatReprHermSubmatReprMult().
#define MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1 MANGLE_MOD_(MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1_1x1) |
Mangled name for MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1.
Referenced by SubmatReprTransSubmatReprMult().
#define MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX MANGLE_MOD_(MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX_1x1) |
Mangled name for MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX.
Referenced by SubmatReprTransSubmatReprMult().
#define REGISTER register |
Real-valued, so use explicit 'register' keyword.
Referenced by MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1(), MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX(), MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1(), and MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX().
void MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1 | ( | oski_index_t | M, |
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
const oski_value_t *restrict | diag, | ||
oski_value_t | alpha, | ||
const oski_value_t *restrict | x, | ||
oski_value_t *restrict | y, | ||
oski_value_t *restrict | t, | ||
oski_index_t | inct | ||
) |
The MBCSR implementation of
, where the source and destination vectors have unit-stride and unit-stride, respectively.
Parameter 'tp' may be NULL if no intermediate vector output is desired.
References MAKE_VAL_COMPLEX, REGISTER, VAL_ASSIGN, VAL_INC, VAL_MAC, VAL_MAC_CONJ, VAL_SCALE, and VAL_SET_ZERO.
void MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX | ( | oski_index_t | M, |
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
const oski_value_t *restrict | diag, | ||
oski_value_t | alpha, | ||
const oski_value_t *restrict | x, | ||
oski_index_t | incx, | ||
oski_value_t *restrict | y, | ||
oski_index_t | incy, | ||
oski_value_t *restrict | t, | ||
oski_index_t | inct | ||
) |
The MBCSR implementation of
, where the source and destination vectors have general-stride and general-stride, respectively.
Parameter 'tp' may be NULL if no intermediate vector output is desired.
References MAKE_VAL_COMPLEX, REGISTER, VAL_ASSIGN, VAL_INC, VAL_MAC, VAL_MAC_CONJ, VAL_SCALE, and VAL_SET_ZERO.
void MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1 | ( | oski_index_t | M, |
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
const oski_value_t *restrict | diag, | ||
oski_value_t | alpha, | ||
const oski_value_t *restrict | x, | ||
oski_value_t *restrict | y, | ||
oski_value_t *restrict | t, | ||
oski_index_t | inct | ||
) |
The MBCSR implementation of
, where the source and destination vectors have unit-stride and unit-stride, respectively.
Parameter 'tp' may be NULL if no intermediate vector output is desired.
References MAKE_VAL_COMPLEX, REGISTER, VAL_ASSIGN, VAL_INC, VAL_MAC, VAL_SCALE, and VAL_SET_ZERO.
void MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX | ( | oski_index_t | M, |
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
const oski_value_t *restrict | diag, | ||
oski_value_t | alpha, | ||
const oski_value_t *restrict | x, | ||
oski_index_t | incx, | ||
oski_value_t *restrict | y, | ||
oski_index_t | incy, | ||
oski_value_t *restrict | t, | ||
oski_index_t | inct | ||
) |
The MBCSR implementation of
, where the source and destination vectors have general-stride and general-stride, respectively.
Parameter 'tp' may be NULL if no intermediate vector output is desired.
References MAKE_VAL_COMPLEX, REGISTER, VAL_ASSIGN, VAL_INC, VAL_MAC, VAL_SCALE, and VAL_SET_ZERO.