FflasFfpack
Data Structures | Namespaces | Macros | Functions
fflas_level3.inl File Reference
#include "fflas_bounds.inl"
#include "fflas_helpers.inl"
#include "fflas-ffpack/paladin/parallel.h"

Data Structures

class  ftrsmLeftUpperNoTransNonUnit< Element >
 Computes the maximal size for delaying the modular reduction in a triangular system resolution. More...
 
class  ftrsmLeftUpperNoTransUnit< Element >
 
class  ftrsmLeftUpperTransNonUnit< Element >
 
class  ftrsmLeftUpperTransUnit< Element >
 
class  ftrsmLeftLowerNoTransNonUnit< Element >
 
class  ftrsmLeftLowerNoTransUnit< Element >
 
class  ftrsmLeftLowerTransNonUnit< Element >
 
class  ftrsmLeftLowerTransUnit< Element >
 
class  ftrsmRightUpperNoTransNonUnit< Element >
 
class  ftrsmRightUpperNoTransUnit< Element >
 
class  ftrsmRightUpperTransNonUnit< Element >
 
class  ftrsmRightUpperTransUnit< Element >
 
class  ftrsmRightLowerNoTransNonUnit< Element >
 
class  ftrsmRightLowerNoTransUnit< Element >
 
class  ftrsmRightLowerTransNonUnit< Element >
 
class  ftrsmRightLowerTransUnit< Element >
 
class  ftrmmLeftUpperNoTransNonUnit< Element >
 
class  ftrmmLeftUpperNoTransUnit< Element >
 
class  ftrmmLeftUpperTransNonUnit< Element >
 
class  ftrmmLeftUpperTransUnit< Element >
 
class  ftrmmLeftLowerNoTransNonUnit< Element >
 
class  ftrmmLeftLowerNoTransUnit< Element >
 
class  ftrmmLeftLowerTransNonUnit< Element >
 
class  ftrmmLeftLowerTransUnit< Element >
 
class  ftrmmRightUpperNoTransNonUnit< Element >
 
class  ftrmmRightUpperNoTransUnit< Element >
 
class  ftrmmRightUpperTransNonUnit< Element >
 
class  ftrmmRightUpperTransUnit< Element >
 
class  ftrmmRightLowerNoTransNonUnit< Element >
 
class  ftrmmRightLowerNoTransUnit< Element >
 
class  ftrmmRightLowerTransNonUnit< Element >
 
class  ftrmmRightLowerTransUnit< Element >
 

Namespaces

 FFLAS
 
 FFLAS::Protected
 

Macros

#define __FFLASFFPACK_fflas_fflas_level3_INL
 
#define __FFLAS__TRSM_READONLY
 

Functions

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 >
void ftrsm (const Field &F, const FFLAS_SIDE Side, const FFLAS_UPLO Uplo, const FFLAS_TRANSPOSE TransA, const FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::ConstElement_ptr A, const size_t lda, typename Field::Element_ptr B, const size_t ldb)
 ftrsm: TRiangular System solve with Matrix. More...
 
template<class Field >
void ftrmm (const Field &F, const FFLAS_SIDE Side, const FFLAS_UPLO Uplo, const FFLAS_TRANSPOSE TransA, const FFLAS_DIAG Diag, const size_t M, const size_t N, const typename Field::Element alpha, typename Field::ConstElement_ptr A, const size_t lda, typename Field::Element_ptr B, const size_t ldb)
 ftrmm: TRiangular Matrix Multiply. More...
 
template<class Field >
void ftrmm (const Field &F, const FFLAS_SIDE Side, const FFLAS_UPLO Uplo, const FFLAS_TRANSPOSE TransA, const FFLAS_DIAG Diag, 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 B, const size_t ldb, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc)
 ftrmm: TRiangular Matrix Multiply with 3 operands Computes $ C \gets \alpha \mathrm{op}(A) B + beta C$ or $C \gets \alpha B \mathrm{op}(A) + beta C$. More...
 
template<class Field >
Field::Element_ptr fsyrk (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)
 fsyrk: Symmetric Rank K update More...
 
template<class Field >
Field::Element_ptr fsyr2k (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, typename Field::ConstElement_ptr B, const size_t ldb, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc)
 fsyr2k: Symmetric Rank 2K update More...
 
template<class Field >
Field::Element_ptr fsyrk (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::Element_ptr A, const size_t lda, typename Field::ConstElement_ptr D, const size_t incD, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, const size_t threshold=__FFLASFFPACK_FSYRK_THRESHOLD)
 fsyrk: Symmetric Rank K update with diagonal scaling More...
 
template<class Field >
Field::Element_ptr fsyrk (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::Element_ptr A, const size_t lda, typename Field::ConstElement_ptr D, const size_t incD, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, const ParSeqHelper::Sequential seq, const size_t threshold)
 
template<class Field , class Cut , class Param >
Field::Element_ptr fsyrk (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::Element_ptr A, const size_t lda, typename Field::ConstElement_ptr D, const size_t incD, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, const ParSeqHelper::Parallel< Cut, Param > par, const size_t threshold)
 
template<class Field >
Field::Element_ptr fsyrk (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::Element_ptr A, const size_t lda, typename Field::ConstElement_ptr D, const size_t incD, const std::vector< bool > &twoBlock, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, const size_t threshold=__FFLASFFPACK_FSYRK_THRESHOLD)
 fsyrk: Symmetric Rank K update with diagonal scaling More...
 
template<typename Field >
Field::Element_ptr fgemm (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)
 fgemm: Field GEneral Matrix Multiply. More...
 
template<typename Field >
Field::Element_ptr fgemm (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, const ParSeqHelper::Sequential seq)
 
template<typename Field , class Cut , class Param >
Field::Element_ptr fgemm (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, const ParSeqHelper::Parallel< Cut, Param > par)
 
template<typename Field >
Field::Element_ptr pfgemm (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, size_t numthreads=0)
 
template<class Field >
Field::Elementpfgemm_1D_rec (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_ptr A, const size_t lda, const typename Field::Element_ptr B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, size_t seuil)
 
template<class Field >
Field::Elementpfgemm_2D_rec (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_ptr A, const size_t lda, const typename Field::Element_ptr B, const size_t ldb, const typename Field::Element beta, typename Field::Element *C, const size_t ldc, size_t seuil)
 
template<class Field >
Field::Elementpfgemm_3D_rec (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_ptr A, const size_t lda, const typename Field::Element_ptr B, const size_t ldb, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, size_t seuil, size_t *x)
 
template<class Field >
Field::Element_ptr pfgemm_3D_rec2 (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_ptr A, const size_t lda, const typename Field::Element_ptr B, const size_t ldb, const typename Field::Element beta, typename Field::Element_ptr C, const size_t ldc, size_t seuil, size_t *x)
 
template<class Field >
Field::Element_ptr fsquare (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)
 fsquare: Squares a matrix. More...
 

Macro Definition Documentation

◆ __FFLASFFPACK_fflas_fflas_level3_INL

#define __FFLASFFPACK_fflas_fflas_level3_INL

◆ __FFLAS__TRSM_READONLY

#define __FFLAS__TRSM_READONLY