Hi,
well if you are interested in doing a some debugging you can start to
uncover the problem. So that probably would signal this conversation
go to the m5-dev list instead of m5-users (I think at least).

If I were you, these would be my steps to figure out the problem.
(1) Run a Sparc Hello World on AtomicSimpleCPU with tracing on. Trace
the instructions "Exec".
(2) Do the same trace on a 2T-Hello World Sparc.
(3) Diff the trace for each thread against your "golden model" Sparc
Hello World (you can use some of the M5 preloaded scripts like
util/tracediff)

More than likely, you'll see one of the threads stop committing
instructions at some point. Once you find where the breaking point is
for your SMT threads, you can re-run your code with other traceflags
to figure out what's happening (O3CPUAll). I'm not familiar with SPARC
but more than likely a problem with speculation and register windows
messes up the assignments some way.

Anyway, that's the path I would take to finding the bug fix. Not
exactly "easy" but definitely "doable". Hope that helps...

On Mon, Jul 13, 2009 at 9:19 PM, soumyaroop roy<s...@cse.usf.edu> wrote:
> Thanks, Gabe. My comments are embedded in your reply.
>
> On Mon, Jul 13, 2009 at 8:57 PM, Gabriel Michael Black
> <gbl...@eecs.umich.edu> wrote:
>>
>> There are a few problems with doing things this way. First, there are no
>> guarantees that SMT is supported for SPARC on O3 as far as I know. Someone
>> with more experience with O3 and SMT would have to comment there, but the
>> fact that there are no regressions for it suggests that it's at least
>> untested.
>
> It appears to me that making smt work for sparc should not be a lot of work.
> Most of the code CPU modeling is ISA independent. If someone could give me
> some directions, I should be able to get this working pretty quickly. Please
> correct me if I am wrong though.
>
>>
>> Second, I don't know if all the binaries that regression needs are going
>> to be available for SPARC. If it just uses the "hello" binary then that
>> might work out.
>
> That is correct. "hello" is the binary that is used.
>
>>
>> Third, if the binary exists and runs correctly, copying the reference
>> outputs from alpha to sparc will almost certainly not be what you want. The
>> many detailed statistics O3 tracks will definitely change when a completely
>> different binary compiled for another architecture is used.
>
> I agree with you completely here. I should correct one of the statements
> that I made in my last email. I made a copy of the test for the "test.py"
> script that instantiates the workloads (and not for the gold outputs).
>
> regards,
> Soumyaroop.
>
>>
>>
>> Quoting soumyaroop roy <s...@cse.usf.edu>:
>>
>>> Thanks for your replies.
>>>
>>> All I did were the following (from <m5-root-dir>):
>>>
>>> 1. Made a copy of the test (although this appears to serve only as gold
>>> ouputs):
>>> % cp -r tests/quick/01.hello-2T-smt/ref/alpha
>>> tests/quick/01.hello-2T-smt/ref/sparc
>>>
>>> 2. Ran the testcase:
>>> % scons build/SPARC_SE/tests/fast/quick/01.hello-2T-smt
>>>
>>> What steps should I take to debug this further?
>>>
>>> regards,
>>> Soumyaroop.
>>>
>>> On Mon, Jul 13, 2009 at 8:20 PM, Steve Reinhardt <ste...@gmail.com>
>>> wrote:
>>>
>>>> It's also a sign of a deadlock... perhaps there's a deadlock situation
>>>> that's not covered by the assertion.
>>>>
>>>> Steve
>>>>
>>>>
>>>> On Mon, Jul 13, 2009 at 3:31 PM, Cong Wang <jameswan...@yahoo.com>
>>>> wrote:
>>>>
>>>>> The error suggests that you do not have anything on the main event
>>>>> queue. Please check if you are making the proper call to schedule
>>>>> events correctly on the main event queue.
>>>>>
>>>>> Regards
>>>>> James Wang
>>>>>
>>>>> On Mon, Jul 13, 2009 at 3:12 PM, soumyaroop roy<s...@cse.usf.edu>
>>>>> wrote:
>>>>> > Hello all,
>>>>> >
>>>>> > I tried to run the testcase 01.hello-2T-smt for SPARC without
>>>>> > increasing
>>>>> the
>>>>> > number of physical registers (in o3-timing.py script) and I was
>>>>> > hoping
>>>>> to
>>>>> > see an assertion failure because of the following statement in
>>>>> > cpu.cc:
>>>>> > assert(params->numPhysIntRegs   >= numThreads * TheISA::NumIntRegs);
>>>>> >
>>>>> > However, I get no such failure. Instead, I get this error:
>>>>> > "Exiting @ tick 9223372036854775807 because simulate() limit reached"
>>>>> >
>>>>> > Here are the contents of simout (numThreads and TheISA::NumIntRegs
>>>>> > are
>>>>> also
>>>>> > printed out):
>>>>> > </fast/quick/01.hello-2T-smt/sparc/linux/o3-timing$ more simout
>>>>> > M5 Simulator System
>>>>> >
>>>>> > Copyright (c) 2001-2008
>>>>> > The Regents of The University of Michigan
>>>>> > All Rights Reserved
>>>>> >
>>>>> >
>>>>> > M5 compiled Jul 13 2009 16:27:20
>>>>> > M5 revision 94c016415053+ 6283+ default tip
>>>>> > M5 started Jul 13 2009 18:03:38
>>>>> > M5 executing on theoracle
>>>>> > command line: build/SPARC_SE/m5.fast -d
>>>>> > build/SPARC_SE/tests/fast/quick/01.hello-2T-smt/sparc/linux/o3-timing
>>>>> -re
>>>>> > tests/run.py
>>>>> > build/SPARC_SE/tests/fast/quick/01.hello-2T-smt/sparc/linux/o3-timing
>>>>> > Global frequency set at 1000000000000 ticks per second
>>>>> > numThreads: 2
>>>>> > numIntRegs: 169
>>>>> > numFloatRegs: 64
>>>>> > info: Entering event queue @ 0.  Starting simulation...
>>>>> > Exiting @ tick 9223372036854775807 because simulate() limit reached
>>>>> >
>>>>> > While my simerr is this:
>>>>> > </fast/quick/01.hello-2T-smt/sparc/linux/o3-timing$ more simerr
>>>>> > warn: Sockets disabled, not accepting gdb connections
>>>>> > For more information see: http://www.m5sim.org/warn/d946bea6
>>>>> >
>>>>> > What am I doing wrong here?
>>>>> >
>>>>> > regards,
>>>>> > Soumyaroop.
>>>>> >
>>>>> > --
>>>>> > Soumyaroop Roy
>>>>> > Ph.D. Candidate
>>>>> > Department of Computer Science and Engineering
>>>>> > University of South Florida, Tampa
>>>>> > http://www.csee.usf.edu/~sroy <http://www.csee.usf.edu/%7Esroy>
>>>>> > _______________________________________________
>>>>> > m5-users mailing list
>>>>> > m5-us...@m5sim.org
>>>>> > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>> >
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Regards
>>>>> James Wang
>>>>> _______________________________________________
>>>>> m5-users mailing list
>>>>> m5-us...@m5sim.org
>>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> m5-users mailing list
>>>> m5-us...@m5sim.org
>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>
>>>
>>>
>>>
>>> --
>>> Soumyaroop Roy
>>> Ph.D. Candidate
>>> Department of Computer Science and Engineering
>>> University of South Florida, Tampa
>>> http://www.csee.usf.edu/~sroy
>>>
>>
>>
>
>
>
> --
> Soumyaroop Roy
> Ph.D. Candidate
> Department of Computer Science and Engineering
> University of South Florida, Tampa
> http://www.csee.usf.edu/~sroy
>
> _______________________________________________
> m5-users mailing list
> m5-us...@m5sim.org
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>



-- 
- Korey
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to