mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-13 01:05:36 +00:00
updated from cambridge mpi3 shakeout
This commit is contained in:
parent
c3b1263e75
commit
c289699d9a
@ -108,7 +108,7 @@ public:
|
|||||||
|
|
||||||
static void Comms(void)
|
static void Comms(void)
|
||||||
{
|
{
|
||||||
int Nloop=1000;
|
int Nloop=200;
|
||||||
int nmu=0;
|
int nmu=0;
|
||||||
int maxlat=32;
|
int maxlat=32;
|
||||||
|
|
||||||
@ -197,7 +197,7 @@ public:
|
|||||||
|
|
||||||
timestat.statistics(t_time);
|
timestat.statistics(t_time);
|
||||||
// for(int i=0;i<t_time.size();i++){
|
// 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;
|
dbytes=dbytes*ppn;
|
||||||
|
@ -312,8 +312,11 @@ public:
|
|||||||
std::vector<std::vector<CommsRequest_t> > reqs;
|
std::vector<std::vector<CommsRequest_t> > reqs;
|
||||||
this->HaloExchangeOptGather(source,compress);
|
this->HaloExchangeOptGather(source,compress);
|
||||||
double t1=usecond();
|
double t1=usecond();
|
||||||
this->CommunicateBegin(reqs);
|
// Asynchronous MPI calls multidirectional, Isend etc...
|
||||||
this->CommunicateComplete(reqs);
|
// 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;
|
double t2=usecond(); timer1 += t2-t1;
|
||||||
this->CommsMerge(compress);
|
this->CommsMerge(compress);
|
||||||
double t3=usecond(); timer2 += t3-t2;
|
double t3=usecond(); timer2 += t3-t2;
|
||||||
|
@ -365,10 +365,10 @@ class CartesianStencil { // Stencil runs along coordinate axes only; NO diagonal
|
|||||||
Prepare();
|
Prepare();
|
||||||
HaloGather(source,compress);
|
HaloGather(source,compress);
|
||||||
// Concurrent
|
// Concurrent
|
||||||
CommunicateBegin(reqs);
|
//CommunicateBegin(reqs);
|
||||||
CommunicateComplete(reqs);
|
//CommunicateComplete(reqs);
|
||||||
// Sequential
|
// Sequential, possibly threaded
|
||||||
// Communicate();
|
Communicate();
|
||||||
CommsMergeSHM(compress);
|
CommsMergeSHM(compress);
|
||||||
CommsMerge(compress);
|
CommsMerge(compress);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user