mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-09 23:45:36 +00:00
Verbose changes
This commit is contained in:
parent
93d0a1e73a
commit
da890dc293
@ -460,9 +460,9 @@ public:
|
|||||||
CoarseScalar InnerProd(CoarseGrid());
|
CoarseScalar InnerProd(CoarseGrid());
|
||||||
blockOrthogonalise(InnerProd,Subspace.subspace);
|
blockOrthogonalise(InnerProd,Subspace.subspace);
|
||||||
|
|
||||||
for(int s=0;s<Subspace.subspace.size();s++){
|
// for(int s=0;s<Subspace.subspace.size();s++){
|
||||||
std::cout << " subspace norm "<<norm2(Subspace.subspace[s])<<std::endl;
|
// std::cout << " subspace norm "<<norm2(Subspace.subspace[s])<<std::endl;
|
||||||
}
|
// }
|
||||||
const int npoint = geom.npoint;
|
const int npoint = geom.npoint;
|
||||||
|
|
||||||
Coordinate clatt = CoarseGrid()->GlobalDimensions();
|
Coordinate clatt = CoarseGrid()->GlobalDimensions();
|
||||||
@ -498,7 +498,6 @@ public:
|
|||||||
}
|
}
|
||||||
phase=exp(phase*ci);
|
phase=exp(phase*ci);
|
||||||
Mkl(k,l) = phase;
|
Mkl(k,l) = phase;
|
||||||
std::cout<<" Mkl "<<k<<" "<<l<<" "<<phase<<std::endl;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
invMkl = Mkl.inverse();
|
invMkl = Mkl.inverse();
|
||||||
@ -553,7 +552,7 @@ public:
|
|||||||
tmat-=usecond();
|
tmat-=usecond();
|
||||||
linop.Op(phaV,MphaV);
|
linop.Op(phaV,MphaV);
|
||||||
tmat+=usecond();
|
tmat+=usecond();
|
||||||
std::cout << i << " " <<p << " MphaV "<<norm2(MphaV)<<" "<<norm2(phaV)<<std::endl;
|
// std::cout << i << " " <<p << " MphaV "<<norm2(MphaV)<<" "<<norm2(phaV)<<std::endl;
|
||||||
|
|
||||||
tproj-=usecond();
|
tproj-=usecond();
|
||||||
blockProject(coarseInner,MphaV,Subspace.subspace);
|
blockProject(coarseInner,MphaV,Subspace.subspace);
|
||||||
@ -561,7 +560,7 @@ public:
|
|||||||
|
|
||||||
ComputeProj[p] = coarseInner;
|
ComputeProj[p] = coarseInner;
|
||||||
tproj+=usecond();
|
tproj+=usecond();
|
||||||
std::cout << i << " " <<p << " ComputeProj "<<norm2(ComputeProj[p])<<std::endl;
|
// std::cout << i << " " <<p << " ComputeProj "<<norm2(ComputeProj[p])<<std::endl;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -570,7 +569,6 @@ public:
|
|||||||
FT[k] = Zero();
|
FT[k] = Zero();
|
||||||
for(int l=0;l<npoint;l++){
|
for(int l=0;l<npoint;l++){
|
||||||
FT[k]= FT[k]+ invMkl(l,k)*ComputeProj[l];
|
FT[k]= FT[k]+ invMkl(l,k)*ComputeProj[l];
|
||||||
std::cout << i << " " <<k <<" "<<l<< " FT "<<norm2(FT[k])<<" "<<invMkl(l,k)<<std::endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int osites=CoarseGrid()->oSites();
|
int osites=CoarseGrid()->oSites();
|
||||||
|
@ -88,7 +88,6 @@ public:
|
|||||||
assert(A.size()==geom_srhs.npoint);
|
assert(A.size()==geom_srhs.npoint);
|
||||||
BLAStoGrid(A[p],BLAS_A[p]);
|
BLAStoGrid(A[p],BLAS_A[p]);
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
void CopyMatrix (GeneralCoarseOp &_Op)
|
void CopyMatrix (GeneralCoarseOp &_Op)
|
||||||
{
|
{
|
||||||
for(int p=0;p<geom.npoint;p++){
|
for(int p=0;p<geom.npoint;p++){
|
||||||
@ -97,6 +96,7 @@ public:
|
|||||||
GridtoBLAS(Aup,BLAS_A[p]);
|
GridtoBLAS(Aup,BLAS_A[p]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
void CheckMatrix (GeneralCoarseOp &_Op)
|
void CheckMatrix (GeneralCoarseOp &_Op)
|
||||||
{
|
{
|
||||||
std::cout <<"************* Checking the little direc operator mRHS"<<std::endl;
|
std::cout <<"************* Checking the little direc operator mRHS"<<std::endl;
|
||||||
@ -388,6 +388,7 @@ public:
|
|||||||
ComputeProj[p] = coarseInner;
|
ComputeProj[p] = coarseInner;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Could do this with a block promote or similar BLAS call via the MultiRHSBlockProjector with a const matrix.
|
||||||
for(int k=0;k<npoint;k++){
|
for(int k=0;k<npoint;k++){
|
||||||
FT = Zero();
|
FT = Zero();
|
||||||
for(int l=0;l<npoint;l++){
|
for(int l=0;l<npoint;l++){
|
||||||
@ -496,7 +497,6 @@ Store npoint vectors, get npoint x Nbasis block projection, and 81 fold faster.
|
|||||||
BLAStoGrid(out,BLAS_C);
|
BLAStoGrid(out,BLAS_C);
|
||||||
t_BtoG+=usecond();
|
t_BtoG+=usecond();
|
||||||
t_tot+=usecond();
|
t_tot+=usecond();
|
||||||
/*
|
|
||||||
std::cout << GridLogMessage << "New Mrhs coarse DONE "<<std::endl;
|
std::cout << GridLogMessage << "New Mrhs coarse DONE "<<std::endl;
|
||||||
std::cout << GridLogMessage<<"Coarse Mult exch "<<t_exch<<" us"<<std::endl;
|
std::cout << GridLogMessage<<"Coarse Mult exch "<<t_exch<<" us"<<std::endl;
|
||||||
std::cout << GridLogMessage<<"Coarse Mult mult "<<t_mult<<" us"<<std::endl;
|
std::cout << GridLogMessage<<"Coarse Mult mult "<<t_mult<<" us"<<std::endl;
|
||||||
@ -504,11 +504,10 @@ Store npoint vectors, get npoint x Nbasis block projection, and 81 fold faster.
|
|||||||
std::cout << GridLogMessage<<"Coarse Mult BtoG "<<t_BtoG<<" us"<<std::endl;
|
std::cout << GridLogMessage<<"Coarse Mult BtoG "<<t_BtoG<<" us"<<std::endl;
|
||||||
std::cout << GridLogMessage<<"Coarse Mult tot "<<t_tot<<" us"<<std::endl;
|
std::cout << GridLogMessage<<"Coarse Mult tot "<<t_tot<<" us"<<std::endl;
|
||||||
std::cout << GridLogMessage<<std::endl;
|
std::cout << GridLogMessage<<std::endl;
|
||||||
std::cout << GridLogMessage<<"Coarse Kernel flops "<< flops<<std::endl;
|
// std::cout << GridLogMessage<<"Coarse Kernel flops "<< flops<<std::endl;
|
||||||
std::cout << GridLogMessage<<"Coarse Kernel flop/s "<< flops/t_mult<<" mflop/s"<<std::endl;
|
std::cout << GridLogMessage<<"Coarse Kernel flop/s "<< flops/t_mult<<" mflop/s"<<std::endl;
|
||||||
std::cout << GridLogMessage<<"Coarse Kernel bytes/s "<< bytes/t_mult/1000<<" GB/s"<<std::endl;
|
// std::cout << GridLogMessage<<"Coarse Kernel bytes/s "<< bytes/t_mult/1000<<" GB/s"<<std::endl;
|
||||||
std::cout << GridLogMessage<<"Coarse overall flops/s "<< flops/t_tot<<" mflop/s"<<std::endl;
|
std::cout << GridLogMessage<<"Coarse overall flops/s "<< flops/t_tot<<" mflop/s"<<std::endl;
|
||||||
*/
|
|
||||||
// std::cout << GridLogMessage<<"Coarse total bytes "<< bytes/1e6<<" MB"<<std::endl;
|
// std::cout << GridLogMessage<<"Coarse total bytes "<< bytes/1e6<<" MB"<<std::endl;
|
||||||
};
|
};
|
||||||
virtual void Mdiag (const Field &in, Field &out){ assert(0);};
|
virtual void Mdiag (const Field &in, Field &out){ assert(0);};
|
||||||
|
Loading…
Reference in New Issue
Block a user