#include "matrix_multiplication.hpp" #include int N = 0; double **a = nullptr, **b = nullptr, **c = nullptr; void matrix_multiplication( const std::string& model, const unsigned num_threads, const unsigned num_rounds ) { std::cout << std::setw(12) << "size" << std::setw(12) << "runtime" << std::endl; for(int i=128; i<=1024; i += 32) { N = i; allocate_matrix(); double runtime {0.0}; for(unsigned j=0; jcheck([] (const std::string& m) { if(m != "tbb" && m != "tf" && m != "omp") { return "model name should be \"tbb\", \"omp\", or \"tf\""; } return ""; }); CLI11_PARSE(app, argc, argv); std::cout << "model=" << model << ' ' << "num_threads=" << num_threads << ' ' << "num_rounds=" << num_rounds << ' ' << std::endl; matrix_multiplication(model, num_threads, num_rounds); return 0; }