|
template<> |
void | madness::mTxm (long dimi, long dimj, long dimk, double *MADNESS_RESTRICT c, const double *MADNESS_RESTRICT a, const double *MADNESS_RESTRICT b) |
| Matrix transpose * matrix (hand unrolled version)
|
|
template<typename T , typename Q , typename S > |
static void | madness::mTxm (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const Q *MADNESS_RESTRICT a, const S *MADNESS_RESTRICT b) |
|
template<typename T > |
void | madness::mTxm (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const T *a, const T *b) |
| Matrix += Matrix transpose * matrix ... MKL interface version.
|
|
template<typename T , typename Q , typename S > |
static void | madness::mTxm_reference (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const Q *MADNESS_RESTRICT a, const S *MADNESS_RESTRICT b) |
| Matrix += Matrix transpose * matrix ... reference implementation (slow but correct)
|
|
template<typename aT , typename bT , typename cT > |
void | madness::mTxmq (long dimi, long dimj, long dimk, cT *MADNESS_RESTRICT c, const aT *a, const bT *b, long ldb=-1) |
|
template<typename T > |
void | madness::mTxmq (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const T *a, const T *b, long ldb=-1) |
| Matrix = Matrix transpose * matrix ... MKL interface version.
|
|
template<typename aT , typename bT , typename cT > |
void | madness::mTxmq_padding (long dimi, long dimj, long dimk, long ext_b, cT *c, const aT *a, const bT *b) |
|
template<typename aT , typename bT , typename cT > |
void | madness::mTxmq_reference (long dimi, long dimj, long dimk, cT *MADNESS_RESTRICT c, const aT *a, const bT *b, long ldb=-1) |
| Matrix = Matrix transpose * matrix ... slow reference implementation.
|
|
template<> |
void | madness::mTxmT (long dimi, long dimj, long dimk, double *MADNESS_RESTRICT csave, const double *MADNESS_RESTRICT asave, const double *MADNESS_RESTRICT b) |
| Matrix transpose * matrix transpose (hand tiled and unrolled)
|
|
template<typename T , typename Q , typename S > |
static void | madness::mTxmT (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const Q *MADNESS_RESTRICT a, const S *MADNESS_RESTRICT b) |
|
template<typename T > |
void | madness::mTxmT (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const T *a, const T *b) |
| Matrix += Matrix transpose * matrix transpose ... MKL interface version.
|
|
template<typename T , typename Q , typename S > |
static void | madness::mTxmT_reference (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const Q *MADNESS_RESTRICT a, const S *MADNESS_RESTRICT b) |
| Matrix += Matrix transpose * matrix transpose reference implementation (slow but correct)
|
|
template<> |
void | madness::mxm (long dimi, long dimj, long dimk, double *MADNESS_RESTRICT c, const double *MADNESS_RESTRICT a, const double *MADNESS_RESTRICT b) |
| Matrix * matrix (hand unrolled version)
|
|
template<typename T , typename Q , typename S > |
static void | madness::mxm (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const Q *MADNESS_RESTRICT a, const S *MADNESS_RESTRICT b) |
|
template<typename T > |
void | madness::mxm (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const T *a, const T *b) |
| Matrix += Matrix * matrix ... BLAS/MKL interface version.
|
|
template<typename T , typename Q , typename S > |
static void | madness::mxm_reference (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const Q *MADNESS_RESTRICT a, const S *MADNESS_RESTRICT b) |
| Matrix += Matrix * matrix reference implementation (slow but correct)
|
|
template<> |
void | madness::mxmT (long dimi, long dimj, long dimk, double *MADNESS_RESTRICT c, const double *MADNESS_RESTRICT a, const double *MADNESS_RESTRICT b) |
| Matrix * matrix transpose (hand unrolled version)
|
|
template<typename T , typename Q , typename S > |
static void | madness::mxmT (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const Q *MADNESS_RESTRICT a, const S *MADNESS_RESTRICT b) |
|
template<typename T > |
void | madness::mxmT (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const T *a, const T *b) |
| Matrix += Matrix * matrix transpose ... MKL interface version.
|
|
template<typename T , typename Q , typename S > |
static void | madness::mxmT_reference (long dimi, long dimj, long dimk, T *MADNESS_RESTRICT c, const Q *MADNESS_RESTRICT a, const S *MADNESS_RESTRICT b) |
| Matrix += Matrix * matrix transpose ... reference implementation (slow but correct)
|
|