FflasFfpack
benchmark-fgemv.C File Reference
#include "fflas-ffpack/fflas-ffpack-config.h"
#include <iostream>
#include <givaro/modular-balanced.h>
#include "fflas-ffpack/config-blas.h"
#include "fflas-ffpack/fflas/fflas.h"
#include "fflas-ffpack/utils/timer.h"
#include "fflas-ffpack/utils/args-parser.h"
#include "fflas-ffpack/utils/fflas_io.h"
#include "fflas-ffpack/utils/test-utils.h"
#include "givaro/modular-integer.h"
#include "givaro/givcaster.h"

Data Structures

struct  need_field_characteristic< Field >
 
struct  need_field_characteristic< Givaro::Modular< Field > >
 
struct  need_field_characteristic< Givaro::ModularBalanced< Field > >
 
struct  compatible_data_type< Field >
 
struct  compatible_data_type< Givaro::ZRing< float > >
 
struct  compatible_data_type< Givaro::ZRing< double > >
 

Macros

#define __FFLASFFPACK_OPENBLAS_NT_ALREADY_SET   1
 

Functions

template<class Field , class RandIter , class Matrix , class Vector >
void fill_value (Field &F, RandIter &Rand, Matrix &A, Vector &X, Vector &Y, size_t m, size_t k, size_t incX, size_t incY, size_t lda, int NBK)
 
template<class Field , class Matrix , class Vector >
void genData (Field &F, Matrix &A, Vector &X, Vector &Y, size_t m, size_t k, size_t incX, size_t incY, size_t lda, int NBK, uint64_t bitsize, uint64_t seed)
 
template<class Field , class Matrix , class Vector >
bool check_result (Field &F, size_t m, size_t lda, Matrix &A, Vector &X, size_t incX, Vector &Y, size_t incY)
 
template<class Field , class Matrix , class Vector >
bool benchmark_with_timer (Field &F, int p, Matrix &A, Vector &X, Vector &Y, size_t m, size_t k, size_t incX, size_t incY, size_t lda, size_t iters, int t, double &time, size_t GrainSize)
 
template<class Field , class arg >
void benchmark_disp (Field &F, bool pass, double &time, size_t iters, int p, size_t m, size_t k, arg &as)
 
template<class Field , class arg >
void benchmark_in_Field (Field &F, int p, size_t m, size_t k, int NBK, uint64_t bitsize, uint64_t seed, size_t iters, int t, arg &as, size_t GrainSize)
 
template<class Field , class arg >
void benchmark_with_field (int p, size_t m, size_t k, int NBK, uint64_t bitsize, uint64_t seed, size_t iters, int t, arg &as, size_t GrainSize)
 
template<class Field , class arg >
void benchmark_with_field (const Givaro::Integer &q, int p, size_t m, size_t k, int NBK, uint64_t bitsize, uint64_t seed, size_t iters, int t, arg &as, size_t GrainSize)
 
int main (int argc, char **argv)
 

Macro Definition Documentation

◆ __FFLASFFPACK_OPENBLAS_NT_ALREADY_SET

#define __FFLASFFPACK_OPENBLAS_NT_ALREADY_SET   1

Function Documentation

◆ fill_value()

template<class Field , class RandIter , class Matrix , class Vector >
void fill_value ( Field & F,
RandIter & Rand,
Matrix & A,
Vector & X,
Vector & Y,
size_t m,
size_t k,
size_t incX,
size_t incY,
size_t lda,
int NBK )

◆ genData()

template<class Field , class Matrix , class Vector >
void genData ( Field & F,
Matrix & A,
Vector & X,
Vector & Y,
size_t m,
size_t k,
size_t incX,
size_t incY,
size_t lda,
int NBK,
uint64_t bitsize,
uint64_t seed )

◆ check_result()

template<class Field , class Matrix , class Vector >
bool check_result ( Field & F,
size_t m,
size_t lda,
Matrix & A,
Vector & X,
size_t incX,
Vector & Y,
size_t incY )

◆ benchmark_with_timer()

template<class Field , class Matrix , class Vector >
bool benchmark_with_timer ( Field & F,
int p,
Matrix & A,
Vector & X,
Vector & Y,
size_t m,
size_t k,
size_t incX,
size_t incY,
size_t lda,
size_t iters,
int t,
double & time,
size_t GrainSize )

◆ benchmark_disp()

template<class Field , class arg >
void benchmark_disp ( Field & F,
bool pass,
double & time,
size_t iters,
int p,
size_t m,
size_t k,
arg & as )

◆ benchmark_in_Field()

template<class Field , class arg >
void benchmark_in_Field ( Field & F,
int p,
size_t m,
size_t k,
int NBK,
uint64_t bitsize,
uint64_t seed,
size_t iters,
int t,
arg & as,
size_t GrainSize )

◆ benchmark_with_field() [1/2]

template<class Field , class arg >
void benchmark_with_field ( int p,
size_t m,
size_t k,
int NBK,
uint64_t bitsize,
uint64_t seed,
size_t iters,
int t,
arg & as,
size_t GrainSize )

◆ benchmark_with_field() [2/2]

template<class Field , class arg >
void benchmark_with_field ( const Givaro::Integer & q,
int p,
size_t m,
size_t k,
int NBK,
uint64_t bitsize,
uint64_t seed,
size_t iters,
int t,
arg & as,
size_t GrainSize )

◆ main()

int main ( int argc,
char ** argv )