FflasFfpack
Functions
FFLAS::details Namespace Reference

Functions

template<class Field , bool ADD>
std::enable_if< FFLAS::support_simd_add< typename Field::Element >::value, void >::type fadd (const Field &F, const size_t N, typename Field::ConstElement_ptr A, const size_t inca, typename Field::ConstElement_ptr B, const size_t incb, typename Field::Element_ptr C, const size_t incc, FieldCategories::ModularTag)
 
template<class Field , bool ADD>
std::enable_if<!FFLAS::support_simd_add< typename Field::Element >::value, void >::type fadd (const Field &F, const size_t N, typename Field::ConstElement_ptr A, const size_t inca, typename Field::ConstElement_ptr B, const size_t incb, typename Field::Element_ptr C, const size_t incc, FieldCategories::ModularTag)
 
template<class Field , bool ADD>
void fadd (const Field &F, const size_t N, typename Field::ConstElement_ptr A, const size_t inca, typename Field::ConstElement_ptr B, const size_t incb, typename Field::Element_ptr C, const size_t incc, FieldCategories::GenericTag)
 
template<class Field , bool ADD>
void fadd (const Field &F, const size_t N, typename Field::ConstElement_ptr A, const size_t inca, typename Field::ConstElement_ptr B, const size_t incb, typename Field::Element_ptr C, const size_t incc, FieldCategories::UnparametricTag)
 
template<class Field >
std::enable_if< FFLAS::support_simd_mod< typename Field::Element >::value, void >::type freduce (const Field &F, const size_t m, typename Field::Element_ptr A, const size_t incX, FieldCategories::ModularTag)
 
template<class Field >
std::enable_if< ! FFLAS::support_simd_mod< typename Field::Element >::value, void >::type freduce (const Field &F, const size_t m, typename Field::Element_ptr A, const size_t incX, FieldCategories::ModularTag)
 
template<class Field >
void freduce (const Field &F, const size_t m, typename Field::Element_ptr A, const size_t incX, FieldCategories::GenericTag)
 
template<class Field >
void freduce (const Field &F, const size_t m, typename Field::Element_ptr A, const size_t incX, FieldCategories::UnparametricTag)
 
template<class Field >
std::enable_if< FFLAS::support_simd_mod< typename Field::Element >::value, void >::type freduce (const Field &F, const size_t m, typename Field::ConstElement_ptr B, const size_t incY, typename Field::Element_ptr A, const size_t incX, FieldCategories::ModularTag)
 
template<class Field >
std::enable_if< ! FFLAS::support_simd_mod< typename Field::Element >::value, void >::type freduce (const Field &F, const size_t m, typename Field::ConstElement_ptr B, const size_t incY, typename Field::Element_ptr A, const size_t incX, FieldCategories::ModularTag)
 
template<class Field >
void freduce (const Field &F, const size_t m, typename Field::ConstElement_ptr B, const size_t incY, typename Field::Element_ptr A, const size_t incX, FieldCategories::GenericTag)
 
template<class Field >
void freduce (const Field &F, const size_t m, typename Field::ConstElement_ptr B, const size_t incY, typename Field::Element_ptr A, const size_t incX, FieldCategories::UnparametricTag)
 
template<enum number_kind K>
void igebb44 (size_t i, size_t j, size_t depth, size_t pdeth, const int64_t alpha, const int64_t *blA, const int64_t *blB, int64_t *C, size_t ldc)
 
template<enum number_kind K>
void igebb24 (size_t i, size_t j, size_t depth, size_t pdeth, const int64_t alpha, const int64_t *blA, const int64_t *blB, int64_t *C, size_t ldc)
 
template<enum number_kind K>
void igebb14 (size_t i, size_t j, size_t depth, size_t pdeth, const int64_t alpha, const int64_t *blA, const int64_t *blB, int64_t *C, size_t ldc)
 
template<enum number_kind K>
void igebb41 (size_t i, size_t j, size_t depth, size_t pdeth, const int64_t alpha, const int64_t *blA, const int64_t *blB, int64_t *C, size_t ldc)
 
template<enum number_kind K>
void igebb21 (size_t i, size_t j, size_t depth, size_t pdeth, const int64_t alpha, const int64_t *blA, const int64_t *blB, int64_t *C, size_t ldc)
 
