Open MPI logo

MTT Devel Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all MTT Devel mailing list

Subject: Re: [MTT devel] [MTT svn] svn:mtt-svn r1273 (Analyze/Performance plug-ins)
From: Ethan Mallove (ethan.mallove_at_[hidden])
Date: 2009-03-19 14:22:40


Hi Mike,

Is HPL a latency and/or bandwidth performance test? All the Analyze
plug-ins in lib/MTT/Test/Analyze/Performance are for latency/bandwidth
tests, which means they can then be rendered as graphs in the MTT
Reporter. All of these plug-ins are required to output at least one
of the following:

  latency_avg
  latency_min
  latency_max
  bandwidth_avg
  bandwidth_min
  bandwidth_max

They all contain this:

  $report->{test_type} = 'latency_bandwidth';

HPL.pm should have a line like this somewhere:

  $report->{test_type} = 'tv_gflops';

Maybe HPL.pm could go into a different directory or have a comment
somewhere to clear up this confusion.

Regards,
Ethan

On Thu, Mar/19/2009 02:11:05AM, miked_at_[hidden] wrote:
> Author: miked
> Date: 2009-03-19 02:11:04 EDT (Thu, 19 Mar 2009)
> New Revision: 1273
> URL: https://svn.open-mpi.org/trac/mtt/changeset/1273
>
> Log:
> HPL analyzer added
>
> Added:
> trunk/lib/MTT/Test/Analyze/Performance/HPL.pm
>
> Added: trunk/lib/MTT/Test/Analyze/Performance/HPL.pm
> ==============================================================================
> --- (empty file)
> +++ trunk/lib/MTT/Test/Analyze/Performance/HPL.pm 2009-03-19 02:11:04 EDT (Thu, 19 Mar 2009)
> @@ -0,0 +1,63 @@
> +#!/usr/bin/env perl
> +#
> +# Copyright (c) 2006-2007 Sun Microsystems, Inc. All rights reserved.
> +# Copyright (c) 2007 Voltaire All rights reserved.
> +# $COPYRIGHT$
> +#
> +# Additional copyrights may follow
> +#
> +# $HEADER$
> +#
> +
> +package MTT::Test::Analyze::Performance::HPL;
> +use strict;
> +use Data::Dumper;
> +#use MTT::Messages;
> +
> +# Process the result_stdout emitted from one of hpl tests
> +sub Analyze {
> +
> + my($result_stdout) = @_;
> + my $report;
> + my(@t_v,
> + @time,
> + @gflops);
> +
> +$report->{test_name}="HPL";
> + my @lines = split(/\n|\r/, $result_stdout);
> + # Sample result_stdout:
> +#- The matrix A is randomly generated for each test.
> +#- The following scaled residual check will be computed:
> +# ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N )
> +#- The relative machine precision (eps) is taken to be 1.110223e-16
> +#- Computational tests pass if scaled residuals are less than 16.0
> +#================================================================================
> +#T/V N NB P Q Time Gflops
> +#--------------------------------------------------------------------------------
> +#WR00L2L2 29184 128 2 4 15596.86 1.063e+00
> +#--------------------------------------------------------------------------------
> +#||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0008986 ...... PASSED
> +#================================================================================
> +#T/V N NB P Q Time Gflops
> +#--------------------------------------------------------------------------------
> +#WR00L2L4 29184 128 2 4 15251.81 1.087e+00
> + my $line;
> + while (defined($line = shift(@lines))) {
> + #WR00L2L2 29184 128 2 4 15596.86 1.063e+00
> + if ($line =~ m/^(\S+)\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+[\.\d]+)\s+(\S+)/) {
> + push(@t_v, $1);
> + push(@time, $2);
> + push(@gflops, $3);
> + }
> + }
> +
> + # Postgres uses brackets for array insertion
> + # (see postgresql.org/docs/7.4/interactive/arrays.html)
> + $report->{tv} = "{" . join(",", @t_v) . "}";
> + $report->{time} = "{" . join(",", @time) . "}";
> + $report->{gflops} = "{" . join(",", @gflops) . "}";
> + return $report;
> +}
> +
> +1;
> +
> _______________________________________________
> mtt-svn mailing list
> mtt-svn_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn