|
FflasFfpack
|
#include "fflas-ffpack/fflas-ffpack-config.h"#include <givaro/modular-balanced.h>#include <iostream>#include <iomanip>#include "fflas-ffpack/utils/timer.h"#include "fflas-ffpack/fflas/fflas.h"#include "fflas-ffpack/ffpack/ffpack.h"#include "fflas-ffpack/utils/test-utils.h"#include "fflas-ffpack/utils/args-parser.h"#include <random>Macros | |
| #define | BASECASE_K 37 |
| #define | __FFLASFFPACK_SEQUENTIAL |
| #define | __LUDIVINE_CUTOFF 1 |
Functions | |
| template<class Field , FFLAS::FFLAS_DIAG diag, FFLAS_TRANSPOSE trans> | |
| bool | test_LUdivine (const Field &F, typename Field::ConstElement_ptr A, size_t lda, size_t r, size_t m, size_t n) |
| Tests the LUdivine routine. More... | |
| template<class Field , FFLAS_DIAG diag> | |
| bool | verifPLUQ (const Field &F, typename Field::ConstElement_ptr A, size_t lda, typename Field::Element_ptr PLUQ, size_t ldpluq, size_t *P, size_t *Q, size_t m, size_t n, size_t R) |
| Verifies that B = PLUQ where A stores [L\U]. More... | |
| template<class Field , FFLAS_DIAG diag, class RandIter > | |
| bool | test_pluq (const Field &F, typename Field::ConstElement_ptr A, size_t r, size_t m, size_t n, size_t lda, RandIter &G) |
| Tests the LUdivine routine. More... | |
| template<class Field , FFLAS_DIAG diag, FFLAS_TRANSPOSE trans, class RandIter > | |
| bool | launch_test (const Field &F, size_t r, size_t m, size_t n, RandIter &G) |
| template<class Field > | |
| bool | run_with_field (Givaro::Integer q, uint64_t b, size_t m, size_t n, size_t r, size_t iters, uint64_t seed) |
| int | main (int argc, char **argv) |
Variables | |
| Givaro::Timer | tperm |
| Givaro::Timer | tgemm |
| Givaro::Timer | tBC |
| Givaro::Timer | ttrsm |
| Givaro::Timer | trest |
| Givaro::Timer | timtot |
| size_t | mvcnt = 0 |
| #define BASECASE_K 37 |
| #define __FFLASFFPACK_SEQUENTIAL |
| #define __LUDIVINE_CUTOFF 1 |
| bool test_LUdivine | ( | const Field & | F, |
| typename Field::ConstElement_ptr | A, | ||
| size_t | lda, | ||
| size_t | r, | ||
| size_t | m, | ||
| size_t | n | ||
| ) |
Tests the LUdivine routine.
| Field | Field |
| Diag | Unit diagonal in U |
| Trans |
| F | field |
| A | Matrix (preallocated) |
| r | rank of A |
| m | rows |
| n | cols |
| lda | leading dim of A |
| bool verifPLUQ | ( | const Field & | F, |
| typename Field::ConstElement_ptr | A, | ||
| size_t | lda, | ||
| typename Field::Element_ptr | PLUQ, | ||
| size_t | ldpluq, | ||
| size_t * | P, | ||
| size_t * | Q, | ||
| size_t | m, | ||
| size_t | n, | ||
| size_t | R | ||
| ) |
Verifies that B = PLUQ where A stores [L\U].
| Field | Field |
| Diag | Unit diagonal in U |
| F | field |
| A | Matrix (preallocated) |
| r | rank of A |
| m | rows |
| n | cols |
| lda | leading dim of A |
| bool test_pluq | ( | const Field & | F, |
| typename Field::ConstElement_ptr | A, | ||
| size_t | r, | ||
| size_t | m, | ||
| size_t | n, | ||
| size_t | lda, | ||
| RandIter & | G | ||
| ) |
Tests the LUdivine routine.
| Field | Field |
| Diag | Unit diagonal in U |
| Trans |
| F | field |
| A | Matrix (preallocated) |
| r | rank of A |
| m | rows |
| n | cols |
| lda | leading dim of A |
| bool launch_test | ( | const Field & | F, |
| size_t | r, | ||
| size_t | m, | ||
| size_t | n, | ||
| RandIter & | G | ||
| ) |
| bool run_with_field | ( | Givaro::Integer | q, |
| uint64_t | b, | ||
| size_t | m, | ||
| size_t | n, | ||
| size_t | r, | ||
| size_t | iters, | ||
| uint64_t | seed | ||
| ) |
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
| Givaro::Timer tperm |
| Givaro::Timer tgemm |
| Givaro::Timer tBC |
| Givaro::Timer ttrsm |
| Givaro::Timer trest |
| Givaro::Timer timtot |
| size_t mvcnt = 0 |