template<enum number_kind K>
void igebb11 (size_t i, size_t j, size_t depth, size_t pdeth, const int64_t alpha, const int64_t *blA, const int64_t *blB, int64_t *C, size_t ldc)
 
template<enum number_kind K>
void igebp (size_t rows, size_t cols, size_t depth, const int64_t alpha, const int64_t *blockA, size_t lda, const int64_t *blockB, size_t ldb, int64_t *C, size_t ldc, int64_t *blockW)
 
template<size_t N>
void duplicate_vect (int64_t *XX, const int64_t *X, size_t n)
 
template<size_t k, bool transpose>
void pack_lhs (int64_t *XX, const int64_t *X, size_t ldx, size_t rows, size_t cols)
 
template<size_t k, bool transpose>
void pack_rhs (int64_t *XX, const int64_t *X, size_t ldx, size_t rows, size_t cols)
 
void gebp (size_t rows, size_t cols, size_t depth, int64_t *C, size_t ldc, const int64_t *blockA, size_t lda, const int64_t *BlockB, size_t ldb, int64_t *BlockW)
 
void BlockingFactor (size_t &m, size_t &n, size_t &k)
 
template<>
void duplicate_vect< 2 > (int64_t *XX, const int64_t *X, size_t n)
 
template<>
void duplicate_vect< 4 > (int64_t *XX, const int64_t *X, size_t n)
 

Function Documentation

◆ fadd() [1/4]

std::enable_if<FFLAS::support_simd_add<typename Field::Element>::value, void>::type FFLAS::details::fadd ( const Field F,
const size_t  N,
typename Field::ConstElement_ptr  A,
const size_t  inca,
typename Field::ConstElement_ptr  B,
const size_t  incb,
typename Field::Element_ptr  C,
const size_t  incc,
FieldCategories::ModularTag   
)

◆ fadd() [2/4]

std::enable_if<!FFLAS::support_simd_add<typename Field::Element>::value, void>::type FFLAS::details::fadd ( const Field F,
const size_t  N,
typename Field::ConstElement_ptr  A,
const size_t  inca,
typename Field::ConstElement_ptr  B,
const size_t  incb,
typename Field::Element_ptr  C,
const size_t  incc,
FieldCategories::ModularTag   
)

◆ fadd() [3/4]

void FFLAS::details::fadd ( const Field F,
const size_t  N,
typename Field::ConstElement_ptr  A,
const size_t  inca,
typename Field::ConstElement_ptr  B,
const size_t  incb,
typename Field::Element_ptr  C,
const size_t  incc,
FieldCategories::GenericTag   
)

◆ fadd() [4/4]

void FFLAS::details::fadd ( const Field F,
const size_t  N,
typename Field::ConstElement_ptr  A,
const size_t  inca,
typename Field::ConstElement_ptr  B,
const size_t  incb,
typename Field::Element_ptr  C,
const size_t  incc,
FieldCategories::UnparametricTag   
)

◆ freduce() [1/8]

std::enable_if<FFLAS::support_simd_mod<typename Field::Element>::value, void>::type FFLAS::details::freduce ( const Field F,
const size_t  m,
typename Field::Element_ptr  A,
const size_t  incX,
FieldCategories::ModularTag   
)

◆ freduce() [2/8]

std::enable_if< ! FFLAS::support_simd_mod<typename Field::Element>::value, void>::type FFLAS::details::freduce ( const Field F,
const size_t  m,
typename Field::Element_ptr  A,
const size_t  incX,
FieldCategories::ModularTag   
)

◆ freduce() [3/8]

void FFLAS::details::freduce ( const Field F,
const size_t  m,
typename Field::Element_ptr  A,
const size_t  incX,
FieldCategories::GenericTag   
)

◆ freduce() [4/8]

void FFLAS::details::freduce ( const Field F,
const size_t  m,
typename Field::Element_ptr  A,
const size_t  incX,
FieldCategories::UnparametricTag   
)

◆ freduce() [5/8]

std::enable_if< FFLAS::support_simd_mod<typename Field::Element>::value, void>::type FFLAS::details::freduce ( const Field F,
const size_t  m,
typename Field::ConstElement_ptr  B,
const size_t  incY,
typename Field::Element_ptr  A,
const size_t  incX,
FieldCategories::ModularTag   
)

