Commit 0c500630 authored by Philip Carns's avatar Philip Carns

optionally show stdio perf in darshan job summary

parent e9d2b236
...@@ -79,9 +79,12 @@ my $cumul_write_bytes_shared = 0; ...@@ -79,9 +79,12 @@ my $cumul_write_bytes_shared = 0;
my $cumul_meta_shared = 0; my $cumul_meta_shared = 0;
my $cumul_meta_indep = 0; my $cumul_meta_indep = 0;
my $perf_est = 0.0;
my $perf_layer = ""; my $perf_layer = "";
my $perf_est = 0.0;
my $perf_mbytes = 0; my $perf_mbytes = 0;
my $current_module = "";
my $stdio_perf_est = 0.0;
my $stdio_perf_mbytes = 0;
my $first_data_line = 1; my $first_data_line = 1;
my %file_record_hash = (); my %file_record_hash = ();
...@@ -140,13 +143,18 @@ while($line = <PARSE_OUT>) ...@@ -140,13 +143,18 @@ while($line = <PARSE_OUT>)
} }
elsif ($line =~ /^# agg_perf_by_slowest: /) elsif ($line =~ /^# agg_perf_by_slowest: /)
{ {
if($perf_layer eq "") if($current_module eq "STDIO")
{
($junk, $stdio_perf_est) = split(':', $line, 2);
$stdio_perf_est = sprintf("%.2f", $stdio_perf_est);
}
elsif($current_module eq "POSIX")
{ {
($junk, $perf_est) = split(':', $line, 2); ($junk, $perf_est) = split(':', $line, 2);
$perf_est = sprintf("%.2f", $perf_est); $perf_est = sprintf("%.2f", $perf_est);
$perf_layer = "POSIX"; $perf_layer = "POSIX";
} }
elsif($perf_layer eq "POSIX") elsif($current_module eq "MPI-IO")
{ {
($junk, $perf_est) = split(':', $line, 2); ($junk, $perf_est) = split(':', $line, 2);
$perf_est = sprintf("%.2f", $perf_est); $perf_est = sprintf("%.2f", $perf_est);
...@@ -155,7 +163,13 @@ while($line = <PARSE_OUT>) ...@@ -155,7 +163,13 @@ while($line = <PARSE_OUT>)
} }
elsif ($line =~ /^# total_bytes: /) elsif ($line =~ /^# total_bytes: /)
{ {
if($perf_mbytes == 0) if($current_module eq "STDIO")
{
($junk, $perf_mbytes) = split(':', $line, 2);
$stdio_perf_mbytes = $perf_mbytes / 1024 / 1024;
$stdio_perf_mbytes = sprintf("%.1f", $stdio_perf_mbytes);
}
elsif($perf_mbytes == 0)
{ {
($junk, $perf_mbytes) = split(':', $line, 2); ($junk, $perf_mbytes) = split(':', $line, 2);
$perf_mbytes = $perf_mbytes / 1024 / 1024; $perf_mbytes = $perf_mbytes / 1024 / 1024;
...@@ -166,6 +180,10 @@ while($line = <PARSE_OUT>) ...@@ -166,6 +180,10 @@ while($line = <PARSE_OUT>)
{ {
$partial_flag = 1; $partial_flag = 1;
} }
elsif ($line =~ /^# (.+) module data/)
{
$current_module = $1;
}
} }
else else
{ {
...@@ -993,9 +1011,11 @@ my $latex_cmd_line = "\"\\def\\titlecmd{$cmd} \\ ...@@ -993,9 +1011,11 @@ my $latex_cmd_line = "\"\\def\\titlecmd{$cmd} \\
\\def\\filecmi{$cmi} \\ \\def\\filecmi{$cmi} \\
\\def\\filecms{$cms} \\ \\def\\filecms{$cms} \\
\\def\\filecmi{$cmi} \\ \\def\\filecmi{$cmi} \\
\\def\\perfest{$perf_est} \\
\\def\\perflayer{$perf_layer} \\ \\def\\perflayer{$perf_layer} \\
\\def\\perfest{$perf_est} \\
\\def\\perfbytes{$perf_mbytes} \\ \\def\\perfbytes{$perf_mbytes} \\
\\def\\stdioperfest{$stdio_perf_est} \\
\\def\\stdioperfbytes{$stdio_perf_mbytes} \\
\\input{summary.tex}\" \\ \\input{summary.tex}\" \\
@__DARSHAN_PDFLATEX_HALT_ON_ERROR@"; @__DARSHAN_PDFLATEX_HALT_ON_ERROR@";
...@@ -1011,6 +1031,19 @@ if (defined $summary{MPIIO_INDEP_OPENS}) ...@@ -1011,6 +1031,19 @@ if (defined $summary{MPIIO_INDEP_OPENS})
$latex_cmd_line = substr($latex_cmd_line, 0, 1) . $mpiio_latex_flags . substr($latex_cmd_line, 1); $latex_cmd_line = substr($latex_cmd_line, 0, 1) . $mpiio_latex_flags . substr($latex_cmd_line, 1);
} }
if($perf_est > 0)
{
my $perf_latex_flags = "\\def\\inclperf{1} \\";
$latex_cmd_line = substr($latex_cmd_line, 0, 1) . $perf_latex_flags . substr($latex_cmd_line, 1);
}
if($stdio_perf_est > 0)
{
my $stdio_latex_flags = "\\def\\inclstdio{1} \\";
$latex_cmd_line = substr($latex_cmd_line, 0, 1) . $stdio_latex_flags . substr($latex_cmd_line, 1);
}
$system_rc = system "$pdflatex $latex_cmd_line > latex.output"; $system_rc = system "$pdflatex $latex_cmd_line > latex.output";
if($system_rc) if($system_rc)
......
...@@ -51,8 +51,15 @@ which may skew results in this document. ...@@ -51,8 +51,15 @@ which may skew results in this document.
\input{job-table.tex} \input{job-table.tex}
}\\ }\\
\vspace{1em} \vspace{1em}
\ifdefined\inclperf
I/O performance \emph{estimate} (at the \perflayer \ layer): I/O performance \emph{estimate} (at the \perflayer \ layer):
transferred \textcolor{red}{\perfbytes \ MiB} at \textcolor{red}{\perfest \ MiB/s} transferred \textcolor{red}{\perfbytes \ MiB} at \textcolor{red}{\perfest \ MiB/s\\}
\fi
\ifdefined\inclstdio
I/O performance \emph{estimate} (at the STDIO layer):
transferred \textcolor{red}{\stdioperfbytes \ MiB} at \textcolor{red}{\stdioperfest \ MiB/s}
\fi
\vspace{3em} \vspace{3em}
\subfigure \subfigure
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment