Hello Eithan,
Thanks for info, will refactor it.

from http://www.netlib.org/benchmark/hpl/

...
*HPL* is a software package that solves a (random) dense linear system in
double precision (64 bits) arithmetic on distributed-memory computers. It
can thus be regarded as a portable as well as freely available
implementation of the High Performance Computing Linpack Benchmark.

The HPL package provides a testing and timing program to quantify the *
accuracy* of the obtained solution as well as the time it took to compute it
...


Where do you think is a good place to keep parsers for other then lat/bw
based mpi benchmarks?
I think we can have a collection of such parsers in the mtt and at some
point we can enhance mtt reports with other metrics.

What do you think?


On Thu, Mar 19, 2009 at 8:22 PM, Ethan Mallove <ethan.mall...@sun.com>wrote:

> 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, mi...@osl.iu.edu 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-...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
>

Reply via email to