I think this commit broke some things... starting in the 6/4
regressions, we get several errors like the one below from
build/ALPHA_SE/tests/fast/quick/00.hello/alpha/linux/o3-timing.  I
don't know if it applies to all the o3 benchmarks but I expect it
does.  I also don't know if these are all the existing distribution
stats (i.e., output on distribution stats is just broken) or if
there's something special about this subset.

I will work on making the test script fail when stats are missing if
Lisa will work on fixing this bug...

Steve

===== Statistics differences =====
Maximum error magnitude: +0.000000%

                                  Reference  New Value   Abs Diff   Pct Chg
Key statistics:

  host_inst_rate                      84020      70945     -13075   -15.56%
  host_mem_usage                     204400     204424         24    +0.01%
  sim_insts                            6386       6386          0    +0.00%
  sim_ticks                        12497500   12497500          0    +0.00%
  system.cpu.commit.COM:count          6403       6403          0    +0.00%

Largest 20 relative errors (> 0%):


Missing 24 reference statistics:

  system.cpu.commit.COM:committed_per_cycle::0-1        9528
76.65%     76.65%
  system.cpu.commit.COM:committed_per_cycle::1-2        1629
13.10%     89.75%
  system.cpu.commit.COM:committed_per_cycle::2-3        491      3.95%
    93.70%
  system.cpu.commit.COM:committed_per_cycle::3-4        259      2.08%
    95.78%
  system.cpu.commit.COM:committed_per_cycle::4-5        156      1.25%
    97.04%
  system.cpu.commit.COM:committed_per_cycle::5-6        104      0.84%
    97.88%
  system.cpu.commit.COM:committed_per_cycle::6-7        96      0.77%     98.65%
  system.cpu.commit.COM:committed_per_cycle::7-8        49      0.39%     99.04%
  system.cpu.fetch.rateDist::0-1                        10920
81.91%     81.91%
  system.cpu.fetch.rateDist::1-2                        245      1.84%
    83.75%
  system.cpu.fetch.rateDist::2-3                        221      1.66%
    85.41%
  system.cpu.fetch.rateDist::3-4                        185      1.39%
    86.80%
  system.cpu.fetch.rateDist::4-5                        233      1.75%
    88.55%
  system.cpu.fetch.rateDist::5-6                        164      1.23%
    89.78%
  system.cpu.fetch.rateDist::6-7                        228      1.71%
    91.49%
  system.cpu.fetch.rateDist::7-8                        133      1.00%
    92.48%
  system.cpu.iq.ISSUE:issued_per_cycle::0-1             9142
68.58%     68.58%
  system.cpu.iq.ISSUE:issued_per_cycle::1-2             1697
12.73%     81.31%
  system.cpu.iq.ISSUE:issued_per_cycle::2-3             1062
7.97%     89.27%
  system.cpu.iq.ISSUE:issued_per_cycle::3-4             730      5.48%
    94.75%
  system.cpu.iq.ISSUE:issued_per_cycle::4-5             359      2.69%
    97.44%
  system.cpu.iq.ISSUE:issued_per_cycle::5-6             188      1.41%
    98.85%
  system.cpu.iq.ISSUE:issued_per_cycle::6-7             105      0.79%
    99.64%
  system.cpu.iq.ISSUE:issued_per_cycle::7-8             36      0.27%     99.91%




On Thu, Jun 3, 2010 at 3:27 PM, Lisa Hsu <[email protected]> wrote:
> changeset 669c1d2df752 in /z/repo/m5
> details: http://repo.m5sim.org/m5?cmd=changeset;node=669c1d2df752
> description:
>        Stats:  fix dist stat and enable VectorDistStat
>
> diffstat:
>
>  src/base/statistics.hh |  23 ++++++++++++++---------
>  src/base/stats/text.cc |   2 +-
>  2 files changed, 15 insertions(+), 10 deletions(-)
>
> diffs (85 lines):
>
> diff -r cbedf338fc44 -r 669c1d2df752 src/base/statistics.hh
> --- a/src/base/statistics.hh    Thu Jun 03 10:34:40 2010 -0700
> +++ b/src/base/statistics.hh    Thu Jun 03 11:06:12 2010 -0700
> @@ -1698,7 +1698,11 @@
>         delete [] reinterpret_cast<char *>(storage);
>     }
>
> -    Proxy operator[](off_type index);
> +    Proxy operator[](off_type index)
> +    {
> +        assert(index >= 0 && index < size());
> +        return Proxy(this->self(), index);
> +    }
>
>     size_type
>     size() const
> @@ -1739,15 +1743,15 @@
>  class DistProxy
>  {
>   private:
> -    Stat *stat;
> +    Stat &stat;
>     off_type index;
>
>   protected:
> -    typename Stat::Storage *data() { return stat->data(index); }
> -    const typename Stat::Storage *data() const { return stat->data(index); }
> +    typename Stat::Storage *data() { return stat.data(index); }
> +    const typename Stat::Storage *data() const { return stat.data(index); }
>
>   public:
> -    DistProxy(Stat *s, off_type i)
> +    DistProxy(Stat &s, off_type i)
>         : stat(s), index(i)
>     {}
>
> @@ -1788,15 +1792,16 @@
>      */
>     void reset() { }
>  };
> -
> +/*
>  template <class Derived, class Stor>
>  inline typename VectorDistBase<Derived, Stor>::Proxy
>  VectorDistBase<Derived, Stor>::operator[](off_type index)
>  {
>     assert (index >= 0 && index < size());
>     typedef typename VectorDistBase<Derived, Stor>::Proxy Proxy;
> -    return Proxy(this, index);
> +    return Proxy(this->self(), index);
>  }
> +*/
>
>  #if 0
>  template <class Storage>
> @@ -2267,7 +2272,7 @@
>         params->min = min;
>         params->max = max;
>         params->bucket_size = bkt;
> -        params->buckets = (size_type)rint((max - min) / bkt + 1.0);
> +        params->buckets = (size_type)rint((max - min + 1.0) / bkt );
>         this->setParams(params);
>         this->doInit();
>         return this->self();
> @@ -2328,7 +2333,7 @@
>         params->min = min;
>         params->max = max;
>         params->bucket_size = bkt;
> -        params->buckets = (size_type)rint((max - min) / bkt + 1.0);
> +        params->buckets = (size_type)rint((max - min + 1.0) / bkt);
>         this->setParams(params);
>         this->doInit(size);
>         return this->self();
> diff -r cbedf338fc44 -r 669c1d2df752 src/base/stats/text.cc
> --- a/src/base/stats/text.cc    Thu Jun 03 10:34:40 2010 -0700
> +++ b/src/base/stats/text.cc    Thu Jun 03 11:06:12 2010 -0700
> @@ -412,7 +412,7 @@
>         namestr << base;
>
>         Counter low = i * bucket_size + min;
> -        Counter high = ::min(low + bucket_size, max);
> +        Counter high = ::min(low + bucket_size - 1.0, max);
>         namestr << low;
>         if (low < high)
>             namestr << "-" << high;
> _______________________________________________
> m5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/m5-dev
>
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to