module.h File Reference


Detailed Description

Modified block compressed sparse row (MBCSR) implementation.

#include <oski/matmodexport.h>
#include <oski/MBCSR/format.h>

Go to the source code of this file.

Name mangling.

#define MBCSR_GetSubmatKernel   MANGLE_(MBCSR_GetSubmatKernel)
#define MBCSR_InitSubVecView   MANGLE_(MBCSR_InitSubVecView)
#define MBCSR_SubmatReprMult_funcpt   MANGLE_(MBCSR_SubmatReprMult_funcpt)
#define oski_EnableMBCSRMatMultAndMatMult   MANGLE_(oski_EnableMBCSRMatMultAndMatMult)
#define oski_EnableMBCSRMatMultAndMatTransMult   MANGLE_(oski_EnableMBCSRMatMultAndMatTransMult)
#define oski_EnableMBCSRMatTransMatMult   MANGLE_(oski_EnableMBCSRMatTransMatMult)
#define oski_EnableMBCSRMatPowMult   MANGLE_(oski_EnableMBCSRMatPowMult)
#define oski_EnableMBCSRMatTransPowMult   MANGLE_(oski_EnableMBCSRMatTransPowMult)

Routines to enable/disable individual kernel implementations.

void oski_EnableMBCSRMatTransMatMult (oski_matMBCSR_t *A, int v)
void oski_EnableMBCSRMatMultAndMatMult (oski_matMBCSR_t *A, int v)
void oski_EnableMBCSRMatMultAndMatTransMult (oski_matMBCSR_t *A, int v)
void oski_EnableMBCSRMatPowMult (oski_matMBCSR_t *A, int v)
void oski_EnableMBCSRMatTransPowMult (oski_matMBCSR_t *A, int v)

Defines

#define INC_OSKI_MBCSR_MODULE_H
 oski/MBCSR/module.h included.

Typedefs

typedef int(* MBCSR_SubmatReprMult_funcpt )(const oski_submatMBCSR_t *A, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_vecview_t y_view)
 Function pointer to a core MBCSR matrix-vector multiply kernel.
typedef int(* MBCSR_SubmatReprTransSubmatReprMult_funcpt )(const oski_submatMBCSR_t *A, oski_value_t alpha, const oski_vecview_t x, oski_vecview_t y, oski_vecview_t t)
 Function pointer to a core MBCSR A^T*A*x kernel.
typedef int(* MBCSR_SymmSubmatReprMult_funcpt )(const oski_submatMBCSR_t *A, int is_herm, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_vecview_t y_view)
 Function pointer to a core MBCSR symmetric/Hermitian mat-vec.
typedef int(* MBCSR_SubmatReprTrisolve_funcpt )(const oski_submatMBCSR_t *T, int is_lower, oski_matop_t opT, oski_value_t alpha, oski_vecview_t x)
 Function pointer to a core MBCSR sparse triangular solve routine.
typedef int(* MBCSR_SubmatReprMultAndSubmatReprTransMult_funcpt )(const oski_submatMBCSR_t *A, oski_value_t alpha, const oski_vecview_t x, oski_vecview_t y, oski_matop_t opA, oski_value_t omega, const oski_vecview_t w, oski_vecview_t z)
 Function pointer to a core MBCSR $A$ and $\mathrm{op}(A)$ multiply routine.

Functions

void * MBCSR_GetSubmatKernel (const oski_submatMBCSR_t *A, const char *name)
 Returns a pointer to the requested submodule method.
void MBCSR_InitSubVecView (const oski_vecview_t x, oski_index_t row_start, oski_index_t len, oski_vecview_t x_sub)
 Returns a subset of the rows of a vector view.


Function Documentation

void* MBCSR_GetSubmatKernel const oski_submatMBCSR_t A,
const char *  name
 

Returns a pointer to the requested submodule method.

Parameters:
[in] A An $r\times c$ MBCSR matrix representation.
[in] name Name of the method to load from the $r\times c$ submodule.
Returns:
A pointer to the requested method, or NULL if none could be found.

void MBCSR_InitSubVecView const oski_vecview_t  x,
oski_index_t  row_start,
oski_index_t  len,
oski_vecview_t  x_sub
 

Returns a subset of the rows of a vector view.

Parameters:
[in] x A vector view $x$.
[in] row_start Row offset in x (0-based).
[in] len Number of rows to select.
[in,out] x_sub Output view.
Precondition:
x_sub != INVALID_VEC. If x == INVALID_VEC, then x_sub is simply initialized to a zero vector.
Note:
This routine makes a shallow copy of the source vector view x, and so the caller should not destroy x_sub by a call to oski_DestroyVecView(). We recommend the caller allocate x_sub as a oski_vecstruct_t object on the stack.


Generated on Wed Sep 19 16:41:23 2007 for BeBOP Optimized Sparse Kernel Interface Library by  doxygen 1.4.6