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