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-20 09:49:53


On Thu, Mar/19/2009 09:17:29PM, Mike Dubman wrote:
> 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?

Sounds like a nice enhancement. I think just assigning this parser
its own "test_type" will be helpful for now (and I have no thoughts on
what to call it). When the server-side submit PHP script is ready to
handle non-latency/bandwidth test data, we can split out the
client-side Analyze/Performance directory.

-Ethan

>
> 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
>
> References
>
> Visible links
> . http://www.netlib.org/benchmark/hpl/
> . mailto:ethan.mallove_at_[hidden]
> . mailto:miked_at_[hidden]
> . https://svn.open-mpi.org/trac/mtt/changeset/1273
> . http://postgresql.org/docs/7.4/interactive/arrays.html
> . mailto:mtt-svn_at_[hidden]
> . http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn

> _______________________________________________
> mtt-devel mailing list
> mtt-devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel