sheet 5
This commit is contained in:
parent
6fb3c9f65d
commit
54e82629a7
5 changed files with 801 additions and 0 deletions
73
Sheet_5/bsp_5_2/main.cpp
Normal file
73
Sheet_5/bsp_5_2/main.cpp
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
#include "bsp_5_2_lib.h"
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
using namespace std;
|
||||
// BSP 5_2
|
||||
|
||||
int main()
|
||||
{
|
||||
const string name1("data_1.txt"); // name of input file
|
||||
const string name2("out.txt"); // name of output file
|
||||
vector<int> v;
|
||||
|
||||
read_vector_from_file(name1, v);
|
||||
|
||||
float a, g, h, d, aex, gex, hex, dex, minvex, maxvex, control1(0);
|
||||
int minvp, maxvp, control2(0);
|
||||
|
||||
int NLOOPS = 100000;
|
||||
|
||||
// testing parallel
|
||||
double tstart1 = omp_get_wtime();
|
||||
for(int i=0; i<NLOOPS; ++i)
|
||||
{
|
||||
meandevvec(v,a,g,h,d);
|
||||
minmaxvec(v,minvp,maxvp);
|
||||
control1 += a;
|
||||
control2 += minvp;
|
||||
}
|
||||
double t1all = omp_get_wtime() - tstart1;
|
||||
double t1 = t1all/NLOOPS;
|
||||
|
||||
// testing execution policies
|
||||
double tstart2 = omp_get_wtime();
|
||||
for(int i=0; i<NLOOPS; ++i)
|
||||
{
|
||||
meandevmaxminvec(v,aex,gex,hex,dex,minvex,maxvex);
|
||||
control1 += aex;
|
||||
control2 += minvex;
|
||||
}
|
||||
double t2all = omp_get_wtime() - tstart2;
|
||||
double t2 = t2all/NLOOPS;
|
||||
|
||||
cout << "\nTiming for parallel\n";
|
||||
cout << "Timing NLOOPS: " << t1all << endl;
|
||||
cout << "Timing per it. (sec): " << t1 << endl;
|
||||
|
||||
cout << "\n\nTiming for execution policies\n";
|
||||
cout << "Timing NLOOPS: " << t2all << endl;
|
||||
cout << "Timing per it. (sec): " << t2 << endl;
|
||||
|
||||
|
||||
cout << "\n\nAuswertung (parallel)" << endl;
|
||||
cout << "arithmetisches Mittel: " << a << endl;
|
||||
cout << "geometrisches Mittel: " << g << endl;
|
||||
cout << "harmonisches Mittel: " << h << endl;
|
||||
cout << "standard deviation: " << d << endl;
|
||||
cout << "Minimum: " << minvp << endl;
|
||||
cout << "Maximum: " << maxvp << endl;
|
||||
|
||||
cout << endl;
|
||||
cout << "\nAuswertung (execution policies)" << endl;
|
||||
cout << "arithmetisches Mittel: " << aex << endl;
|
||||
cout << "geometrisches Mittel: " << gex << endl;
|
||||
cout << "harmonisches Mittel: " << hex << endl;
|
||||
cout << "standard deviation: " << dex << endl;
|
||||
cout << "Minimum: " << minvex << endl;
|
||||
cout << "Maximum: " << maxvex << endl;
|
||||
|
||||
vector<float> ve{a,g,h,d,minvp,maxvp};
|
||||
write_vector_to_file(name2, ve);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue