FflasFfpack
Macros | Functions
test-fgemm.C File Reference
#include "fflas-ffpack/fflas-ffpack-config.h"
#include "fflas-ffpack/utils/fflas_io.h"
#include <iomanip>
#include <iostream>
#include <givaro/modular.h>
#include <recint/rint.h>
#include "fflas-ffpack/utils/timer.h"
#include "fflas-ffpack/fflas/fflas.h"
#include "fflas-ffpack/utils/args-parser.h"
#include "fflas-ffpack/utils/test-utils.h"
#include <random>

Macros

#define ENABLE_CHECKER_fgemm   1
 

Functions

template<class Field >
bool check_MM (const Field &F, const typename Field::Element_ptr Cd, enum FFLAS_TRANSPOSE &ta, enum 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, size_t lda, const typename Field::Element_ptr B, size_t ldb, const typename Field::Element &beta, const typename Field::Element_ptr C, size_t ldc)
 
template<class Field , class RandIter >
bool launch_MM (const Field &F, const size_t m, const size_t n, const size_t k, const typename Field::Element alpha, const typename Field::Element beta, const size_t ldc, const size_t lda, enum FFLAS_TRANSPOSE ta, const size_t ldb, enum FFLAS_TRANSPOSE tb, size_t iters, int nbw, bool par, RandIter &G)
 
template<class Field , class RandIter >
bool launch_MM_dispatch (const Field &F, const int mm, const int nn, const int kk, const typename Field::Element alpha, const typename Field::Element beta, const size_t iters, const int nbw, const bool par, RandIter &G)
 
template<class Field >
bool run_with_field (Givaro::Integer q, uint64_t b, int m, int n, int k, int nbw, size_t iters, bool par, size_t seed)
 
int main (int argc, char **argv)
 

Macro Definition Documentation

◆ ENABLE_CHECKER_fgemm

#define ENABLE_CHECKER_fgemm   1

Function Documentation

◆ check_MM()

bool check_MM ( const Field F,
const typename Field::Element_ptr  Cd,
enum FFLAS_TRANSPOSE ta,
enum 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,
size_t  lda,
const typename Field::Element_ptr  B,
size_t  ldb,
const typename Field::Element &  beta,
const typename Field::Element_ptr  C,
size_t  ldc 
)

◆ launch_MM()

bool launch_MM ( const Field F,
const size_t  m,
const size_t  n,
const size_t  k,
const typename Field::Element  alpha,
const typename Field::Element  beta,
const size_t  ldc,
const size_t  lda,
enum FFLAS_TRANSPOSE  ta,
const size_t  ldb,
enum FFLAS_TRANSPOSE  tb,
size_t  iters,
int  nbw,
bool  par,
RandIter &  G 
)

◆ launch_MM_dispatch()

bool launch_MM_dispatch ( const Field F,
const int  mm,
const int  nn,
const int  kk,
const typename Field::Element  alpha,
const typename Field::Element  beta,
const size_t  iters,
const int  nbw,
const bool  par,
RandIter &  G 
)
Bug:
test for ldX equal
Bug:
Bug:
test for transpo
Bug:
Todo:
does nbw actually do nbw recursive calls and then call blas (check ?) ?

◆ run_with_field()

bool run_with_field ( Givaro::Integer  q,
uint64_t  b,
int  m,
int  n,
int  k,
int  nbw,
size_t  iters,
bool  par,
size_t  seed 
)

◆ main()

int main ( int  argc,
char **  argv 
)