1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-09 23:45:36 +00:00

updated from cambridge mpi3 shakeout

This commit is contained in:
Peter Boyle 2017-08-25 11:41:01 +01:00
parent c3b1263e75
commit c289699d9a
3 changed files with 11 additions and 8 deletions

View File

@ -108,7 +108,7 @@ public:
static void Comms(void)
{
int Nloop=1000;
int Nloop=200;
int nmu=0;
int maxlat=32;
@ -197,7 +197,7 @@ public:
timestat.statistics(t_time);
// for(int i=0;i<t_time.size();i++){
// std::cout << i<<" "<<t_time[i]<<std::endl;
// std::cout << i<<" "<<t_time[i]<<std::endl;
// }
dbytes=dbytes*ppn;

View File

@ -312,8 +312,11 @@ public:
std::vector<std::vector<CommsRequest_t> > reqs;
this->HaloExchangeOptGather(source,compress);
double t1=usecond();
this->CommunicateBegin(reqs);
this->CommunicateComplete(reqs);
// Asynchronous MPI calls multidirectional, Isend etc...
// this->CommunicateBegin(reqs);
// this->CommunicateComplete(reqs);
// Non-overlapped directions within a thread. Asynchronous calls except MPI3, threaded up to comm threads ways.
this->Communicate();
double t2=usecond(); timer1 += t2-t1;
this->CommsMerge(compress);
double t3=usecond(); timer2 += t3-t2;

View File

@ -365,10 +365,10 @@ class CartesianStencil { // Stencil runs along coordinate axes only; NO diagonal
Prepare();
HaloGather(source,compress);
// Concurrent
CommunicateBegin(reqs);
CommunicateComplete(reqs);
// Sequential
// Communicate();
//CommunicateBegin(reqs);
//CommunicateComplete(reqs);
// Sequential, possibly threaded
Communicate();
CommsMergeSHM(compress);
CommsMerge(compress);
}