◆ freduce() [6/8]

std::enable_if< ! FFLAS::support_simd_mod<typename Field::Element>::value, void>::type FFLAS::details::freduce ( const Field F,
const size_t  m,
typename Field::ConstElement_ptr  B,
const size_t  incY,
typename Field::Element_ptr  A,
const size_t  incX,
FieldCategories::ModularTag   
)

◆ freduce() [7/8]

void FFLAS::details::freduce ( const Field F,
const size_t  m,
typename Field::ConstElement_ptr  B,
const size_t  incY,
typename Field::Element_ptr  A,
const size_t  incX,
FieldCategories::GenericTag   
)

◆ freduce() [8/8]

void FFLAS::details::freduce ( const Field F,
const size_t  m,
typename Field::ConstElement_ptr  B,
const size_t  incY,
typename Field::Element_ptr  A,
const size_t  incX,
FieldCategories::UnparametricTag   
)

◆ igebb44()

void igebb44 ( size_t  i,
size_t  j,
size_t  depth,
size_t  pdeth,
const int64_t  alpha,
const int64_t blA,
const int64_t blB,
int64_t C,
size_t  ldc 
)
inline

◆ igebb24()

void igebb24 ( size_t  i,
size_t  j,
size_t  depth,
size_t  pdeth,
const int64_t  alpha,
const int64_t blA,
const int64_t blB,
int64_t C,
size_t  ldc 
)
inline

◆ igebb14()

void igebb14 ( size_t  i,
size_t  j,
size_t  depth,
size_t  pdeth,
const int64_t  alpha,
const int64_t blA,
const int64_t blB,
int64_t C,
size_t  ldc 
)
inline

◆ igebb41()

void igebb41 ( size_t  i,
size_t  j,
size_t  depth,
size_t  pdeth,
const int64_t  alpha,
const int64_t blA,
const int64_t blB,
int64_t C,
size_t  ldc 
)
inline

bug ,B_0 dans VEC_MADD_32 ?

bug ,B_0 dans VEC_MADD_32 ?

◆ igebb21()

void igebb21 ( size_t  i,
size_t  j,
size_t  depth,
size_t  pdeth,
const int64_t  alpha,
const int64_t blA,
const int64_t blB,
int64_t C,
size_t  ldc 
)
inline

◆ igebb11()

void igebb11 ( size_t  i,
size_t  j,
size_t  depth,
size_t  pdeth,
const int64_t  alpha,
const int64_t blA,
const int64_t blB,
int64_t C,
size_t  ldc 
)
inline

◆ igebp()

void igebp ( size_t  rows,
size_t  cols,
size_t  depth,
const int64_t  alpha,
const int64_t blockA,
size_t  lda,
const int64_t blockB,
size_t  ldb,
int64_t C,
size_t  ldc,
int64_t blockW 
)

◆ duplicate_vect()

void FFLAS::details::duplicate_vect ( int64_t XX,
const int64_t X,
size_t  n 
)
inline

◆ pack_lhs()

void pack_lhs ( int64_t XX,
const int64_t X,
size_t  ldx,
size_t  rows,
size_t  cols 
)
Bug:
this is fassign
Bug:
this is fassign
Bug:
this is fassign
Bug:
this is fassign

◆ pack_rhs()

void pack_rhs ( int64_t XX,
const int64_t X,
size_t  ldx,
size_t  rows,
size_t  cols 
)
Bug:
this is fassign
Bug:
this is fassign
Bug:
this is fassign
Bug:
this is fassign

◆ gebp()

void FFLAS::details::gebp ( size_t  rows,
size_t  cols,
size_t  depth,
int64_t C,
size_t  ldc,
const int64_t blockA,
size_t  lda,
const int64_t BlockB,
size_t  ldb,
int64_t BlockW 
)

◆ BlockingFactor()

void BlockingFactor ( size_t &  m,
size_t &  n,
size_t &  k 
)
inline

◆ duplicate_vect< 2 >()

void FFLAS::details::duplicate_vect< 2 > ( int64_t XX,
const int64_t X,
size_t  n 
)
inline

◆ duplicate_vect< 4 >()

void FFLAS::details::duplicate_vect< 4 > ( int64_t XX,
const int64_t X,
size_t  n 
)
inline