mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-09 23:45:36 +00:00
Tracing replaces self timing hooks
This commit is contained in:
parent
5abb19eab0
commit
cd5cf6d614
@ -420,7 +420,6 @@ public:
|
|||||||
FGrid->Broadcast(0,&ncall,sizeof(ncall));
|
FGrid->Broadcast(0,&ncall,sizeof(ncall));
|
||||||
|
|
||||||
// std::cout << GridLogMessage << " Estimate " << ncall << " calls per second"<<std::endl;
|
// std::cout << GridLogMessage << " Estimate " << ncall << " calls per second"<<std::endl;
|
||||||
Dw.ZeroCounters();
|
|
||||||
|
|
||||||
time_statistics timestat;
|
time_statistics timestat;
|
||||||
std::vector<double> t_time(ncall);
|
std::vector<double> t_time(ncall);
|
||||||
@ -589,7 +588,6 @@ public:
|
|||||||
FGrid->Broadcast(0,&ncall,sizeof(ncall));
|
FGrid->Broadcast(0,&ncall,sizeof(ncall));
|
||||||
|
|
||||||
// std::cout << GridLogMessage << " Estimate " << ncall << " calls per second"<<std::endl;
|
// std::cout << GridLogMessage << " Estimate " << ncall << " calls per second"<<std::endl;
|
||||||
Ds.ZeroCounters();
|
|
||||||
|
|
||||||
time_statistics timestat;
|
time_statistics timestat;
|
||||||
std::vector<double> t_time(ncall);
|
std::vector<double> t_time(ncall);
|
||||||
|
@ -186,7 +186,6 @@ int main (int argc, char ** argv)
|
|||||||
|
|
||||||
if (1) {
|
if (1) {
|
||||||
FGrid->Barrier();
|
FGrid->Barrier();
|
||||||
Dw.ZeroCounters();
|
|
||||||
Dw.Dhop(src,result,0);
|
Dw.Dhop(src,result,0);
|
||||||
std::cout<<GridLogMessage<<"Called warmup"<<std::endl;
|
std::cout<<GridLogMessage<<"Called warmup"<<std::endl;
|
||||||
double t0=usecond();
|
double t0=usecond();
|
||||||
@ -231,7 +230,6 @@ int main (int argc, char ** argv)
|
|||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
assert (norm2(err)< 1.0e-4 );
|
assert (norm2(err)< 1.0e-4 );
|
||||||
Dw.Report();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (1)
|
if (1)
|
||||||
@ -306,7 +304,6 @@ int main (int argc, char ** argv)
|
|||||||
if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptInlineAsm ) std::cout << GridLogMessage<< "* Using Asm Nc=3 WilsonKernels" <<std::endl;
|
if ( WilsonKernelsStatic::Opt == WilsonKernelsStatic::OptInlineAsm ) std::cout << GridLogMessage<< "* Using Asm Nc=3 WilsonKernels" <<std::endl;
|
||||||
std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
|
std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
|
||||||
{
|
{
|
||||||
Dw.ZeroCounters();
|
|
||||||
FGrid->Barrier();
|
FGrid->Barrier();
|
||||||
Dw.DhopEO(src_o,r_e,DaggerNo);
|
Dw.DhopEO(src_o,r_e,DaggerNo);
|
||||||
double t0=usecond();
|
double t0=usecond();
|
||||||
@ -328,7 +325,6 @@ int main (int argc, char ** argv)
|
|||||||
std::cout<<GridLogMessage << "Deo mflop/s = "<< flops/(t1-t0)<<std::endl;
|
std::cout<<GridLogMessage << "Deo mflop/s = "<< flops/(t1-t0)<<std::endl;
|
||||||
std::cout<<GridLogMessage << "Deo mflop/s per rank "<< flops/(t1-t0)/NP<<std::endl;
|
std::cout<<GridLogMessage << "Deo mflop/s per rank "<< flops/(t1-t0)/NP<<std::endl;
|
||||||
std::cout<<GridLogMessage << "Deo mflop/s per node "<< flops/(t1-t0)/NN<<std::endl;
|
std::cout<<GridLogMessage << "Deo mflop/s per node "<< flops/(t1-t0)/NN<<std::endl;
|
||||||
Dw.Report();
|
|
||||||
}
|
}
|
||||||
Dw.DhopEO(src_o,r_e,DaggerNo);
|
Dw.DhopEO(src_o,r_e,DaggerNo);
|
||||||
Dw.DhopOE(src_e,r_o,DaggerNo);
|
Dw.DhopOE(src_e,r_o,DaggerNo);
|
||||||
|
@ -93,7 +93,6 @@ int main (int argc, char ** argv)
|
|||||||
int ncall =1000;
|
int ncall =1000;
|
||||||
if (1) {
|
if (1) {
|
||||||
FGrid->Barrier();
|
FGrid->Barrier();
|
||||||
Dw.ZeroCounters();
|
|
||||||
Dw.Dhop(src,result,0);
|
Dw.Dhop(src,result,0);
|
||||||
std::cout<<GridLogMessage<<"Called warmup"<<std::endl;
|
std::cout<<GridLogMessage<<"Called warmup"<<std::endl;
|
||||||
double t0=usecond();
|
double t0=usecond();
|
||||||
@ -112,7 +111,6 @@ int main (int argc, char ** argv)
|
|||||||
std::cout<<GridLogMessage << "mflop/s = "<< flops/(t1-t0)<<std::endl;
|
std::cout<<GridLogMessage << "mflop/s = "<< flops/(t1-t0)<<std::endl;
|
||||||
std::cout<<GridLogMessage << "mflop/s per rank = "<< flops/(t1-t0)/NP<<std::endl;
|
std::cout<<GridLogMessage << "mflop/s per rank = "<< flops/(t1-t0)/NP<<std::endl;
|
||||||
std::cout<<GridLogMessage << "mflop/s per node = "<< flops/(t1-t0)/NN<<std::endl;
|
std::cout<<GridLogMessage << "mflop/s per node = "<< flops/(t1-t0)/NN<<std::endl;
|
||||||
Dw.Report();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -134,7 +132,6 @@ int main (int argc, char ** argv)
|
|||||||
GparityDomainWallFermionD DwD(Umu_d,*FGrid_d,*FrbGrid_d,*UGrid_d,*UrbGrid_d,mass,M5);
|
GparityDomainWallFermionD DwD(Umu_d,*FGrid_d,*FrbGrid_d,*UGrid_d,*UrbGrid_d,mass,M5);
|
||||||
if (1) {
|
if (1) {
|
||||||
FGrid_d->Barrier();
|
FGrid_d->Barrier();
|
||||||
DwD.ZeroCounters();
|
|
||||||
DwD.Dhop(src_d,result_d,0);
|
DwD.Dhop(src_d,result_d,0);
|
||||||
std::cout<<GridLogMessage<<"Called warmup"<<std::endl;
|
std::cout<<GridLogMessage<<"Called warmup"<<std::endl;
|
||||||
double t0=usecond();
|
double t0=usecond();
|
||||||
@ -153,7 +150,6 @@ int main (int argc, char ** argv)
|
|||||||
std::cout<<GridLogMessage << "mflop/s = "<< flops/(t1-t0)<<std::endl;
|
std::cout<<GridLogMessage << "mflop/s = "<< flops/(t1-t0)<<std::endl;
|
||||||
std::cout<<GridLogMessage << "mflop/s per rank = "<< flops/(t1-t0)/NP<<std::endl;
|
std::cout<<GridLogMessage << "mflop/s per rank = "<< flops/(t1-t0)/NP<<std::endl;
|
||||||
std::cout<<GridLogMessage << "mflop/s per node = "<< flops/(t1-t0)/NN<<std::endl;
|
std::cout<<GridLogMessage << "mflop/s per node = "<< flops/(t1-t0)/NN<<std::endl;
|
||||||
DwD.Report();
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Grid_finalize();
|
Grid_finalize();
|
||||||
|
@ -103,35 +103,30 @@ int main (int argc, char ** argv)
|
|||||||
#define BENCH_DW(A,...) \
|
#define BENCH_DW(A,...) \
|
||||||
Dw. A (__VA_ARGS__); \
|
Dw. A (__VA_ARGS__); \
|
||||||
FGrid->Barrier(); \
|
FGrid->Barrier(); \
|
||||||
Dw.CayleyZeroCounters(); \
|
|
||||||
t0=usecond(); \
|
t0=usecond(); \
|
||||||
for(int i=0;i<ncall;i++){ \
|
for(int i=0;i<ncall;i++){ \
|
||||||
Dw. A (__VA_ARGS__); \
|
Dw. A (__VA_ARGS__); \
|
||||||
} \
|
} \
|
||||||
t1=usecond(); \
|
t1=usecond(); \
|
||||||
FGrid->Barrier(); \
|
FGrid->Barrier(); \
|
||||||
Dw.CayleyReport(); \
|
|
||||||
std::cout<<GridLogMessage << "Called " #A " "<< (t1-t0)/ncall<<" us"<<std::endl;\
|
std::cout<<GridLogMessage << "Called " #A " "<< (t1-t0)/ncall<<" us"<<std::endl;\
|
||||||
std::cout<<GridLogMessage << "******************"<<std::endl;
|
std::cout<<GridLogMessage << "******************"<<std::endl;
|
||||||
|
|
||||||
#define BENCH_ZDW(A,in,out) \
|
#define BENCH_ZDW(A,in,out) \
|
||||||
zDw. A (in,out); \
|
zDw. A (in,out); \
|
||||||
FGrid->Barrier(); \
|
FGrid->Barrier(); \
|
||||||
zDw.CayleyZeroCounters(); \
|
|
||||||
t0=usecond(); \
|
t0=usecond(); \
|
||||||
for(int i=0;i<ncall;i++){ \
|
for(int i=0;i<ncall;i++){ \
|
||||||
zDw. A (in,out); \
|
zDw. A (in,out); \
|
||||||
} \
|
} \
|
||||||
t1=usecond(); \
|
t1=usecond(); \
|
||||||
FGrid->Barrier(); \
|
FGrid->Barrier(); \
|
||||||
zDw.CayleyReport(); \
|
|
||||||
std::cout<<GridLogMessage << "Called ZDw " #A " "<< (t1-t0)/ncall<<" us"<<std::endl;\
|
std::cout<<GridLogMessage << "Called ZDw " #A " "<< (t1-t0)/ncall<<" us"<<std::endl;\
|
||||||
std::cout<<GridLogMessage << "******************"<<std::endl;
|
std::cout<<GridLogMessage << "******************"<<std::endl;
|
||||||
|
|
||||||
#define BENCH_DW_SSC(A,in,out) \
|
#define BENCH_DW_SSC(A,in,out) \
|
||||||
Dw. A (in,out); \
|
Dw. A (in,out); \
|
||||||
FGrid->Barrier(); \
|
FGrid->Barrier(); \
|
||||||
Dw.CayleyZeroCounters(); \
|
|
||||||
t0=usecond(); \
|
t0=usecond(); \
|
||||||
for(int i=0;i<ncall;i++){ \
|
for(int i=0;i<ncall;i++){ \
|
||||||
__SSC_START ; \
|
__SSC_START ; \
|
||||||
@ -140,7 +135,6 @@ int main (int argc, char ** argv)
|
|||||||
} \
|
} \
|
||||||
t1=usecond(); \
|
t1=usecond(); \
|
||||||
FGrid->Barrier(); \
|
FGrid->Barrier(); \
|
||||||
Dw.CayleyReport(); \
|
|
||||||
std::cout<<GridLogMessage << "Called " #A " "<< (t1-t0)/ncall<<" us"<<std::endl;\
|
std::cout<<GridLogMessage << "Called " #A " "<< (t1-t0)/ncall<<" us"<<std::endl;\
|
||||||
std::cout<<GridLogMessage << "******************"<<std::endl;
|
std::cout<<GridLogMessage << "******************"<<std::endl;
|
||||||
|
|
||||||
|
@ -155,7 +155,6 @@ int main (int argc, char ** argv)
|
|||||||
//int ncall=1;
|
//int ncall=1;
|
||||||
|
|
||||||
// Counters
|
// Counters
|
||||||
Dw.ZeroCounters();
|
|
||||||
Grid.Barrier();
|
Grid.Barrier();
|
||||||
|
|
||||||
double t0=usecond();
|
double t0=usecond();
|
||||||
@ -201,7 +200,6 @@ int main (int argc, char ** argv)
|
|||||||
err = ref-result;
|
err = ref-result;
|
||||||
std::cout<<GridLogMessage << "norm diff "<< norm2(err)<<std::endl;
|
std::cout<<GridLogMessage << "norm diff "<< norm2(err)<<std::endl;
|
||||||
|
|
||||||
Dw.Report();
|
|
||||||
|
|
||||||
// guard
|
// guard
|
||||||
double err0 = norm2(err);
|
double err0 = norm2(err);
|
||||||
|
Loading…
Reference in New Issue
Block a user