84 lines
2.3 KiB
C++
84 lines
2.3 KiB
C++
#include "benchmark_tests.h"
|
|
#include <iostream>
|
|
#include <cmath>
|
|
|
|
int main()
|
|
{
|
|
vector<vector<double>> 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<vector<double>> 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;
|
|
}
|