|
template<class Field > |
double | computeFactorClassic (const Field &F) |
|
template<> |
double | computeFactorClassic (const Givaro::ModularBalanced< double > &F) |
|
template<> |
double | computeFactorClassic (const Givaro::ModularBalanced< float > &F) |
|
template<class Field > |
size_t | DotProdBoundClassic (const Field &F, const typename Field::Element &beta) |
|
template<class Field > |
size_t | TRSMBound (const Field &) |
| TRSMBound. More...
|
|
template<class Element > |
size_t | TRSMBound (const Givaro::Modular< Element > &F) |
| Specialization for positive modular representation over float. More...
|
|
template<class Element > |
size_t | TRSMBound (const Givaro::ModularBalanced< Element > &F) |
| Specialization for balanced modular representation over double. More...
|
|
template<class NewField , class Field , class FieldMode > |
Field::Element_ptr | fgemm_convert (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, typename Field::ConstElement_ptr A, const size_t lda, typename Field::ConstElement_ptr B, const size_t ldb, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, MMHelper< Field, MMHelperAlgo::Winograd, FieldMode > &H) |
|
template<class Field , class Element , class AlgoT , class ParSeqTrait > |
bool | NeedPreAddReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, Element &Op2min, Element &Op2max, MMHelper< Field, AlgoT, ModeCategories::LazyTag, ParSeqTrait > &WH) |
|
template<class Field , class Element , class AlgoT , class ModeT , class ParSeqTrait > |
bool | NeedPreAddReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, Element &Op2min, Element &Op2max, MMHelper< Field, AlgoT, ModeT, ParSeqTrait > &WH) |
|
template<class Field , class Element , class AlgoT , class ParSeqTrait > |
bool | NeedPreSubReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, Element &Op2min, Element &Op2max, MMHelper< Field, AlgoT, ModeCategories::LazyTag, ParSeqTrait > &WH) |
|
template<class Field , class Element , class AlgoT , class ModeT , class ParSeqTrait > |
bool | NeedPreSubReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, Element &Op2min, Element &Op2max, MMHelper< Field, AlgoT, ModeT, ParSeqTrait > &WH) |
|
template<class Field , class Element , class AlgoT , class ParSeqTrait > |
bool | NeedDoublePreAddReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, Element &Op2min, Element &Op2max, Element beta, MMHelper< Field, AlgoT, ModeCategories::LazyTag, ParSeqTrait > &WH) |
|
template<class Field , class Element , class AlgoT , class ModeT , class ParSeqTrait > |
bool | NeedDoublePreAddReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, Element &Op2min, Element &Op2max, Element beta, MMHelper< Field, AlgoT, ModeT, ParSeqTrait > &WH) |
|
template<class Field , class AlgoT , class ParSeqTrait > |
void | ScalAndReduce (const Field &F, const size_t N, const typename Field::Element alpha, typename Field::Element_ptr X, const size_t incX, const MMHelper< Field, AlgoT, ModeCategories::LazyTag, ParSeqTrait > &H) |
|
template<class Field , class AlgoT , class ParSeqTrait > |
void | ScalAndReduce (const Field &F, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::Element_ptr A, const size_t lda, const MMHelper< Field, AlgoT, ModeCategories::LazyTag, ParSeqTrait > &H) |
|
template<class Field > |
Field::Element_ptr | fsquareCommon (const Field &F, const FFLAS_TRANSPOSE ta, const size_t n, const typename Field::Element alpha, typename Field::ConstElement_ptr A, const size_t lda, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc) |
|
template<class Field > |
int | WinogradThreshold (const Field &F) |
| Computes the number of recursive levels to perform. More...
|
|
template<> |
int | WinogradThreshold (const Givaro::Modular< float > &F) |
|
template<> |
int | WinogradThreshold (const Givaro::ModularBalanced< double > &F) |
|
template<> |
int | WinogradThreshold (const Givaro::ModularBalanced< float > &F) |
|
template<class Field > |
int | WinogradSteps (const Field &F, const size_t &m) |
| Computes the number of recursive levels to perform. More...
|
|
template<class Field , class FieldMode > |
void | DynamicPeeling (const Field &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const size_t mr, const size_t nr, const size_t kr, const typename Field::Element alpha, typename Field::ConstElement_ptr A, const size_t lda, typename Field::ConstElement_ptr B, const size_t ldb, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, MMHelper< Field, MMHelperAlgo::Winograd, FieldMode > &H, const typename MMHelper< Field, MMHelperAlgo::Winograd, FieldMode >::DelayedField::Element Cmin, const typename MMHelper< Field, MMHelperAlgo::Winograd, FieldMode >::DelayedField::Element Cmax) |
|
template<class Field , class FieldMode > |
void | DynamicPeeling2 (const Field &F, const FFLAS_TRANSPOSE ta, const FFLAS_TRANSPOSE tb, const size_t m, const size_t n, const size_t k, const size_t mr, const size_t nr, const size_t kr, const typename Field::Element alpha, typename Field::ConstElement_ptr A, const size_t lda, typename Field::ConstElement_ptr B, const size_t ldb, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, MMHelper< Field, MMHelperAlgo::Winograd, FieldMode > &H, const typename MMHelper< Field, MMHelperAlgo::Winograd, FieldMode >::DelayedField::Element Cmin, const typename MMHelper< Field, MMHelperAlgo::Winograd, FieldMode >::DelayedField::Element Cmax) |
|
template<class Field , class FieldMode > |
void | WinogradCalc (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, typename Field::ConstElement_ptr A, const size_t lda, typename Field::ConstElement_ptr B, const size_t ldb, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, MMHelper< Field, MMHelperAlgo::Winograd, FieldMode > &H) |
|
template<typename FloatElement , class Field > |
Field::Element_ptr | fgemv_convert (const Field &F, const FFLAS_TRANSPOSE ta, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::ConstElement_ptr A, const size_t lda, typename Field::ConstElement_ptr X, const size_t incX, const typename Field::Element beta, typename Field::Element_ptr Y, const size_t incY) |
|
template<class FloatElement , class Field > |
void | fger_convert (const Field &F, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::ConstElement_ptr x, const size_t incx, typename Field::ConstElement_ptr y, const size_t incy, typename Field::Element_ptr A, const size_t lda) |
|
template<class NewField , class Field , class FieldMode > |
Field::Element_ptr | fsyrk_convert (const Field &F, const FFLAS_UPLO UpLo, const FFLAS_TRANSPOSE trans, const size_t N, const size_t K, const typename Field::Element alpha, typename Field::ConstElement_ptr A, const size_t lda, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, MMHelper< Field, MMHelperAlgo::Classic, FieldMode > &H) |
|
template<class Field , class AlgoT , class ParSeqTrait > |
void | ScalAndReduce (const Field &F, const FFLAS_UPLO UpLo, const size_t N, const typename Field::Element alpha, typename Field::Element_ptr A, const size_t lda, const MMHelper< Field, AlgoT, ModeCategories::LazyTag, ParSeqTrait > &H) |
|
template<class Field , class Element , class AlgoT , class ParSeqTrait > |
bool | NeedPreScalReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, const Element &x, MMHelper< Field, AlgoT, ModeCategories::LazyTag, ParSeqTrait > &WH) |
|
template<class Field , class Element , class AlgoT , class ModeT , class ParSeqTrait > |
bool | NeedPreScalReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, const Element &x, MMHelper< Field, AlgoT, ModeT, ParSeqTrait > &WH) |
|
template<class Field , class Element , class AlgoT , class ParSeqTrait > |
bool | NeedPreAxpyReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, Element &Op2min, Element &Op2max, const Element &x, MMHelper< Field, AlgoT, ModeCategories::LazyTag, ParSeqTrait > &WH) |
|
template<class Field , class Element , class AlgoT , class ModeT , class ParSeqTrait > |
bool | NeedPreAxpyReduction (Element &Outmin, Element &Outmax, Element &Op1min, Element &Op1max, Element &Op2min, Element &Op2max, const Element &x, MMHelper< Field, AlgoT, ModeT, ParSeqTrait > &WH) |
|
template<class DFE > |
size_t | min_types (const DFE &k) |
|
template<> |
size_t | min_types (const RecInt::rint< 6 > &k) |
|
template<> |
size_t | min_types (const RecInt::rint< 7 > &k) |
|
template<> |
size_t | min_types (const RecInt::rint< 8 > &k) |
|
template<> |
size_t | min_types (const RecInt::rint< 9 > &k) |
|
template<> |
size_t | min_types (const RecInt::rint< 10 > &k) |
|
template<> |
size_t | min_types (const Givaro::Integer &k) |
|
template<class T > |
bool | unfit (T x) |
|
template<> |
bool | unfit (int64_t x) |
|
template<size_t K> |
bool | unfit (RecInt::rint< K > x) |
|
template<> |
bool | unfit (RecInt::rint< 6 > x) |
|
template<enum FFLAS_TRANSPOSE tA, enum FFLAS_TRANSPOSE tB> |
void | igemm_colmajor (size_t rows, size_t cols, size_t depth, const int64_t alpha, const int64_t *A, size_t lda, const int64_t *B, size_t ldb, int64_t *C, size_t ldc) |
|
template<enum FFLAS_TRANSPOSE tA, enum FFLAS_TRANSPOSE tB, enum number_kind alpha_kind> |
void | igemm_colmajor (size_t rows, size_t cols, size_t depth, const int64_t alpha, const int64_t *A, size_t lda, const int64_t *B, size_t ldb, int64_t *C, size_t ldc) |
|
void | igemm (const enum FFLAS_TRANSPOSE TransA, const enum FFLAS_TRANSPOSE TransB, size_t rows, size_t cols, size_t depth, const int64_t alpha, const int64_t *A, size_t lda, const int64_t *B, size_t ldb, const int64_t beta, int64_t *C, size_t ldc) |
|
template<class Field > |
void | MatF2MatD_Triangular (const Field &F, Givaro::DoubleDomain::Element_ptr S, const size_t lds, typename Field::ConstElement_ptr const E, const size_t lde, const size_t m, const size_t n) |
|
template<class Field > |
void | MatF2MatFl_Triangular (const Field &F, Givaro::FloatDomain::Element_ptr S, const size_t lds, typename Field::ConstElement_ptr const E, const size_t lde, const size_t m, const size_t n) |
|
template<class Field > |
Field::Element * | gemm_bini_p (const Field &F, const size_t m, const size_t n, const size_t k, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, typename Field::Element *C, const size_t ldc, int rec, size_t algo) |
|
template<class Field > |
Field::Element * | gemm_bini_e (const Field &F, const size_t m, const size_t n, const size_t k, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, typename Field::Element *C, const size_t ldc, int rec, size_t algo) |
|
template<class Field > |
Field::Element * | gemm_compress (const Field &F, const size_t m, const size_t n, const size_t k, const typename Field::Element *A, const size_t lda, const typename Field::Element *B, const size_t ldb, typename Field::Element *C, const size_t ldc, int rec, size_t algo) |
|