monolish  0.17.1
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< tensor::tensor_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< tensor::tensor_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< tensor::tensor_Dense< double >, double > &x, vector< double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const view1D< tensor::tensor_Dense< double >, double > &x, view1D< matrix::Dense< double >, double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const view1D< tensor::tensor_Dense< double >, double > &x, view1D< tensor::tensor_Dense< double >, double > &y)
 
void monolish::blas::matvec (const matrix::CRS< double > &A, const view1D< tensor::tensor_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< tensor::tensor_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< tensor::tensor_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< tensor::tensor_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< tensor::tensor_Dense< float >, float > &x, vector< float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const view1D< tensor::tensor_Dense< float >, float > &x, view1D< matrix::Dense< float >, float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const view1D< tensor::tensor_Dense< float >, float > &x, view1D< tensor::tensor_Dense< float >, float > &y)
 
void monolish::blas::matvec (const matrix::CRS< float > &A, const view1D< tensor::tensor_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< tensor::tensor_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/32]

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/32]

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

◆ matvec() [3/32]

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

◆ matvec() [4/32]

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

◆ matvec() [5/32]

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

◆ matvec() [6/32]

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

◆ matvec() [7/32]

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

◆ matvec() [8/32]

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

◆ matvec() [9/32]

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

◆ matvec() [10/32]

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

◆ matvec() [11/32]

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

◆ matvec() [12/32]

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

◆ matvec() [13/32]

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

◆ matvec() [14/32]

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

◆ matvec() [15/32]

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

◆ matvec() [16/32]

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

◆ matvec() [17/32]

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

◆ matvec() [18/32]

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

◆ matvec() [19/32]

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

◆ matvec() [20/32]

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

◆ matvec() [21/32]

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

◆ matvec() [22/32]

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

◆ matvec() [23/32]

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

◆ matvec() [24/32]

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

◆ matvec() [25/32]

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

◆ matvec() [26/32]

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

◆ matvec() [27/32]

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

◆ matvec() [28/32]

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

◆ matvec() [29/32]

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

◆ matvec() [30/32]

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

◆ matvec() [31/32]

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

◆ matvec() [32/32]

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