monolish  0.17.1
MONOlithic LInear equation Solvers for Highly-parallel architecture
Functions
monolish::blas::matmul (Dense, Dense, Dense)

Dense matrix multiplication: C = AB. More...

Functions

void monolish::blas::matmul (const double &a, const matrix::Dense< double > &A, const matrix::Dense< double > &B, const double &b, matrix::Dense< double > &C)
 Dense matrix multiplication: C = aAB+bC. More...
 
void monolish::blas::matmul (const float &a, const matrix::Dense< float > &A, const matrix::Dense< float > &B, const float &b, matrix::Dense< float > &C)
 
void monolish::blas::matmul (const matrix::Dense< double > &A, const matrix::Dense< double > &B, matrix::Dense< double > &C)
 Dense matrix multiplication: C = AB. More...
 
void monolish::blas::matmul (const matrix::Dense< float > &A, const matrix::Dense< float > &B, matrix::Dense< float > &C)
 
void monolish::blas::tensmul (const double &a, const tensor::tensor_Dense< double > &A, const tensor::tensor_Dense< double > &B, const double &b, tensor::tensor_Dense< double > &C)
 tensor_Dense tensor multiplication: C = aAB+bC More...
 
void monolish::blas::tensmul (const float &a, const tensor::tensor_Dense< float > &A, const tensor::tensor_Dense< float > &B, const float &b, tensor::tensor_Dense< float > &C)
 
void monolish::blas::tensmul (const tensor::tensor_Dense< double > &A, const tensor::tensor_Dense< double > &B, tensor::tensor_Dense< double > &C)
 tensor_Dense tensor multiplication: C = AB More...
 
void monolish::blas::tensmul (const tensor::tensor_Dense< float > &A, const tensor::tensor_Dense< float > &B, tensor::tensor_Dense< float > &C)
 

Detailed Description

Dense matrix multiplication: C = AB.

tensor_Dense tensor multiplication: C = aAB+bC

tensor_Dense tensor multiplication: C = AB

Dense matrix multiplication: C = aAB+bC.

tensor_Dense)

tensor_Dense, Float, tensor_Dense)

Function Documentation

◆ matmul() [1/4]

void monolish::blas::matmul ( const double &  a,
const matrix::Dense< double > &  A,
const matrix::Dense< double > &  B,
const double &  b,
matrix::Dense< double > &  C 
)

Dense matrix multiplication: C = aAB+bC.

Parameters
aFloat
ADense matrix (size M x K)
BDense matrix (size K x N)
bFloat
CDense matrix (size M x N)
Note
  • # of computation: 2MNK
  • Multi-threading: true
  • GPU acceleration: true
    • # of data transfer: 0

◆ matmul() [2/4]

void monolish::blas::matmul ( const float &  a,
const matrix::Dense< float > &  A,
const matrix::Dense< float > &  B,
const float &  b,
matrix::Dense< float > &  C 
)

◆ matmul() [3/4]

void monolish::blas::matmul ( const matrix::Dense< double > &  A,
const matrix::Dense< double > &  B,
matrix::Dense< double > &  C 
)

Dense matrix multiplication: C = AB.

Parameters
ADense matrix (size M x K)
BDense matrix (size K x N)
CDense matrix (size M x N)
Note
  • # of computation: 2MNK
  • Multi-threading: true
  • GPU acceleration: true
    • # of data transfer: 0

◆ matmul() [4/4]

void monolish::blas::matmul ( const matrix::Dense< float > &  A,
const matrix::Dense< float > &  B,
matrix::Dense< float > &  C 
)

◆ tensmul() [1/4]

void monolish::blas::tensmul ( const double &  a,
const tensor::tensor_Dense< double > &  A,
const tensor::tensor_Dense< double > &  B,
const double &  b,
tensor::tensor_Dense< double > &  C 
)

tensor_Dense tensor multiplication: C = aAB+bC

Parameters
aFloat
Atensor_Dense tensor
Btensor_Dense tensor
bFloat
Ctensor_Dense tensor
Note
  • # of computation: ?
  • Multi-threading: true
  • GPU acceleration: true
    • # of data transfer: 0

◆ tensmul() [2/4]

void monolish::blas::tensmul ( const float &  a,
const tensor::tensor_Dense< float > &  A,
const tensor::tensor_Dense< float > &  B,
const float &  b,
tensor::tensor_Dense< float > &  C 
)

◆ tensmul() [3/4]

void monolish::blas::tensmul ( const tensor::tensor_Dense< double > &  A,
const tensor::tensor_Dense< double > &  B,
tensor::tensor_Dense< double > &  C 
)

tensor_Dense tensor multiplication: C = AB

Parameters
Atensor_Dense tensor
Btensor_Dense tensor
Ctensor_Dense tensor
Note
  • # of computation: ?
  • Multi-threading: true
  • GPU acceleration: true
    • # of data transfer: 0

◆ tensmul() [4/4]

void monolish::blas::tensmul ( const tensor::tensor_Dense< float > &  A,
const tensor::tensor_Dense< float > &  B,
tensor::tensor_Dense< float > &  C 
)