Re: [Gems-users] LogTM SE in Gems 2.1


Date: Thu, 6 Mar 2008 09:56:08 +1300
From: "Fuad Tabba" <fuad@xxxxxxxxxxxxxxxxx>
Subject: Re: [Gems-users] LogTM SE in Gems 2.1
Thanks again Jayaram.

It's working now, the problem was that atmtp was enabled, I still don't know why, even though there's no mention of it in microbench.py (which I'm importing), only in atmtp.py. To disable it added @run_sim_command("ruby0.setparam_str ATMTP_ENABLED false")
right after @start_ruby() in my simics script, which seems to be working fine now.

Cheers,
/Fuad

On Thu, Mar 6, 2008 at 8:23 AM, Jayaram Bobba <bobba@xxxxxxxxxxx> wrote:
Can you check the value of ATMTP_ENABLED flag in your simulation. It
needs to be set to false for
normal LogTM simulations. I dont see any other reason for the
transaction to be aborted after an
exception (cycle 186332).

The other red flag:

### Executing "instruction-fetch-mode instruction-fetch-trace"
[cpu0 error] You must use the 'stall' variant of this cpu to get access
to the instruction-fetch-trace mode.
[cpu1 error] You must use the 'stall' variant of this cpu to get access
to the instruction-fetch-trace mode.
New instruction-fetch-mode:
### Executing "instruction-fetch-mode"
cpu0: no-instruction-fetch
cpu1: no-instruction-fetch

You need to run simics with -stall option in order to ensure that
instruction fetches are given
to Ruby.

And finally, regarding the mismatch between Open and Closed,
transactions at nesting level 1 are treated as Open
transactions. Closed and Open transactions have the same semantics at
the outermost nesting level.

Jayaram

Fuad Tabba wrote:
> Thanks for your reply Jayaram.
>
> I guess it was simple after all. However; I am having some problems. I
> tried converting one of the old benchmarks (a red black tree, running
> one thread on a two processor machine). I call the initialization and
> set_register functions however the simulation crashes. I'm using
> closed transactions, however the first thing I notice (from the debug
> trace) is that I'm getting what seems to be a mismatch of open/closed
> transactions:-
>
>  185045   0 [0,0] TID 0 XACT BEGIN 0  PC 0x19d38  *PC 0x1000400 'magic
> (sethi 0x400, %g0)' CLOSED
> ...
> ...
> ...
>  185626   0 [0,0] TID 0 XACT COMMIT 0  PC 0x19e6c  *PC 0x4000094d
> 'call 0x196283a0' OPEN
>
> After a few of those transactions I get the following in the middle of
> a transaction:-
>  186331   0 [0,0 ]  XACT Exception(68)_START--Trap Level
> 0--(PC=0x1a0a0, 1a0a4) instruction = stw %o1, [%o0 + 0]
>  186332   0 [0,0 ]  XACT Exception(68)_DONE--Trap Level
> 1--(PC=0x1001660, 1001664)--(TPC=0x1a0a0, 1a0a4)
>  186332   0 [0,0] TID 0 XACT ABORT 0 caused by 0 [ 0, 0 ] xid: 0
> address: [0x0, line 0x0] delay: 186332  PC [0x0, line 0x0]  *PC
> 0xffffffff 'illegal instruction: ff ff ff ff'
> SIMICS SEG FAULT  for thread 0 of proc 0
> SIMICS SEG FAULT
>
> And that's it pretty much. I'm sure I must be doing something wrong, a
> setting here or there but not sure what it is. I've attached the debug
> trace to this email.
>
> Thanks again for your help.
>
> Cheers,
> /Fuad
>
>
>
> On Wed, Mar 5, 2008 at 1:23 PM, Jayaram Bobba <bobba@xxxxxxxxxxx
> <mailto:bobba@xxxxxxxxxxx>> wrote:
>
>
>     Step 1: Call init_transaction_state(num_threads) before thread
>     creation
>     Step 2: Call set_transaction_registers(thread_id) before a thread
>     starts
>     executing transactions.
>
>     Binding threads to processors is highly recommended.
>
>     Hope this answers your questions...
>
>     Jayaram
>
>     Fuad Tabba wrote:
>     > Hi,
>     >
>     > I'm an old user of GEMS 1.3, I'm now migrating to GEMS 2.1,
>     > specifically to use the LogTM SE simulation. After reading the
>     page TM
>     > Workload Setup
>     >
>     (http://www.cs.wisc.edu/gems/doc/wiki/moin.cgi/TM_Workload_Setup) , it
>     > doesn't seem to be as straightforward as I initially thought it
>     would
>     > be. I thought that all I needed to do was redefine the magic calls
>     > that would begin and commit a transaction in the old LogTM, but if I
>     > understand that page correctly, some data structures need to be
>     > initialized first....
>     >
>     > Anyone can point me in the direction of the easiest way to port
>     > existing code based on the old LogTM to the new one? Something along
>     > the lines of the minimum that needs to be done to get old code
>     running
>     > the old LogTM to work with LogTM SE.
>     >
>     > Thanks.
>     >
>     > Cheers,
>     > /Fuad
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Gems-users mailing list
>     > Gems-users@xxxxxxxxxxx <mailto:Gems-users@xxxxxxxxxxx>
>     > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
>     > Use Google to search the GEMS Users mailing list by adding
>     "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
>     >
>     >
>     _______________________________________________
>     Gems-users mailing list
>     Gems-users@xxxxxxxxxxx <mailto:Gems-users@xxxxxxxxxxx>
>     https://lists.cs.wisc.edu/mailman/listinfo/gems-users
>     Use Google to search the GEMS Users mailing list by adding
>     "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
>
>
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.


[← Prev in Thread] Current Thread [Next in Thread→]