mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-09 23:45:36 +00:00
Problems remain in the red black preconditioning of the Ls vectorisation
This commit is contained in:
parent
53d06046b0
commit
786ca52c43
@ -69,9 +69,11 @@ int main (int argc, char ** argv)
|
||||
GridCartesian * FGrid = SpaceTimeGrid::makeFiveDimGrid(Ls,UGrid);
|
||||
GridRedBlackCartesian * FrbGrid = SpaceTimeGrid::makeFiveDimRedBlackGrid(Ls,UGrid);
|
||||
|
||||
std::cout << GridLogMessage << "Making s innermost grids"<<std::endl;
|
||||
GridCartesian * sUGrid = SpaceTimeGrid::makeFourDimDWFGrid(GridDefaultLatt(),GridDefaultMpi());
|
||||
GridRedBlackCartesian * sUrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(sUGrid);
|
||||
GridCartesian * sFGrid = SpaceTimeGrid::makeFiveDimDWFGrid(Ls,UGrid);
|
||||
std::cout << GridLogMessage << "Making s innermost rb grids"<<std::endl;
|
||||
GridRedBlackCartesian * sFrbGrid = SpaceTimeGrid::makeFiveDimDWFRedBlackGrid(Ls,UGrid);
|
||||
|
||||
std::vector<int> seeds4({1,2,3,4});
|
||||
@ -131,7 +133,7 @@ int main (int argc, char ** argv)
|
||||
|
||||
RealD NP = UGrid->_Nprocessors;
|
||||
|
||||
for(int doasm=1;doasm<2;doasm++){
|
||||
for(int doasm=0;doasm<1;doasm++){
|
||||
|
||||
QCD::WilsonKernelsStatic::AsmOpt=doasm;
|
||||
|
||||
@ -139,7 +141,7 @@ int main (int argc, char ** argv)
|
||||
|
||||
std::cout<<GridLogMessage << "Calling Dw"<<std::endl;
|
||||
int ncall =50;
|
||||
if (0) {
|
||||
if (1) {
|
||||
|
||||
double t0=usecond();
|
||||
for(int i=0;i<ncall;i++){
|
||||
@ -160,7 +162,7 @@ int main (int argc, char ** argv)
|
||||
// Dw.Report();
|
||||
}
|
||||
|
||||
if (1)
|
||||
if (0)
|
||||
{
|
||||
typedef WilsonFermion5D<DomainWallRedBlack5dImplF> WilsonFermion5DF;
|
||||
LatticeFermionF ssrc(sFGrid);
|
||||
|
@ -175,7 +175,14 @@ public:
|
||||
//
|
||||
// If Ls vectorised, this must still be the case; e.g.
|
||||
// layout == 8 , require _rdimensions[d] >= 2;
|
||||
if ( simd_layout[d]>1 ) assert((_rdimensions[d]&0x1)==0);
|
||||
// std::cout << GridLogMessage << " dimension "<<d<< " layout "<< _simd_layout[d] <<" ldimension "<<_ldimensions[d]<<std::endl;
|
||||
if ( _simd_layout[d]>1 ) {
|
||||
if ( _rdimensions[d]&0x1 ) {
|
||||
std::cout << GridLogMessage << " dimension "<<d<< " bad layout "<<
|
||||
_simd_layout[d] << " " << _ldimensions[d] << std::endl;
|
||||
// assert(0);
|
||||
}
|
||||
}
|
||||
|
||||
_osites *= _rdimensions[d];
|
||||
_isites *= _simd_layout[d];
|
||||
|
Loading…
Reference in New Issue
Block a user