BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Stores an MBCSR "submatrix". More...
#include <format.h>
Data Fields | |
oski_index_t | num_block_rows |
# of full block rows; if 0, all other fields are invalid. | |
oski_index_t | offset |
Row/column index of first diagonal block. | |
oski_index_t | r |
Row block size. | |
oski_index_t | c |
Column block size. | |
oski_index_t * | bptr |
Block row pointers. | |
oski_index_t * | bind |
Column indices. | |
oski_value_t * | bval |
Non-zero value off-diagonal blocks. | |
oski_value_t * | bdiag |
Non-zero value diagonal blocks. | |
char * | mod_name |
Name of module at this block size. | |
void * | mod_cached |
Cached implementation. |
Stores an MBCSR "submatrix".
An matrix
stored in
MBCSR submatrix format must satisfy the following conditions:
Let be the number of block rows. Then
is stored in 4 arrays,
, as follows:
oski_index_t* tagOski_submatMBCSR_t::bind |
Column indices.
Referenced by DestroySubmat(), GetSubmatEntryRaw(), MatConjTrisolve_Lower(), MatConjTrisolve_Upper(), MatHermTrisolve_Lower(), MatHermTrisolve_Upper(), MatMult(), MatMultAndMatConjMult(), MatMultAndMatHermMult(), MatMultAndMatMult(), MatMultAndMatTransMult(), MatTransMult(), MatTransTrisolve_Lower(), MatTransTrisolve_Upper(), MatTrisolve_Lower(), MatTrisolve_Upper(), oski_CreateMatReprFromCSR(), SubmatReprHermSubmatReprMult(), and SubmatReprTransSubmatReprMult().
oski_index_t* tagOski_submatMBCSR_t::bptr |
Block row pointers.
Referenced by DestroySubmat(), GetSubmatEntryRaw(), MatConjTrisolve_Lower(), MatConjTrisolve_Upper(), MatHermTrisolve_Lower(), MatHermTrisolve_Upper(), MatMult(), MatMultAndMatConjMult(), MatMultAndMatHermMult(), MatMultAndMatMult(), MatMultAndMatTransMult(), MatTransMult(), MatTransTrisolve_Lower(), MatTransTrisolve_Upper(), MatTrisolve_Lower(), MatTrisolve_Upper(), oski_CreateMatReprFromCSR(), SubmatReprHermSubmatReprMult(), and SubmatReprTransSubmatReprMult().
oski_index_t tagOski_submatMBCSR_t::num_block_rows |
# of full block rows; if 0, all other fields are invalid.
Referenced by CanBeExecuted(), DestroySubmat(), GetBlockDiagEntryRaw(), MatConjTrisolve_Lower(), MatConjTrisolve_Upper(), MatHermTrisolve_Lower(), MatHermTrisolve_Upper(), MatMult(), MatMultAndMatConjMult(), MatMultAndMatHermMult(), MatMultAndMatMult(), MatMultAndMatTransMult(), MatTransMult(), MatTransTrisolve_Lower(), MatTransTrisolve_Upper(), MatTrisolve_Lower(), MatTrisolve_Upper(), oski_CreateMatReprFromCSR(), oski_MatReprMult(), oski_MatReprMultAndMatReprTransMult(), oski_MatReprTransMatReprMult(), SubmatReprHermSubmatReprMult(), and SubmatReprTransSubmatReprMult().