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: Mike Dubman (mike.ompi_at_[hidden])
Date: 2009-03-19 15:17:29


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.mallove_at_[hidden]>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, 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
>