BeBOP Optimized Sparse Kernel Interface Library  1.0.1h
Defines | Functions
matmodexport.h File Reference

Declares prototypes for the 'standard' set of dynamically exportable methods stored in matrix type modules. More...

#include <oski/modcommon.h>
#include <oski/matcommon.h>
#include <oski/vecview.h>
#include <oski/CSR/format.h>

Go to the source code of this file.

Defines

#define INC_OSKI_MATMODEXPORT_H
 oski/matmodexport.h included.
#define oski_DestroyMatRepr   MANGLE_MOD_(oski_DestroyMatRepr)
 Name mangling.
#define oski_ConvertMatReprToCSR   MANGLE_MOD_(oski_ConvertMatReprToCSR)
 Name mangling.
#define oski_CreateMatReprFromCSR   MANGLE_MOD_(oski_CreateMatReprFromCSR)
 Name mangling.
#define oski_CopyMatRepr   MANGLE_MOD_(oski_CopyMatRepr)
 Name mangling.
#define oski_CalcMatRepr1Norm   MANGLE_MOD_(oski_CalcMatRepr1Norm)
 Name mangling.
#define oski_MatReprMult   MANGLE_MOD_(oski_MatReprMult)
 Name mangling.
#define oski_MatReprTrisolve   MANGLE_MOD_(oski_MatReprTrisolve)
 Name mangling.
#define oski_MatReprMultAndMatReprTransMult   MANGLE_MOD_(oski_MatReprMultAndMatReprTransMult)
 Name mangling.
#define oski_MatReprTransMatReprMult   MANGLE_MOD_(oski_MatReprTransMatReprMult)
 Name mangling.
#define oski_MatReprPowMult   MANGLE_MOD_(oski_MatReprPowMult)
 Name mangling.

Functions

void oski_DestroyMatRepr (void *mat)
 Method: Destroy matrix type-specific representation.
void * oski_CreateMatReprFromCSR (const oski_matCSR_t *mat, const oski_matcommon_t *props,...)
 Method: Instantiate from an existing CSR representation.
oski_matCSR_toski_ConvertMatReprToCSR (const void *mat, const oski_matcommon_t *props)
 Method: Convert to CSR format.
void * oski_CopyMatRepr (const void *mat, const oski_matcommon_t *props)
 Method: Duplicate a matrix representation.
double oski_CalcMatRepr1Norm (const void *mat, const oski_matcommon_t *props)
 Method: Compute the 1-norm.
int oski_MatReprMult (const void *A, 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.
int oski_MatReprTrisolve (const void *T, const oski_matcommon_t *props, oski_matop_t opT, oski_value_t alpha, oski_vecview_t x_view)
 Matrix type specific implementation of oski_MatTrisolve().
int oski_MatReprTransMatReprMult (const void *A, const oski_matcommon_t *props, oski_ataop_t op, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_vecview_t t_view)
 Matrix type specific implementation of oski_MatTransMatMult().
int oski_MatReprMultAndMatReprTransMult (const void *A, const oski_matcommon_t *props, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_matop_t opA, oski_value_t omega, const oski_vecview_t w_view, oski_value_t zeta, oski_vecview_t z_view)
 Matrix type specific implementation of oski_MatMultAndMatTransMult().
int oski_MatReprPowMult (const void *A, const oski_matcommon_t *props, oski_matop_t opA, int power, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_vecview_t T_view)
 Matrix type specific implementation of oski_MatPowMult().

Detailed Description

Declares prototypes for the 'standard' set of dynamically exportable methods stored in matrix type modules.

All matrix types should include this file, which declares mangled module-specific prototypes for the common methods (matrix creation, type-specific kernels, etc.). In other words, think of this file as declaring the interface to a matrix type module.


Define Documentation

Name mangling.

Name mangling.

Referenced by oski_ConvertMatReprToCSR().

Name mangling.

Referenced by oski_CopyMatRepr().

Name mangling.

Referenced by oski_MatReprMult().

Name mangling.

Name mangling.

Name mangling.

Name mangling.

Referenced by oski_MatReprTrisolve().


Function Documentation

double oski_CalcMatRepr1Norm ( const void *  mat,
const oski_matcommon_t props 
)

Method: Compute the 1-norm.

Parameters:
[in]matMatrix type-specific representation.
[in]propsAdditional global properties of mat.
Returns:
The 1-norm, or -1 on error.
See also:
oski_CalcMat1Norm, oski_CalcMatRepr1Norm_funcpt
Todo:
Fix the symmetric case; this is only an estimate.

References _IM, _RE, oski_matCSR_t::base_index, oski_matcommon_t::is_herm, oski_matCSR_t::is_lower, oski_matcommon_t::is_symm, oski_matCSR_t::is_upper, oski_matcommon_t::num_rows, oski_matcommon_t::pattern, oski_matCSR_t::ptr, oski_matCSR_t::stored, oski_matCSR_t::val, and VAL_ASSIGN.