//changed parrallel
#pragma omp parallel shared(crl, temp_zero, d)
{
-
+ #pragma omp for schedule(dynamic)
for (int i = tauS; i <= tauE; i += 1) {
std::vector< RVec > medx, medy;
RVec temp1, temp2;
float tmp;
medx.resize(traj.front().size(), temp_zero);
medy.resize(traj.front().size(), temp_zero);
- #pragma omp for schedule(dynamic)
+ //#pragma omp for schedule(dynamic)
for (int j = 0; j < traj.size() - i - 1; j++) {
for (int f = 0; f < traj.front().size(); f++) {
medx[f] += (traj[b_frame][f] - traj[j][f]);
medy[f] += (traj[b_frame][f] - traj[j + i][f]);
}
}
- #pragma omp barrier
- #pragma omp for schedule(dynamic)
+ //#pragma omp barrier
+ //#pragma omp for schedule(dynamic)
for (int j = 0; j < traj.front().size(); j++) {
tmp = traj.size() - 1;
tmp -= i;
medx[j] *= tmp;
medy[j] *= tmp;
}
- #pragma omp barrier
+ //#pragma omp barrier
std::vector< std::vector< float > > a, b, c;
a.resize(traj.front().size(), d);
b.resize(traj.front().size(), d);
c.resize(traj.front().size(), d);
for (int j = 0; j < traj.size() - i - 1; j++) {
for (int f1 = 0; f1 < traj.front().size(); f1++) {
- #pragma omp for schedule(dynamic)
+ //#pragma omp for schedule(dynamic)
for (int f2 = 0; f2 < traj.front().size(); f2++) {
temp1 = traj[b_frame][f1] - traj[j][f1] - medx[f1];
temp2 = traj[b_frame][f2] - traj[j + i][f2] - medy[f2];
b[f1][f2] += (temp1[0] * temp1[0] + temp1[1] * temp1[1] + temp1[2] * temp1[2]);
c[f1][f2] += (temp2[0] * temp2[0] + temp2[1] * temp2[1] + temp2[2] * temp2[2]);
}
- #pragma omp barrier
+ //#pragma omp barrier
}
}
- #pragma omp for schedule(dynamic)
+ //#pragma omp for schedule(dynamic)
for (int j = 0; j < traj.front().size(); j++) {
for (int f = 0; f < traj.front().size(); f++) {
crl[i][j][f] = a[j][f] / (std::sqrt(b[j][f] * c[j][f]));
}
}
- #pragma omp barrier
+ //#pragma omp barrier
medx.resize(0);
medy.resize(0);
std::cout << i << " corr done\n";
}
}
-
+ #pragma omp barrier
}
void graph_calculation(std::vector< std::vector< std::pair< float, int > > > &graph, std::vector< std::vector< int > > &s_graph, std::vector< std::vector< std::pair< int, int > > > &s_graph_rbr,