1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-09 23:45:36 +00:00

Verbose changes

This commit is contained in:
Peter Boyle 2024-04-01 14:18:00 -04:00
parent 93d0a1e73a
commit da890dc293
2 changed files with 9 additions and 12 deletions

View File

@ -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();

View File

@ -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);};