mirror of
https://github.com/paboyle/Grid.git
synced 2026-10-03 06:28:05 +01:00
Profiling split grid
This commit is contained in:
1 parent
44f24f395e
commit
7a9cdb45bc
4 files changed
+13
No files matched your search
@@ -56,6 +56,7 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
|
||||
#include <Grid/communicator/Communicator.h>
|
||||
#include <Grid/communicator/RingAllReduce.h>
|
||||
#include <Grid/cartesian/Cartesian.h>
|
||||
#include <Grid/perfmon/HostMemory.h>
|
||||
#include <Grid/tensors/Tensors.h>
|
||||
#include <Grid/lattice/Lattice.h>
|
||||
#include <Grid/cshift/Cshift.h>
|
||||
|
||||
@@ -151,6 +151,8 @@ public:
|
||||
SplitCloneTimer.Stop();
|
||||
if ( split == nullptr ) {
|
||||
std::cout << GridLogMessage << "MixedPrecisionConjugateGradientBatched: operator cannot be split; serial inner solves" << std::endl;
|
||||
} else {
|
||||
HostMemoryReport(DoublePrecGrid,GridLogMessage,"MixedPrecisionConjugateGradientBatched: after split clone");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,6 +161,7 @@ public:
|
||||
for(outer_iter = 0; outer_iter < MaxOuterIterations; outer_iter++){
|
||||
std::cout << GridLogMessage << std::endl;
|
||||
std::cout << GridLogMessage << "Outer iteration " << outer_iter << std::endl;
|
||||
HostMemoryReport(DoublePrecGrid,GridLogMessage,"MixedPrecisionConjugateGradientBatched: outer iteration "+std::to_string(outer_iter));
|
||||
|
||||
bool allConverged = true;
|
||||
|
||||
|
||||
@@ -1741,6 +1741,10 @@ void Grid_split(std::vector<Lattice<Vobj> > & full,Lattice<Vobj> & split)
|
||||
<< " alltoall " << t_a2a/1.0e6
|
||||
<< " reorder " << t_reorder/1.0e6
|
||||
<< " vectorise " << t_vec/1.0e6 << std::endl;
|
||||
// Staging vectors are still live here, so this is the high-water point of the call
|
||||
if ( GridLogPerformance.isActive() ) {
|
||||
HostMemoryReport(full_grid,GridLogPerformance,"Grid_split");
|
||||
}
|
||||
}
|
||||
|
||||
template<class Vobj>
|
||||
@@ -1906,6 +1910,10 @@ void Grid_unsplit(std::vector<Lattice<Vobj> > & full,Lattice<Vobj> & split)
|
||||
<< " alltoall " << t_a2a/1.0e6
|
||||
<< " reorder " << t_reorder/1.0e6
|
||||
<< " vectorise " << t_vec/1.0e6 << std::endl;
|
||||
// Staging vectors are still live here, so this is the high-water point of the call
|
||||
if ( GridLogPerformance.isActive() ) {
|
||||
HostMemoryReport(full_grid,GridLogPerformance,"Grid_unsplit");
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
|
||||
@@ -93,6 +93,7 @@ void ReportMemory(GridBase *grid,const std::string &phase)
|
||||
<< " : host RSS " << rss << " GB, peak " << peak
|
||||
<< " GB; allocator cache host " << hostcache << " GB, device " << devcache
|
||||
<< " GB (max over ranks)" << std::endl;
|
||||
HostMemoryReport(grid,GridLogMessage,phase);
|
||||
}
|
||||
|
||||
typedef LatticeFermionD FieldD;
|
||||
|
||||
Reference in new issue
Block a user