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

Better run time on KNC

This commit is contained in:
paboyle 2015-11-04 03:25:34 -08:00
parent 4a41c885ed
commit 32762346ad

View File

@ -28,7 +28,7 @@ int main (int argc, char ** argv)
std::cout<<GridLogMessage << " L "<<"\t\t"<<"bytes"<<"\t\t\t"<<"GB/s"<<"\t\t"<<"Gflop/s"<<"\t\t seconds"<<std::endl; std::cout<<GridLogMessage << " L "<<"\t\t"<<"bytes"<<"\t\t\t"<<"GB/s"<<"\t\t"<<"Gflop/s"<<"\t\t seconds"<<std::endl;
std::cout<<GridLogMessage << "----------------------------------------------------------"<<std::endl; std::cout<<GridLogMessage << "----------------------------------------------------------"<<std::endl;
uint64_t lmax=44; uint64_t lmax=44;
#define NLOOP (100*lmax*lmax*lmax*lmax/vol) #define NLOOP (1*lmax*lmax*lmax*lmax/vol)
for(int lat=4;lat<=lmax;lat+=4){ for(int lat=4;lat<=lmax;lat+=4){
std::vector<int> latt_size ({lat*mpi_layout[0],lat*mpi_layout[1],lat*mpi_layout[2],lat*mpi_layout[3]}); std::vector<int> latt_size ({lat*mpi_layout[0],lat*mpi_layout[1],lat*mpi_layout[2],lat*mpi_layout[3]});
@ -37,11 +37,11 @@ int main (int argc, char ** argv)
uint64_t Nloop=NLOOP; uint64_t Nloop=NLOOP;
GridParallelRNG pRNG(&Grid); pRNG.SeedRandomDevice(); // GridParallelRNG pRNG(&Grid); pRNG.SeedRandomDevice();
LatticeVec z(&Grid); random(pRNG,z); LatticeVec z(&Grid); //random(pRNG,z);
LatticeVec x(&Grid); random(pRNG,x); LatticeVec x(&Grid); //random(pRNG,x);
LatticeVec y(&Grid); random(pRNG,y); LatticeVec y(&Grid); //random(pRNG,y);
double a=2.0; double a=2.0;
@ -72,11 +72,11 @@ int main (int argc, char ** argv)
int vol = latt_size[0]*latt_size[1]*latt_size[2]*latt_size[3]; int vol = latt_size[0]*latt_size[1]*latt_size[2]*latt_size[3];
GridCartesian Grid(latt_size,simd_layout,mpi_layout); GridCartesian Grid(latt_size,simd_layout,mpi_layout);
GridParallelRNG pRNG(&Grid); pRNG.SeedRandomDevice(); // GridParallelRNG pRNG(&Grid); pRNG.SeedRandomDevice();
LatticeVec z(&Grid); random(pRNG,z); LatticeVec z(&Grid); //random(pRNG,z);
LatticeVec x(&Grid); random(pRNG,x); LatticeVec x(&Grid); //random(pRNG,x);
LatticeVec y(&Grid); random(pRNG,y); LatticeVec y(&Grid); //random(pRNG,y);
double a=2.0; double a=2.0;
uint64_t Nloop=NLOOP; uint64_t Nloop=NLOOP;
@ -110,11 +110,11 @@ int main (int argc, char ** argv)
GridCartesian Grid(latt_size,simd_layout,mpi_layout); GridCartesian Grid(latt_size,simd_layout,mpi_layout);
GridParallelRNG pRNG(&Grid); pRNG.SeedRandomDevice(); // GridParallelRNG pRNG(&Grid); pRNG.SeedRandomDevice();
LatticeVec z(&Grid); random(pRNG,z); LatticeVec z(&Grid); //random(pRNG,z);
LatticeVec x(&Grid); random(pRNG,x); LatticeVec x(&Grid); //random(pRNG,x);
LatticeVec y(&Grid); random(pRNG,y); LatticeVec y(&Grid); //random(pRNG,y);
RealD a=2.0; RealD a=2.0;
@ -145,10 +145,10 @@ int main (int argc, char ** argv)
uint64_t Nloop=NLOOP; uint64_t Nloop=NLOOP;
GridCartesian Grid(latt_size,simd_layout,mpi_layout); GridCartesian Grid(latt_size,simd_layout,mpi_layout);
GridParallelRNG pRNG(&Grid); pRNG.SeedRandomDevice(); // GridParallelRNG pRNG(&Grid); pRNG.SeedRandomDevice();
LatticeVec z(&Grid); random(pRNG,z); LatticeVec z(&Grid); //random(pRNG,z);
LatticeVec x(&Grid); random(pRNG,x); LatticeVec x(&Grid); //random(pRNG,x);
LatticeVec y(&Grid); random(pRNG,y); LatticeVec y(&Grid); //random(pRNG,y);
RealD a=2.0; RealD a=2.0;
Real nn; Real nn;
double start=usecond(); double start=usecond();