monolish  0.16.2
MONOlithic LInear equation Solvers for Highly-parallel architecture
Functions
monolish::blas::matvec (CRS)

CRS format sparse matrix and vector multiplication: y = Ax. More...

Functions

void monolish::blas::matvec (const matrix::CRS< double > &A, const vector< double > &x, vector< double > &y)
 CRS format sparse matrix and vector multiplication: y = Ax. More...
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const vector< double > &x, view1D< matrix::Dense< double >, double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const vector< double > &x, view1D< vector< double >, double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const view1D< matrix::Dense< double >, double > &x, vector< double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const view1D< matrix::Dense< double >, double > &x, view1D< matrix::Dense< double >, double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const view1D< matrix::Dense< double >, double > &x, view1D< vector< double >, double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const view1D< vector< double >, double > &x, vector< double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const view1D< vector< double >, double > &x, view1D< matrix::Dense< double >, double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const view1D< vector< double >, double > &x, view1D< vector< double >, double > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const vector< float > &x, vector< float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const vector< float > &x, view1D< matrix::Dense< float >, float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const vector< float > &x, view1D< vector< float >, float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const view1D< matrix::Dense< float >, float > &x, vector< float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const view1D< matrix::Dense< float >, float > &x, view1D< matrix::Dense< float >, float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const view1D< matrix::Dense< float >, float > &x, view1D< vector< float >, float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const view1D< vector< float >, float > &x, vector< float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const view1D< vector< float >, float > &x, view1D< matrix::Dense< float >, float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const view1D< vector< float >, float > &x, view1D< vector< float >, float > &y)
 

Detailed Description

CRS format sparse matrix and vector multiplication: y = Ax.

Function Documentation

◆ matvec() [1/18]

void monolish::blas::matvec ( const matrix::CRS< double > &  A,
const vector< double > &  x,
vector< double > &  y 
)

CRS format sparse matrix and vector multiplication: y = Ax.

Parameters
ACRS matrix (size M x N)
xmonolish vector (size M)
ymonolish vector (size M)
Note
  • # of computation: 2nnz
  • Multi-threading: true
  • GPU acceleration: true
    • # of data transfer: 0

◆ matvec() [2/18]

void monolish::blas::matvec ( const matrix::CRS< double > &  A,
const vector< double > &  x,
view1D< matrix::Dense< double >, double > &  y 
)

◆ matvec() [3/18]

void monolish::blas::matvec ( const matrix::CRS< double > &  A,
const vector< double > &  x,
view1D< vector< double >, double > &  y 
)

◆ matvec() [4/18]

void monolish::blas::matvec ( const matrix::CRS< double > &  A,
const view1D< matrix::Dense< double >, double > &  x,
vector< double > &  y 
)

◆ matvec() [5/18]

void monolish::blas::matvec ( const matrix::CRS< double > &  A,
const view1D< matrix::Dense< double >, double > &  x,
view1D< matrix::Dense< double >, double > &  y 
)

◆ matvec() [6/18]

void monolish::blas::matvec ( const matrix::CRS< double > &  A,
const view1D< matrix::Dense< double >, double > &  x,
view1D< vector< double >, double > &  y 
)

◆ matvec() [7/18]

void monolish::blas::matvec ( const matrix::CRS< double > &  A,
const view1D< vector< double >, double > &  x,
vector< double > &  y 
)

◆ matvec() [8/18]

void monolish::blas::matvec ( const matrix::CRS< double > &  A,
const view1D< vector< double >, double > &  x,
view1D< matrix::Dense< double >, double > &  y 
)

◆ matvec() [9/18]

void monolish::blas::matvec ( const matrix::CRS< double > &  A,
const view1D< vector< double >, double > &  x,
view1D< vector< double >, double > &  y 
)

◆ matvec() [10/18]

void monolish::blas::matvec ( const matrix::CRS< float > &  A,
const vector< float > &  x,
vector< float > &  y 
)

◆ matvec() [11/18]

void monolish::blas::matvec ( const matrix::CRS< float > &  A,
const vector< float > &  x,
view1D< matrix::Dense< float >, float > &  y 
)

◆ matvec() [12/18]

void monolish::blas::matvec ( const matrix::CRS< float > &  A,
const vector< float > &  x,
view1D< vector< float >, float > &  y 
)

◆ matvec() [13/18]

void monolish::blas::matvec ( const matrix::CRS< float > &  A,
const view1D< matrix::Dense< float >, float > &  x,
vector< float > &  y 
)

◆ matvec() [14/18]

void monolish::blas::matvec ( const matrix::CRS< float > &  A,
const view1D< matrix::Dense< float >, float > &  x,
view1D< matrix::Dense< float >, float > &  y 
)

◆ matvec() [15/18]

void monolish::blas::matvec ( const matrix::CRS< float > &  A,
const view1D< matrix::Dense< float >, float > &  x,
view1D< vector< float >, float > &  y 
)

◆ matvec() [16/18]

void monolish::blas::matvec ( const matrix::CRS< float > &  A,
const view1D< vector< float >, float > &  x,
vector< float > &  y 
)

◆ matvec() [17/18]

void monolish::blas::matvec ( const matrix::CRS< float > &  A,
const view1D< vector< float >, float > &  x,
view1D< matrix::Dense< float >, float > &  y 
)

◆ matvec() [18/18]

void monolish::blas::matvec ( const matrix::CRS< float > &  A,
const view1D< vector< float >, float > &  x,
view1D< vector< float >, float > &  y 
)