#include "benchmark_tests.h" #include #include int main() { vector> results_scalar; results_scalar.push_back(test_A(2000000, pow(10,3))); results_scalar.push_back(test_A(1000000, pow(10,4))); results_scalar.push_back(test_A(100000, pow(10,5))); results_scalar.push_back(test_A(10000, pow(10,6))); results_scalar.push_back(test_A(750, pow(10,7))); results_scalar.push_back(test_A(125, pow(10,8))); vector> results_sum; results_sum.push_back(test_A_sum(3000000, pow(10,3))); results_sum.push_back(test_A_sum(2000000, pow(10,4))); results_sum.push_back(test_A_sum(1000000, pow(10,5))); results_sum.push_back(test_A_sum(50000, pow(10,6))); results_sum.push_back(test_A_sum(2000, pow(10,7))); results_sum.push_back(test_A_sum(250, pow(10,8))); test_B(100, 20000, 10000); test_C(25, 500, 1000, 1500); test_D(100, 100, 1000000); cout << endl << "###### Scalar ######" << endl; cout << "Timing\tGFLOPS\tGiByte/s" << endl; cout << "------------------------------" << endl; for (size_t i = 0; i < results_scalar.size(); ++i) cout << results_scalar[i][0] << "\t" << results_scalar[i][1] << "\t" << results_scalar[i][2] << endl; cout << endl << "###### Sum ######" << endl; cout << "Timing\tGFLOPS\tGiByte/s" << endl; cout << "------------------------------" << endl; for (size_t i = 0; i < results_sum.size(); ++i) cout << results_sum[i][0] << "\t" << results_sum[i][1] << "\t" << results_sum[i][2] << endl; // ###### Scalar ###### // Timing GFLOPS GiByte/s // ------------------------------ // 3.4e-06 0.54 4.3 // 4.6e-06 4 32 // 1.6e-05 12 95 // 0.0011 1.7 13 // 0.0097 1.9 15 // 0.075 2.5 20 // ###### Sum ###### // Timing GFLOPS GiByte/s // ------------------------------ // 5.5e-06 0.17 1.3 // 5.4e-06 1.7 14 // 1.5e-05 6.1 49 // 0.00013 7.2 57 // 0.0033 2.8 23 // 0.032 2.9 23 // ######### NOT PARALLEL (from exercise sheet 2) ######### // Timing GFLOPS GiByte/s // ---------------------------------- // (A) 0.038 2.5 20 // (B) 0.13 2.9 23 // (C) 0.44 3.2 25 // (D) 0.19 1.5 12 return 0; }