mirror of
https://github.com/paboyle/Grid.git
synced 2026-10-20 14:23:17 +01:00
SUMMA telemetry: ring time histogram by message size
Per log2-size bucket: messages, GB, seconds inside SendToRecvFrom, GB/s, % of ring time. Decomposes the 2 GB/s/rank average (probe: 11-20 GB/s at 8 MB) into latency-bound small messages vs slow large ones vs wait. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RAhdQHrkzKmzfxpxW1whLn
This commit is contained in:
1 parent
96071aa492
commit
0979371c45
2 files changed
+31
-1
No files matched your search
@@ -397,6 +397,25 @@ public:
|
||||
<< " gemm min/max " << gmin << "/" << gmax
|
||||
<< " | ring bytes/rank " << gb << " GB -> " << (ring>0 ? gb/ring : 0.0) << " GB/s/rank (boss)"
|
||||
<< std::endl;
|
||||
// Ring time decomposed by message size (boss rank; every rank sends the
|
||||
// same sequence of sizes). Time is wall time inside SendToRecvFrom, so it
|
||||
// includes waiting for the partner -- a bucket whose GB/s is far below the
|
||||
// probe's for the same size is wait, not wire.
|
||||
std::cout << GridLogMessage << "BlockCyclicSumma ring histogram (boss): size-bucket msgs GB secs GB/s %time" << std::endl;
|
||||
std::streamsize oldprec = std::cout.precision();
|
||||
for(int b=0;b<SUMMA.NHIST;b++){
|
||||
if ( !SUMMA.histN[b] ) continue;
|
||||
double sec = SUMMA.histUs[b]/1.0e6, g = SUMMA.histBytes[b]/1.0e9;
|
||||
double lo = (double)(1ull<<b);
|
||||
char sz[32]; if (lo>=1048576) snprintf(sz,32,"%6.1f MB",lo/1048576.); else if (lo>=1024) snprintf(sz,32,"%6.1f KB",lo/1024.); else snprintf(sz,32,"%6.0f B ",lo);
|
||||
std::cout << GridLogMessage << " >=" << sz
|
||||
<< std::setw(8) << SUMMA.histN[b]
|
||||
<< std::setw(10) << std::setprecision(3) << g
|
||||
<< std::setw(9) << std::setprecision(3) << sec
|
||||
<< std::setw(9) << std::setprecision(3) << (sec>0 ? g/sec : 0.0)
|
||||
<< std::setw(8) << std::setprecision(3) << (ring>0 ? 100.0*sec/ring : 0.0) << std::endl;
|
||||
}
|
||||
std::cout.precision(oldprec);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user