1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-09-20 01:05:38 +01:00

parallel_for elimination -> thread_loop

This commit is contained in:
paboyle 2018-01-28 01:01:36 +00:00
parent 70e276e1ab
commit 604c05f4b8
3 changed files with 11 additions and 18 deletions

View File

@ -156,7 +156,7 @@ public:
dbytes=0;
ncomm=0;
parallel_for(int dir=0;dir<8;dir++){
thread_loop( (int dir=0;dir<8;dir++),{
double tbytes;
int mu =dir % 4;
@ -175,18 +175,12 @@ public:
tbytes= Grid.StencilSendToRecvFrom((void *)&xbuf[dir][0], xmit_to_rank,
(void *)&rbuf[dir][0], recv_from_rank,
bytes,dir);
#ifdef GRID_OMP
#pragma omp atomic
#endif
ncomm++;
#ifdef GRID_OMP
#pragma omp atomic
#endif
dbytes+=tbytes;
thread_critical {
ncomm++;
dbytes+=tbytes;
}
}
}
});
Grid.Barrier();
double stop=usecond();
t_time[i] = stop-start; // microseconds

View File

@ -485,7 +485,7 @@ int main (int argc, char ** argv)
dbytes=0;
ncomm=0;
parallel_for(int dir=0;dir<8;dir++){
thread_loop( (int dir=0;dir<8;dir++),{
double tbytes;
int mu =dir % 4;
@ -506,10 +506,9 @@ int main (int argc, char ** argv)
tbytes= Grid.StencilSendToRecvFrom((void *)&xbuf[dir][0], xmit_to_rank,
(void *)&rbuf[dir][0], recv_from_rank, bytes,dir);
#pragma omp atomic
dbytes+=tbytes;
thread_critical { dbytes+=tbytes; }
}
}
});
Grid.Barrier();
double stop=usecond();
t_time[i] = stop-start; // microseconds

View File

@ -78,7 +78,7 @@ int main (int argc, char ** argv)
}
double start=usecond();
parallel_for(int t=0;t<threads;t++){
thread_loop( (int t=0;t<threads;t++),{
sum[t] = x[t][0];
for(int i=0;i<Nloop;i++){
@ -87,7 +87,7 @@ int main (int argc, char ** argv)
}
}
stop[t]=usecond();
}
});
double max_stop=stop[0];
double min_stop=stop[0];