mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 05:54:32 +00:00 
			
		
		
		
	Better run time on KNC
This commit is contained in:
		@@ -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();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user