Hi Michael,
I'm not sure how to quantify "reliably" but with the lack of extensive
regressions for SMT on various CPU models all I can say that it *should*
work with configuration/parameters changes in SE mode. Over the years,
different people have varied issue width as well as number of threads so if
it's broken, we need to go and fix it and finally put some regressions
(alas, that's probably on me to do but I always seem to find a task that
supercedes regression updates)

In terms of inorder, I believed Andreas deleted the additional
"pipeline_traits" files or at the very least deprecated them? I could be
wrong on that.

In any event, changing to SMT should be changing the MaxThreads and the
"numThreads" parameter that gets sent to the CPU.  "numThreads" is a
parameter while MaxThreads is compiled in. Changing pipe stages is another
paremeter to be set and the pipe stages functionality should be done in the
createFrontSked and createBackSked functions in cpu.cc.

Since fetchBuffering and the other memory system changes have been added to
gem5, I would not be surprised if there are slight updates to InOrder to
get SMT back going. If you do find a bug, please send it to the mailing
list and we can usually get it resolved fairly quickly.

As for O3, I'd say the same story as InOrder, although there is at least a
2T-hello world test there to sanity check nothing significantly alters
behavior.
With regards to FS mode, that hasn't been done, I dont know of who is
actively working on it, but I've suggested that this could be implemented
by using the SimpleCPU or CheckerCPU as a golden model while you find all
the places where you need to update say paramCount[0] to paramCount[tid].

-Korey


On Wed, Sep 26, 2012 at 11:51 AM, Michael Levenhagen <mjle...@sandia.gov>wrote:

> With which ISAs and CPU models does SMT work?
> I've tried running different configs and it appears that only "ALPHA +
> detailed" works.
> I chased down a panic when I attempt to use "ALPHA+inorder" and it says I
> need to increase 'MaxThreads'.
> I looked at the "inorder" cpu code and notice that
>         pipeline_traits.5stage.hh,
>         pipeline_traits.9stage.hh and
>         pipeline_traits.9stage.smt2.hh,
> have MaxThreads set to something greater than 1.
>
> Does SMT work "reliably" with "ALPHA+detailed"?
> Would "ALPHA+inorder" work with a code configuration change?
>
> Mike Levenhagen
>
>
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>



-- 
- Korey
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to