Performs some matrix-matrix multiplication operations and outputs timings. More...
#include <stdio.h>#include <unistd.h>#include <memory>#include <limits>#include "matrix_typedefs.h"#include "matrix_utilities.h"#include "utilities.h"#include "config.h"Functions | |
| static void | get_random_matrix_full (int n, std::vector< ergo_real > &fullMat) |
| static void | get_matrix_from_full (normalMatrix &result, mat::SizesAndBlocks sizeBlockInfo, const std::vector< ergo_real > &fullMat) |
| static void | verify_mmul_result (int n, const std::vector< ergo_real > &fullMat_A, const std::vector< ergo_real > &fullMat_B, const normalMatrix &C) |
| int | main (int argc, char *argv[]) |
Performs some matrix-matrix multiplication operations and outputs timings.
The point is to show how different block sizes affects the performance of matrix-matrix multiplication using the hierarchic matrix library.
| static void get_matrix_from_full | ( | normalMatrix & | result, | |
| mat::SizesAndBlocks | sizeBlockInfo, | |||
| const std::vector< ergo_real > & | fullMat | |||
| ) | [static] |
| static void get_random_matrix_full | ( | int | n, | |
| std::vector< ergo_real > & | fullMat | |||
| ) | [static] |
Referenced by main().
| int main | ( | int | argc, | |
| char * | argv[] | |||
| ) |
References A, B, get_matrix_from_full(), get_random_matrix_full(), Util::TimeMeter::get_start_time_wall_seconds(), Util::TimeMeter::get_wall_seconds(), mat::Params::getMatrixParallelLevel(), mat::Params::getNProcs(), prepareMatrixSizesAndBlocks(), mat::Params::setMatrixParallelLevel(), mat::Params::setNProcs(), and verify_mmul_result().
| static void verify_mmul_result | ( | int | n, | |
| const std::vector< ergo_real > & | fullMat_A, | |||
| const std::vector< ergo_real > & | fullMat_B, | |||
| const normalMatrix & | C | |||
| ) | [static] |
References template_blas_fabs().
Referenced by main().
1.6.1