mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 14:04:32 +00:00 
			
		
		
		
	Coordinate handling gpu friendly
This commit is contained in:
		@@ -490,7 +490,7 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
  std::vector<int> block ({2,2,2,2});
 | 
					  std::vector<int> block ({2,2,2,2});
 | 
				
			||||||
  const int nbasis= 32;
 | 
					  const int nbasis= 32;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> clatt = GridDefaultLatt();
 | 
					  auto clatt = GridDefaultLatt();
 | 
				
			||||||
  for(int d=0;d<clatt.size();d++){
 | 
					  for(int d=0;d<clatt.size();d++){
 | 
				
			||||||
    clatt[d] = clatt[d]/block[d];
 | 
					    clatt[d] = clatt[d]/block[d];
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,10 +42,10 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  std::vector<int> mpi_split (mpi_layout.size(),1);
 | 
					  Coordinate mpi_split (mpi_layout.size(),1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
 | 
					  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
 | 
				
			||||||
  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
 | 
					  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,10 +42,10 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  std::vector<int> mpi_split (mpi_layout.size(),1);
 | 
					  Coordinate mpi_split (mpi_layout.size(),1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), 
 | 
					  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), 
 | 
				
			||||||
								   GridDefaultSimd(Nd,vComplex::Nsimd()),
 | 
													   GridDefaultSimd(Nd,vComplex::Nsimd()),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,10 +42,10 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  std::vector<int> mpi_split (mpi_layout.size(),1);
 | 
					  Coordinate mpi_split (mpi_layout.size(),1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), 
 | 
					  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), 
 | 
				
			||||||
								   GridDefaultSimd(Nd,vComplex::Nsimd()),
 | 
													   GridDefaultSimd(Nd,vComplex::Nsimd()),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,9 +36,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
					  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
				
			||||||
  GridRedBlackCartesian     RBGrid(&Grid);
 | 
					  GridRedBlackCartesian     RBGrid(&Grid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,10 +42,10 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  std::vector<int> mpi_split (mpi_layout.size(),1);
 | 
					  Coordinate mpi_split (mpi_layout.size(),1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
 | 
					  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
 | 
				
			||||||
  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
 | 
					  GridCartesian         * FGrid   = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,9 +54,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
 | 
					  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
 | 
				
			||||||
  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
 | 
					  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,9 +54,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
 | 
					  GridCartesian         * UGrid   = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
 | 
				
			||||||
  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
 | 
					  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,9 +52,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
					  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
				
			||||||
  GridRedBlackCartesian     RBGrid(&Grid);
 | 
					  GridRedBlackCartesian     RBGrid(&Grid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -49,9 +49,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
  typename ImprovedStaggeredFermionR::ImplParams params; 
 | 
					  typename ImprovedStaggeredFermionR::ImplParams params; 
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
					  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
				
			||||||
  GridRedBlackCartesian     RBGrid(&Grid);
 | 
					  GridRedBlackCartesian     RBGrid(&Grid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,9 +53,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
					  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
				
			||||||
  GridRedBlackCartesian     RBGrid(&Grid);
 | 
					  GridRedBlackCartesian     RBGrid(&Grid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,9 +48,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
					  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
				
			||||||
  GridRedBlackCartesian     RBGrid(&Grid);
 | 
					  GridRedBlackCartesian     RBGrid(&Grid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,9 +48,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
					  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
				
			||||||
  GridRedBlackCartesian     RBGrid(&Grid);
 | 
					  GridRedBlackCartesian     RBGrid(&Grid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,9 +48,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
					  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
				
			||||||
  GridRedBlackCartesian     RBGrid(&Grid);
 | 
					  GridRedBlackCartesian     RBGrid(&Grid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,9 +48,9 @@ int main (int argc, char ** argv)
 | 
				
			|||||||
  Grid_init(&argc,&argv);
 | 
					  Grid_init(&argc,&argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::vector<int> latt_size   = GridDefaultLatt();
 | 
					  Coordinate latt_size   = GridDefaultLatt();
 | 
				
			||||||
  std::vector<int> simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
					  Coordinate simd_layout = GridDefaultSimd(Nd,vComplex::Nsimd());
 | 
				
			||||||
  std::vector<int> mpi_layout  = GridDefaultMpi();
 | 
					  Coordinate mpi_layout  = GridDefaultMpi();
 | 
				
			||||||
  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
					  GridCartesian               Grid(latt_size,simd_layout,mpi_layout);
 | 
				
			||||||
  GridRedBlackCartesian     RBGrid(&Grid);
 | 
					  GridRedBlackCartesian     RBGrid(&Grid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user