MyraMath
|
Thread-parallel version of dense/gemm.h, Matrix*Matrix multiplication. More...
#include <myramath/MYRAMATH_EXPORT.h>
#include <myramath/utility/Number.h>
#include <myramath/jobgraph/JobGraph.h>
#include <myramath/pdense/Options.h>
Go to the source code of this file.
Classes | |
class | myra::Matrix< Number > |
Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAPACK. More... | |
class | myra::MatrixRange< Number > |
Represents a mutable MatrixRange. More... | |
class | myra::CMatrixRange< Number > |
Represents a const MatrixRange. More... | |
Functions | |
void | myra::pgemm_inplace (const MatrixRange< NumberS > &C, const CMatrixRange< NumberS > &A, char op_A, const CMatrixRange< NumberS > &B, char op_B, NumberS alpha, NumberS beta, pdense::Options options=pdense::Options::create()) |
Updates C = beta*C + alpha*op(A)*op(B) | |
void | myra::pgemm_inplace (const MatrixRange< NumberD > &C, const CMatrixRange< NumberD > &A, char op_A, const CMatrixRange< NumberD > &B, char op_B, NumberD alpha, NumberD beta, pdense::Options options) |
Updates C = beta*C + alpha*op(A)*op(B) | |
void | myra::pgemm_inplace (const MatrixRange< NumberC > &C, const CMatrixRange< NumberC > &A, char op_A, const CMatrixRange< NumberC > &B, char op_B, NumberC alpha, NumberC beta, pdense::Options options) |
Updates C = beta*C + alpha*op(A)*op(B) | |
void | myra::pgemm_inplace (const MatrixRange< NumberZ > &C, const CMatrixRange< NumberZ > &A, char op_A, const CMatrixRange< NumberZ > &B, char op_B, NumberZ alpha, NumberZ beta, pdense::Options options) |
Updates C = beta*C + alpha*op(A)*op(B) | |
Matrix< NumberS > | myra::pgemm (const CMatrixRange< NumberS > &A, char op_A, const CMatrixRange< NumberS > &B, char op_B, NumberS alpha=1, pdense::Options options=pdense::Options::create()) |
Returns C = alpha*op(A)*op(B), alpha is defaulted to 1. | |
Matrix< NumberD > | myra::pgemm (const CMatrixRange< NumberD > &A, char op_A, const CMatrixRange< NumberD > &B, char op_B, NumberD alpha, pdense::Options options) |
Returns C = alpha*op(A)*op(B), alpha is defaulted to 1. | |
Matrix< NumberC > | myra::pgemm (const CMatrixRange< NumberC > &A, char op_A, const CMatrixRange< NumberC > &B, char op_B, NumberC alpha, pdense::Options options) |
Returns C = alpha*op(A)*op(B), alpha is defaulted to 1. | |
Matrix< NumberZ > | myra::pgemm (const CMatrixRange< NumberZ > &A, char op_A, const CMatrixRange< NumberZ > &B, char op_B, NumberZ alpha, pdense::Options options) |
Returns C = alpha*op(A)*op(B), alpha is defaulted to 1. | |
Matrix< NumberS > | myra::pgemm (const CMatrixRange< NumberS > &A, char op_A, const CMatrixRange< NumberS > &B, NumberS alpha=1, pdense::Options options=pdense::Options::create()) |
Returns C = alpha*op(A)*B, op_B is assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberD > | myra::pgemm (const CMatrixRange< NumberD > &A, char op_A, const CMatrixRange< NumberD > &B, NumberD alpha, pdense::Options options) |
Returns C = alpha*op(A)*B, op_B is assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberC > | myra::pgemm (const CMatrixRange< NumberC > &A, char op_A, const CMatrixRange< NumberC > &B, NumberC alpha, pdense::Options options) |
Returns C = alpha*op(A)*B, op_B is assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberZ > | myra::pgemm (const CMatrixRange< NumberZ > &A, char op_A, const CMatrixRange< NumberZ > &B, NumberZ alpha, pdense::Options options) |
Returns C = alpha*op(A)*B, op_B is assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberS > | myra::pgemm (const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, char op_B, NumberS alpha=1, pdense::Options options=pdense::Options::create()) |
Returns C = alpha*A*op(B), op_A is assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberD > | myra::pgemm (const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, char op_B, NumberD alpha, pdense::Options options) |
Returns C = alpha*A*op(B), op_A is assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberC > | myra::pgemm (const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, char op_B, NumberC alpha, pdense::Options options) |
Returns C = alpha*A*op(B), op_A is assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberZ > | myra::pgemm (const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, char op_B, NumberZ alpha, pdense::Options options) |
Returns C = alpha*A*op(B), op_A is assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberS > | myra::pgemm (const CMatrixRange< NumberS > &A, const CMatrixRange< NumberS > &B, NumberS alpha=1, pdense::Options options=pdense::Options::create()) |
Returns C = alpha*A*B, both op_A and op_B are assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberD > | myra::pgemm (const CMatrixRange< NumberD > &A, const CMatrixRange< NumberD > &B, NumberD alpha, pdense::Options options) |
Returns C = alpha*A*B, both op_A and op_B are assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberC > | myra::pgemm (const CMatrixRange< NumberC > &A, const CMatrixRange< NumberC > &B, NumberC alpha, pdense::Options options) |
Returns C = alpha*A*B, both op_A and op_B are assumed 'N' and alpha is defaulted to 1. | |
Matrix< NumberZ > | myra::pgemm (const CMatrixRange< NumberZ > &A, const CMatrixRange< NumberZ > &B, NumberZ alpha, pdense::Options options) |
Returns C = alpha*A*B, both op_A and op_B are assumed 'N' and alpha is defaulted to 1. | |
JobGraph | myra::pgemm_jobgraph (const MatrixRange< NumberS > &C, const CMatrixRange< NumberS > &A, char op_A, const CMatrixRange< NumberS > &B, char op_B, NumberS alpha, NumberS beta, char dir='F', pdense::Options options=pdense::Options::create()) |
Returns a JobGraph that fulfills pgemm_inplace(...) | |
JobGraph | myra::pgemm_jobgraph (const MatrixRange< NumberD > &C, const CMatrixRange< NumberD > &A, char op_A, const CMatrixRange< NumberD > &B, char op_B, NumberD alpha, NumberD beta, char dir, pdense::Options options) |
Returns a JobGraph that fulfills pgemm_inplace(...) | |
JobGraph | myra::pgemm_jobgraph (const MatrixRange< NumberC > &C, const CMatrixRange< NumberC > &A, char op_A, const CMatrixRange< NumberC > &B, char op_B, NumberC alpha, NumberC beta, char dir, pdense::Options options) |
Returns a JobGraph that fulfills pgemm_inplace(...) | |
JobGraph | myra::pgemm_jobgraph (const MatrixRange< NumberZ > &C, const CMatrixRange< NumberZ > &A, char op_A, const CMatrixRange< NumberZ > &B, char op_B, NumberZ alpha, NumberZ beta, char dir, pdense::Options options) |
Returns a JobGraph that fulfills pgemm_inplace(...) | |
Thread-parallel version of dense/gemm.h, Matrix*Matrix multiplication.