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.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 > > References > > Visible links > . http://www.netlib.org/benchmark/hpl/ > . mailto:ethan.mall...@sun.com > . mailto:mi...@osl.iu.edu > . https://svn.open-mpi.org/trac/mtt/changeset/1273 > . http://postgresql.org/docs/7.4/interactive/arrays.html > . mailto:mtt-...@open-mpi.org > . http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn > _______________________________________________ > mtt-devel mailing list > mtt-de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/mtt-devel