FflasFfpack
|
Data Structures | |
class | AreEqual |
class | AreEqual< X, X > |
Functions | |
template<class Field > | |
void | MatF2MatD (const Field &F, DoubleDomain::Element *S, const size_t lds, const typename Field::Element *E, const size_t lde, const size_t m, const size_t n) |
template<class Field > | |
void | MatF2MatFl (const Field &F, FloatDomain::Element *S, const size_t lds, const typename Field::Element *E, const size_t lde, const size_t m, const size_t n) |
template<class Field > | |
void | MatF2MatD_Triangular (const Field &F, typename DoubleDomain::Element *S, const size_t lds, const typename Field::Element *const E, const size_t lde, const size_t m, const size_t n) |
template<class Field > | |
void | MatF2MatFl_Triangular (const Field &F, typename FloatDomain::Element *S, const size_t lds, const typename Field::Element *const E, const size_t lde, const size_t m, const size_t n) |
template<class Field > | |
void | MatD2MatF (const Field &F, typename Field::Element *S, const size_t lds, const typename DoubleDomain::Element *E, const size_t lde, const size_t m, const size_t n) |
template<class Field > | |
void | MatFl2MatF (const Field &F, typename Field::Element *S, const size_t lds, const typename FloatDomain::Element *E, const size_t lde, const size_t m, const size_t n) |
template<class Field > | |
void | MatMulParameters (const Field &F, const size_t k, const typename Field::Element &beta, size_t &delayedDim, FFLAS_BASE &base, size_t &winoRecLevel, bool winoLevelProvided=false) |
Computes the threshold parameters for the cascade Matmul algorithm. | |
template<class Field > | |
size_t | DotProdBound (const Field &F, const size_t winoRecLevel, const typename Field::Element &beta, const FFLAS_BASE base) |
Computes the maximal size for delaying the modular reduction in a dotproduct. | |
template<class Field > | |
double | computeFactorWino (const Field &F, const size_t w) |
Internal function for the bound computation. | |
template<class Field > | |
double | computeFactorClassic (const Field &F) |
template<class Field > | |
FFLAS_BASE | BaseCompute (const Field &F, const size_t w) |
Determines the type of floating point representation to convert to, for BLAS computations. | |
template<class Field > | |
size_t | TRSMBound (const Field &F) |
Computes the maximal size for delaying the modular reduction in a triangular system resolution. | |
template<class Field > | |
void | DynamicPealing (const Field &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, const size_t) |
template<class Field > | |
void | MatVectProd (const Field &F, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *X, const size_t incX, const typename Field::Element beta, typename Field::Element *Y, const size_t incY) |
template<class Field > | |
void | ClassicMatmul (const Field &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
template<class Field > | |
void | WinoCalc (const Field &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t mr, const size_t nr, const size_t kr, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
template<class Field > | |
void | WinoMain (const Field &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const typename Field::Element alpha, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
template<> | |
double | computeFactorWino (const FFPACK::ModularBalanced< double > &F, const size_t w) |
template<> | |
double | computeFactorClassic (const FFPACK::ModularBalanced< double > &F) |
template<> | |
FFLAS_BASE | BaseCompute (const FFPACK::Modular< double > &, const size_t) |
template<> | |
FFLAS_BASE | BaseCompute (const FFPACK::Modular< float > &, const size_t) |
template<> | |
FFLAS_BASE | BaseCompute (const FFPACK::ModularBalanced< double > &, const size_t) |
template<> | |
FFLAS_BASE | BaseCompute (const FFPACK::ModularBalanced< float > &, const size_t) |
template<> | |
size_t | TRSMBound (const FFPACK::Modular< double > &F) |
Specialization for positive modular representation over double Computes nmax s.t. | |
template<> | |
size_t | TRSMBound (const FFPACK::Modular< float > &F) |
Specialization for positive modular representation over float. | |
template<> | |
size_t | TRSMBound (const FFPACK::ModularBalanced< double > &F) |
Specialization for balanced modular representation over double. | |
template<> | |
size_t | TRSMBound (const FFPACK::ModularBalanced< float > &F) |
Specialization for balanced modular representation over float Computes nmax s.t. | |
template<> | |
void | ClassicMatmul (const DoubleDomain &, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const DoubleDomain::Element alpha, const DoubleDomain::Element *Ad, const size_t lda, const DoubleDomain::Element *Bd, const size_t ldb, const DoubleDomain::Element beta, DoubleDomain::Element *Cd, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
template<> | |
void | ClassicMatmul (const FloatDomain &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const FloatDomain::Element alpha, const FloatDomain::Element *Ad, const size_t lda, const FloatDomain::Element *Bd, const size_t ldb, const FloatDomain::Element beta, FloatDomain::Element *Cd, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
template<> | |
void | ClassicMatmul (const FFPACK::ModularBalanced< double > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const double alpha, const double *A, const size_t lda, const double *B, const size_t ldb, const double beta, double *C, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
template<> | |
void | ClassicMatmul (const FFPACK::ModularBalanced< float > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const float alpha, const float *A, const size_t lda, const float *B, const size_t ldb, const float beta, float *C, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
template<> | |
void | ClassicMatmul (const FFPACK::Modular< double > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const double alpha, const double *A, const size_t lda, const double *B, const size_t ldb, const double beta, double *C, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
template<> | |
void | ClassicMatmul (const FFPACK::Modular< float > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const float alpha, const float *A, const size_t lda, const float *B, const size_t ldb, const float beta, float *C, const size_t ldc, const size_t kmax, const FFLAS_BASE base) |
template<> | |
void | WinoMain (const DoubleDomain &D, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const DoubleDomain::Element alpha, const DoubleDomain::Element *A, const size_t lda, const DoubleDomain::Element *B, const size_t ldb, const DoubleDomain::Element beta, DoubleDomain::Element *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
template<> | |
void | WinoMain (const FloatDomain &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const FloatDomain::Element alpha, const FloatDomain::Element *A, const size_t lda, const FloatDomain::Element *B, const size_t ldb, const FloatDomain::Element beta, FloatDomain::Element *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
template<> | |
void | WinoMain (const FFPACK::ModularBalanced< double > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const double alpha, const double *A, const size_t lda, const double *B, const size_t ldb, const double beta, double *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
template<> | |
void | WinoMain (const FFPACK::ModularBalanced< float > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const float alpha, const float *A, const size_t lda, const float *B, const size_t ldb, const float beta, float *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
template<> | |
void | WinoMain (const FFPACK::Modular< double > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const double alpha, const double *A, const size_t lda, const double *B, const size_t ldb, const double beta, double *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
template<> | |
void | WinoMain (const FFPACK::Modular< float > &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const float alpha, const float *A, const size_t lda, const float *B, const size_t ldb, const float beta, float *C, const size_t ldc, const size_t kmax, const size_t w, const FFLAS_BASE base) |
template<> | |
void | MatVectProd (const FFPACK::ModularBalanced< double > &F, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const double alpha, const double *A, const size_t lda, const double *X, const size_t incX, const double beta, double *Y, const size_t incY) |
template<> | |
void | MatVectProd (const FFPACK::ModularBalanced< float > &F, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const float alpha, const float *A, const size_t lda, const float *X, const size_t incX, const float beta, float *Y, const size_t incY) |
template<> | |
void | MatVectProd (const FFPACK::Modular< double > &F, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const double alpha, const double *A, const size_t lda, const double *X, const size_t incX, const double beta, double *Y, const size_t incY) |
template<> | |
void | MatVectProd (const FFPACK::Modular< float > &F, const FFLAS_TRANSPOSE TransA, const size_t M, const size_t N, const float alpha, const float *A, const size_t lda, const float *X, const size_t incX, const float beta, float *Y, const size_t incY) |
void FFLAS::Protected::MatF2MatD | ( | const Field & | F, |
DoubleDomain::Element * | S, | ||
const size_t | lds, | ||
const typename Field::Element * | E, | ||
const size_t | lde, | ||
const size_t | m, | ||
const size_t | n | ||
) |
void FFLAS::Protected::MatF2MatFl | ( | const Field & | F, |
FloatDomain::Element * | S, | ||
const size_t | lds, | ||
const typename Field::Element * | E, | ||
const size_t | lde, | ||
const size_t | m, | ||
const size_t | n | ||
) |
void FFLAS::Protected::MatF2MatD_Triangular | ( | const Field & | F, |
typename DoubleDomain::Element * | S, | ||
const size_t | lds, | ||
const typename Field::Element *const | E, | ||
const size_t | lde, | ||
const size_t | m, | ||
const size_t | n | ||
) |
void FFLAS::Protected::MatF2MatFl_Triangular | ( | const Field & | F, |
typename FloatDomain::Element * | S, | ||
const size_t | lds, | ||
const typename Field::Element *const | E, | ||
const size_t | lde, | ||
const size_t | m, | ||
const size_t | n | ||
) |
void FFLAS::Protected::MatD2MatF | ( | const Field & | F, |
typename Field::Element * | S, | ||
const size_t | lds, | ||
const typename DoubleDomain::Element * | E, | ||
const size_t | lde, | ||
const size_t | m, | ||
const size_t | n | ||
) |
void FFLAS::Protected::MatFl2MatF | ( | const Field & | F, |
typename Field::Element * | S, | ||
const size_t | lds, | ||
const typename FloatDomain::Element * | E, | ||
const size_t | lde, | ||
const size_t | m, | ||
const size_t | n | ||
) |
void MatMulParameters | ( | const Field & | F, |
const size_t | k, | ||
const typename Field::Element & | beta, | ||
size_t & | delayedDim, | ||
FFLAS_BASE & | base, | ||
size_t & | winoRecLevel, | ||
bool | winoLevelProvided = false |
||
) | [inline] |
Computes the threshold parameters for the cascade Matmul algorithm.
MatMulParameters.
F | Finite Field/Ring of the computation. |
k | Common dimension of A and B, in the product A x B |
beta | Computing ![]() |
delayedDim | Returns the size of blocks that can be multiplied over Z with no overflow |
base | Returns the type of BLAS representation to use |
winoRecLevel | Returns the number of recursion levels of Strassen-Winograd's algorithm to perform |
winoLevelProvided | tells whether the user forced the number of recursive level of Winograd's algorithm |
Computes the threshold parameters for the cascade Matmul algorithm
F | Finite Field/Ring of the computation. |
k | Common dimension of A and B, in the product A x B |
bet | Computing AB + beta C |
delayedDim | Returns the size of blocks that can be multiplied over Z with no overflow |
base | Returns the type of BLAS representation to use |
winoRecLevel | Returns the number of recursion levels of Strassen-Winograd's algorithm to perform |
winoLevelProvided | tells whether the user forced the number of recursive level of Winograd's algorithm |
size_t DotProdBound | ( | const Field & | F, |
const size_t | w, | ||
const typename Field::Element & | beta, | ||
const FFLAS_BASE | base | ||
) | [inline] |
Computes the maximal size for delaying the modular reduction in a dotproduct.
DotProdBound computes the maximal size for delaying the modular reduction in a dotproduct.
This is the default version assuming a conversion to a positive modular representation
F | Finite Field/Ring of the computation |
winoRecLevel | Number of recusrive Strassen-Winograd levels (if any, 0 otherwise) |
beta | Computing AB + beta C |
base | Type of floating point representation for delayed modular computations |
This is the default version assuming a conversion to a positive modular representation
F | Finite Field/Ring of the computation |
w | Number of recusrive Strassen-Winograd levels (if any, 0 otherwise) |
beta | Computing AB + beta C |
base | Type of floating point representation for delayed modular computations |
double computeFactorWino | ( | const Field & | F, |
const size_t | w | ||
) | [inline] |
Internal function for the bound computation.
Internal function for the bound computation Generic implementation for positive representations.
Generic implementation for positive representations
double computeFactorClassic | ( | const Field & | F | ) | [inline] |
FFLAS_BASE BaseCompute | ( | const Field & | F, |
const size_t | w | ||
) | [inline] |
Determines the type of floating point representation to convert to, for BLAS computations.
BaseCompute determines the type of floating point representation to convert to, for BLAS computations.
F | Finite Field/Ring of the computation |
w | Number of recursive levels in Winograd's algorithm |
Computes the maximal size for delaying the modular reduction in a triangular system resolution.
TRSMBound.
Compute the maximal dimension k, such that a unit diagonal triangular system of dimension k can be solved over Z without overflow of the underlying floating point representation.
F | Finite Field/Ring of the computation |
computes the maximal size for delaying the modular reduction in a triangular system resolution
This is the default version over an arbitrary field. It is currently never used (the recursive algorithm is run until n=1 in this case)
F | Finite Field/Ring of the computation |
void DynamicPealing | ( | const Field & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const typename Field::Element | alpha, | ||
const typename Field::Element * | A, | ||
const size_t | lda, | ||
const typename Field::Element * | B, | ||
const size_t | ldb, | ||
const typename Field::Element | beta, | ||
typename Field::Element * | C, | ||
const size_t | ldc, | ||
const size_t | kmax | ||
) | [inline] |
void MatVectProd | ( | const Field & | F, |
const FFLAS_TRANSPOSE | TransA, | ||
const size_t | M, | ||
const size_t | N, | ||
const typename Field::Element | alpha, | ||
const typename Field::Element * | A, | ||
const size_t | lda, | ||
const typename Field::Element * | X, | ||
const size_t | incX, | ||
const typename Field::Element | beta, | ||
typename Field::Element * | Y, | ||
const size_t | incY | ||
) | [inline] |
void ClassicMatmul | ( | const Field & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const typename Field::Element | alpha, | ||
const typename Field::Element * | A, | ||
const size_t | lda, | ||
const typename Field::Element * | B, | ||
const size_t | ldb, | ||
const typename Field::Element | beta, | ||
typename Field::Element * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void WinoCalc | ( | const Field & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | mr, | ||
const size_t | nr, | ||
const size_t | kr, | ||
const typename Field::Element | alpha, | ||
const typename Field::Element * | A, | ||
const size_t | lda, | ||
const typename Field::Element * | B, | ||
const size_t | ldb, | ||
const typename Field::Element | beta, | ||
typename Field::Element * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const size_t | w, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void WinoMain | ( | const Field & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const typename Field::Element | alpha, | ||
const typename Field::Element * | A, | ||
const size_t | lda, | ||
const typename Field::Element * | B, | ||
const size_t | ldb, | ||
const typename Field::Element | beta, | ||
typename Field::Element * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const size_t | w, | ||
const FFLAS_BASE | base | ||
) | [inline] |
double FFLAS::Protected::computeFactorWino | ( | const FFPACK::ModularBalanced< double > & | F, |
const size_t | w | ||
) | [inline] |
double FFLAS::Protected::computeFactorClassic | ( | const FFPACK::ModularBalanced< double > & | F | ) | [inline] |
FFLAS_BASE FFLAS::Protected::BaseCompute | ( | const FFPACK::Modular< double > & | , |
const size_t | |||
) | [inline] |
FFLAS_BASE FFLAS::Protected::BaseCompute | ( | const FFPACK::Modular< float > & | , |
const size_t | |||
) | [inline] |
FFLAS_BASE FFLAS::Protected::BaseCompute | ( | const FFPACK::ModularBalanced< double > & | , |
const size_t | |||
) | [inline] |
FFLAS_BASE FFLAS::Protected::BaseCompute | ( | const FFPACK::ModularBalanced< float > & | , |
const size_t | |||
) | [inline] |
size_t FFLAS::Protected::TRSMBound | ( | const FFPACK::Modular< double > & | F | ) | [inline] |
Specialization for positive modular representation over double Computes nmax s.t.
(p-1)/2*(p^{nmax-1} + (p-2)^{nmax-1}) < 2^53 See [Dumas Giorgi Pernet 06, arXiv:cs/0601133]
size_t FFLAS::Protected::TRSMBound | ( | const FFPACK::Modular< float > & | F | ) | [inline] |
Specialization for positive modular representation over float.
Computes nmax s.t. (p-1)/2*(p^{nmax-1} + (p-2)^{nmax-1}) < 2^24 See [Dumas Giorgi Pernet 06, arXiv:cs/0601133]
size_t FFLAS::Protected::TRSMBound | ( | const FFPACK::ModularBalanced< double > & | F | ) | [inline] |
Specialization for balanced modular representation over double.
Computes nmax s.t. (p-1)/2*(((p+1)/2)^{nmax-1}) < 2^53
size_t FFLAS::Protected::TRSMBound | ( | const FFPACK::ModularBalanced< float > & | F | ) | [inline] |
Specialization for balanced modular representation over float Computes nmax s.t.
(p-1)/2*(((p+1)/2)^{nmax-1}) < 2^24 See [Dumas Giorgi Pernet 06, arXiv:cs/0601133]
void FFLAS::Protected::ClassicMatmul | ( | const DoubleDomain & | , |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const DoubleDomain::Element | alpha, | ||
const DoubleDomain::Element * | Ad, | ||
const size_t | lda, | ||
const DoubleDomain::Element * | Bd, | ||
const size_t | ldb, | ||
const DoubleDomain::Element | beta, | ||
DoubleDomain::Element * | Cd, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::ClassicMatmul | ( | const FloatDomain & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const FloatDomain::Element | alpha, | ||
const FloatDomain::Element * | Ad, | ||
const size_t | lda, | ||
const FloatDomain::Element * | Bd, | ||
const size_t | ldb, | ||
const FloatDomain::Element | beta, | ||
FloatDomain::Element * | Cd, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::ClassicMatmul | ( | const FFPACK::ModularBalanced< double > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | lda, | ||
const double * | B, | ||
const size_t | ldb, | ||
const double | beta, | ||
double * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::ClassicMatmul | ( | const FFPACK::ModularBalanced< float > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const float | alpha, | ||
const float * | A, | ||
const size_t | lda, | ||
const float * | B, | ||
const size_t | ldb, | ||
const float | beta, | ||
float * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::ClassicMatmul | ( | const FFPACK::Modular< double > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | lda, | ||
const double * | B, | ||
const size_t | ldb, | ||
const double | beta, | ||
double * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::ClassicMatmul | ( | const FFPACK::Modular< float > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const float | alpha, | ||
const float * | A, | ||
const size_t | lda, | ||
const float * | B, | ||
const size_t | ldb, | ||
const float | beta, | ||
float * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::WinoMain | ( | const DoubleDomain & | D, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const DoubleDomain::Element | alpha, | ||
const DoubleDomain::Element * | A, | ||
const size_t | lda, | ||
const DoubleDomain::Element * | B, | ||
const size_t | ldb, | ||
const DoubleDomain::Element | beta, | ||
DoubleDomain::Element * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const size_t | w, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::WinoMain | ( | const FloatDomain & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const FloatDomain::Element | alpha, | ||
const FloatDomain::Element * | A, | ||
const size_t | lda, | ||
const FloatDomain::Element * | B, | ||
const size_t | ldb, | ||
const FloatDomain::Element | beta, | ||
FloatDomain::Element * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const size_t | w, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::WinoMain | ( | const FFPACK::ModularBalanced< double > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | lda, | ||
const double * | B, | ||
const size_t | ldb, | ||
const double | beta, | ||
double * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const size_t | w, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::WinoMain | ( | const FFPACK::ModularBalanced< float > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const float | alpha, | ||
const float * | A, | ||
const size_t | lda, | ||
const float * | B, | ||
const size_t | ldb, | ||
const float | beta, | ||
float * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const size_t | w, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::WinoMain | ( | const FFPACK::Modular< double > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | lda, | ||
const double * | B, | ||
const size_t | ldb, | ||
const double | beta, | ||
double * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const size_t | w, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::WinoMain | ( | const FFPACK::Modular< float > & | F, |
const FFLAS_TRANSPOSE | ta, | ||
const FFLAS_TRANSPOSE | tb, | ||
const size_t | m, | ||
const size_t | n, | ||
const size_t | k, | ||
const float | alpha, | ||
const float * | A, | ||
const size_t | lda, | ||
const float * | B, | ||
const size_t | ldb, | ||
const float | beta, | ||
float * | C, | ||
const size_t | ldc, | ||
const size_t | kmax, | ||
const size_t | w, | ||
const FFLAS_BASE | base | ||
) | [inline] |
void FFLAS::Protected::MatVectProd | ( | const FFPACK::ModularBalanced< double > & | F, |
const FFLAS_TRANSPOSE | TransA, | ||
const size_t | M, | ||
const size_t | N, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | lda, | ||
const double * | X, | ||
const size_t | incX, | ||
const double | beta, | ||
double * | Y, | ||
const size_t | incY | ||
) | [inline] |
void FFLAS::Protected::MatVectProd | ( | const FFPACK::ModularBalanced< float > & | F, |
const FFLAS_TRANSPOSE | TransA, | ||
const size_t | M, | ||
const size_t | N, | ||
const float | alpha, | ||
const float * | A, | ||
const size_t | lda, | ||
const float * | X, | ||
const size_t | incX, | ||
const float | beta, | ||
float * | Y, | ||
const size_t | incY | ||
) | [inline] |
void FFLAS::Protected::MatVectProd | ( | const FFPACK::Modular< double > & | F, |
const FFLAS_TRANSPOSE | TransA, | ||
const size_t | M, | ||
const size_t | N, | ||
const double | alpha, | ||
const double * | A, | ||
const size_t | lda, | ||
const double * | X, | ||
const size_t | incX, | ||
const double | beta, | ||
double * | Y, | ||
const size_t | incY | ||
) | [inline] |
void FFLAS::Protected::MatVectProd | ( | const FFPACK::Modular< float > & | F, |
const FFLAS_TRANSPOSE | TransA, | ||
const size_t | M, | ||
const size_t | N, | ||
const float | alpha, | ||
const float * | A, | ||
const size_t | lda, | ||
const float * | X, | ||
const size_t | incX, | ||
const float | beta, | ||
float * | Y, | ||
const size_t | incY | ||
) | [inline] |