mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 05:54:32 +00:00 
			
		
		
		
	Compare commits
	
		
			8 Commits
		
	
	
		
			feature/BC
			...
			feature/su
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					251b904a28 | ||
| 
						 | 
					5dfd216a34 | ||
| 
						 | 
					5a112feac3 | ||
| 
						 | 
					c2e8d0aa88 | ||
| 
						 | 
					bf96a4bdbf | ||
| 
						 | 
					84685c9bc3 | ||
| 
						 | 
					6eed167f0c | ||
| 
						 | 
					edcf9b9293 | 
@@ -57,8 +57,9 @@ void basisRotate(std::vector<Field> &basis,Eigen::MatrixXd& Qt,int j0, int j1, i
 | 
				
			|||||||
      
 | 
					      
 | 
				
			||||||
  parallel_region
 | 
					  parallel_region
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    std::vector < vobj > B(Nm); // Thread private
 | 
					
 | 
				
			||||||
        
 | 
					    std::vector < vobj , commAllocator<vobj> > B(Nm); // Thread private
 | 
				
			||||||
 | 
					       
 | 
				
			||||||
    parallel_for_internal(int ss=0;ss < grid->oSites();ss++){
 | 
					    parallel_for_internal(int ss=0;ss < grid->oSites();ss++){
 | 
				
			||||||
      for(int j=j0; j<j1; ++j) B[j]=0.;
 | 
					      for(int j=j0; j<j1; ++j) B[j]=0.;
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -158,10 +158,19 @@ namespace Grid {
 | 
				
			|||||||
      // tens of seconds per trajectory so this is clean in all reasonable cases,
 | 
					      // tens of seconds per trajectory so this is clean in all reasonable cases,
 | 
				
			||||||
      // and margin of safety is orders of magnitude.
 | 
					      // and margin of safety is orders of magnitude.
 | 
				
			||||||
      // We could hack Sitmo to skip in the higher order words of state if necessary
 | 
					      // We could hack Sitmo to skip in the higher order words of state if necessary
 | 
				
			||||||
 | 
					      //
 | 
				
			||||||
 | 
					      // Replace with 2^30 ; avoid problem on large volumes
 | 
				
			||||||
 | 
					      //
 | 
				
			||||||
      /////////////////////////////////////////////////////////////////////////////////////
 | 
					      /////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
      //      uint64_t skip = site+1;  //   Old init Skipped then drew.  Checked compat with faster init
 | 
					      //      uint64_t skip = site+1;  //   Old init Skipped then drew.  Checked compat with faster init
 | 
				
			||||||
 | 
					      const int shift = 30;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      uint64_t skip = site;
 | 
					      uint64_t skip = site;
 | 
				
			||||||
      skip = skip<<40;
 | 
					
 | 
				
			||||||
 | 
					      skip = skip<<shift;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      assert((skip >> shift)==site); // check for overflow
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      eng.discard(skip);
 | 
					      eng.discard(skip);
 | 
				
			||||||
      //      std::cout << " Engine  " <<site << " state " <<eng<<std::endl;
 | 
					      //      std::cout << " Engine  " <<site << " state " <<eng<<std::endl;
 | 
				
			||||||
    } 
 | 
					    } 
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user