1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-13 20:57:06 +01:00

Serialisation in malloc fixed

This commit is contained in:
paboyle
2016-11-29 22:27:55 +00:00
parent 2f92b4860b
commit bd0430b34f
5 changed files with 128 additions and 98 deletions

View File

@ -70,7 +70,7 @@ int main (int argc, char ** argv)
if (1)
{
const int ncall=100;
const int ncall=1000;
std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
std::cout << GridLogMessage<< "* Benchmarking DomainWallFermionR::Dhop "<<std::endl;
@ -81,18 +81,7 @@ int main (int argc, char ** argv)
LatticeFermion result(FGrid);
DomainWallFermionR Dw(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5);
FGrid->Barrier();
double t0,t1;
t0=usecond();
for(int i=0;i<ncall;i++){
Dw.Dhop(src,result,0);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called Dhop "<< (t1-t0)/ncall<<" us"<<std::endl;
LatticeFermion r_eo(FGrid);
LatticeFermion src_e (FrbGrid);
@ -109,48 +98,44 @@ int main (int argc, char ** argv)
r_e = zero;
r_o = zero;
FGrid->Barrier();
t0=usecond();
for (int i = 0; i < ncall; i++) {
Dw.DhopEO(src_o, r_e, DaggerNo);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called DhopEO "<< (t1-t0)/ncall<<" us"<<std::endl;
FGrid->Barrier();
t0=usecond();
for (int i = 0; i < ncall; i++) {
Dw.Mooee(src_o, r_o);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called Mooee "<< (t1-t0)/ncall<<" us"<<std::endl;
#define BENCH_DW(A,in,out) \
Dw.CayleyZeroCounters(); \
FGrid->Barrier(); \
t0=usecond(); \
for(int i=0;i<ncall;i++){ \
Dw. A (in,out); \
} \
t1=usecond(); \
FGrid->Barrier(); \
Dw.CayleyReport(); \
std::cout<<GridLogMessage << "Called " #A " "<< (t1-t0)/ncall<<" us"<<std::endl;\
std::cout<<GridLogMessage << "******************"<<std::endl;
FGrid->Barrier();
t0=usecond();
for (int i = 0; i < ncall; i++) {
Dw.MooeeInv(src_o, r_o);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called MooeeInv "<< (t1-t0)/ncall<<" us"<<std::endl;
#define BENCH_DW_MEO(A,in,out) \
Dw.CayleyZeroCounters(); \
FGrid->Barrier(); \
t0=usecond(); \
for(int i=0;i<ncall;i++){ \
Dw. A (in,out,0); \
} \
t1=usecond(); \
FGrid->Barrier(); \
Dw.CayleyReport(); \
std::cout<<GridLogMessage << "Called " #A " "<< (t1-t0)/ncall<<" us"<<std::endl;\
std::cout<<GridLogMessage << "******************"<<std::endl;
FGrid->Barrier();
t0=usecond();
for (int i = 0; i < ncall; i++) {
Dw.Meooe(src_o, r_e);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called Meooe "<< (t1-t0)/ncall<<" us"<<std::endl;
BENCH_DW_MEO(Dhop ,src,result);
BENCH_DW_MEO(DhopEO ,src_o,r_e);
BENCH_DW(Meooe ,src_o,r_e);
BENCH_DW(Mooee ,src_o,r_o);
BENCH_DW(MooeeInv,src_o,r_o);
}
if (1)
{
const int ncall=100;
const int ncall=1000;
std::cout << GridLogMessage<< "*********************************************************" <<std::endl;
std::cout << GridLogMessage<< "* Benchmarking DomainWallFermionVec5dR::Dhop "<<std::endl;
@ -168,14 +153,6 @@ int main (int argc, char ** argv)
FGrid->Barrier();
double t0,t1;
t0=usecond();
for(int i=0;i<ncall;i++){
Dw.Dhop(src,result,0);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called Vec5D Dhop "<< (t1-t0)/ncall<<" us"<<std::endl;
LatticeFermion r_eo(sFGrid);
LatticeFermion src_e (sFrbGrid);
@ -192,46 +169,13 @@ int main (int argc, char ** argv)
r_e = zero;
r_o = zero;
FGrid->Barrier();
t0=usecond();
for (int i = 0; i < ncall; i++) {
Dw.DhopEO(src_o, r_e, DaggerNo);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called Vec5D DhopEO "<< (t1-t0)/ncall<<" us"<<std::endl;
FGrid->Barrier();
t0=usecond();
for (int i = 0; i < ncall; i++) {
Dw.Mooee(src_o, r_o);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called Vec5D Mooee "<< (t1-t0)/ncall<<" us"<<std::endl;
FGrid->Barrier();
t0=usecond();
for (int i = 0; i < ncall; i++) {
Dw.MooeeInv(src_o, r_o);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called Vec5D MooeeInv "<< (t1-t0)/ncall<<" us"<<std::endl;
FGrid->Barrier();
t0=usecond();
for (int i = 0; i < ncall; i++) {
Dw.Meooe(src_o, r_e);
}
t1=usecond();
FGrid->Barrier();
std::cout<<GridLogMessage << "Called Vec5D Meooe "<< (t1-t0)/ncall<<" us"<<std::endl;
BENCH_DW_MEO(Dhop ,src,result);
BENCH_DW_MEO(DhopEO ,src_o,r_e);
BENCH_DW(Meooe ,src_o,r_e);
BENCH_DW(Mooee ,src_o,r_o);
BENCH_DW(MooeeInv,src_o,r_o);
}
Grid_finalize();
}