1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-14 01:35:36 +00:00

First runs on Summit. PopulateAdag needs work

This commit is contained in:
Peter Boyle 2023-10-05 16:43:37 -04:00
parent 737d3ffb98
commit c8adad6d8b

View File

@ -298,10 +298,10 @@ public:
const int Nsimd = CComplex::Nsimd(); const int Nsimd = CComplex::Nsimd();
int osites=pin.Grid()->oSites(); int osites=pin.Grid()->oSites();
int gsites=pin.Grid()->gSites(); // int gsites=pin.Grid()->gSites();
RealD flops = 1.0* npoint * nbasis * nbasis * 8 * gsites; RealD flops = 1.0* npoint * nbasis * nbasis * 8 * osites;
RealD bytes = (1.0*osites*sizeof(siteMatrix)+2.0*osites*sizeof(siteVector))*npoint; RealD bytes = (1.0*osites*sizeof(siteMatrix)*npoint+2.0*osites*sizeof(siteVector))*npoint;
// for(int point=0;point<npoint;point++){ // for(int point=0;point<npoint;point++){
// conformable(A[point],pin); // conformable(A[point],pin);
@ -356,7 +356,7 @@ public:
void PopulateAdag(void) void PopulateAdag(void)
{ {
for(int bidx=0;bidx<CoarseGrid()->gSites() ;bidx++){ for(int64_t bidx=0;bidx<CoarseGrid()->gSites() ;bidx++){
Coordinate bcoor; Coordinate bcoor;
CoarseGrid()->GlobalIndexToGlobalCoor(bidx,bcoor); CoarseGrid()->GlobalIndexToGlobalCoor(bidx,bcoor);
@ -540,9 +540,11 @@ public:
auto sval = peekSite(_A[p],coor); auto sval = peekSite(_A[p],coor);
} }
PopulateAdag(); std::cout << GridLogMessage<<"PopulateAdag "<<std::endl;
// PopulateAdag();
// Need to write something to populate Adag from A // Need to write something to populate Adag from A
std::cout << GridLogMessage<<"ExchangeCoarseLinks "<<std::endl;
ExchangeCoarseLinks(); ExchangeCoarseLinks();
std::cout << GridLogMessage<<"CoarsenOperator eigen "<<teigen<<" us"<<std::endl; std::cout << GridLogMessage<<"CoarsenOperator eigen "<<teigen<<" us"<<std::endl;
std::cout << GridLogMessage<<"CoarsenOperator phase "<<tphase<<" us"<<std::endl; std::cout << GridLogMessage<<"CoarsenOperator phase "<<tphase<<" us"<<std::endl;
@ -552,6 +554,7 @@ public:
} }
void ExchangeCoarseLinks(void){ void ExchangeCoarseLinks(void){
for(int p=0;p<geom.npoint;p++){ for(int p=0;p<geom.npoint;p++){
std::cout << "Exchange "<<p<<std::endl;
_A[p] = Cell.Exchange(_A[p]); _A[p] = Cell.Exchange(_A[p]);
_Adag[p]= Cell.Exchange(_Adag[p]); _Adag[p]= Cell.Exchange(_Adag[p]);
} }