mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-10-30 19:44: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