ergo
|
Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation. More...
#include <cstdio>
#include <cstdlib>
#include <vector>
#include "realtype.h"
#include "utilities.h"
#include "mat_gblas.h"
Functions | |
static void | fill_matrix_with_random_numbers (int n, std::vector< ergo_real > &A) |
static void | do_naive_mmul (std::vector< ergo_real > &C, const std::vector< ergo_real > &A, const std::vector< ergo_real > &B, int n) |
static void | verify_mmul_result (const std::vector< ergo_real > &A, const std::vector< ergo_real > &B, const std::vector< ergo_real > &C, int n) |
ergo_real | compare_matrices (const std::vector< ergo_real > &A, const std::vector< ergo_real > &B, int n) |
int | main (int argc, char *argv[]) |
Tests and measures timings for matrix-matrix multiplication using BLAS and compares to a naive implementation.
The idea is to run this linking to different BLAS variants with and without threading inside the BLAS gemm routine, to see how much speedup can be achieved from threading.
ergo_real compare_matrices | ( | const std::vector< ergo_real > & | A, |
const std::vector< ergo_real > & | B, | ||
int | n | ||
) |
References A, B, and template_blas_fabs().
Referenced by main().
|
static |
int main | ( | int | argc, |
char * | argv[] | ||
) |