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 >