[gem5-users] Re: Can we use our own debug flags in fs mode?

2020-07-13 Thread Saideepak Bejawada via gem5-users
Hi Gabe,

Thanks for the reply. I guess prefetcher is varying the output every time. Am I 
right?. 
Regarding the debug flags, the code works perfectly in SE mode, even in FS mode 
if I don't specify any flag it runs fine. The problem comes only if I specify 
any flag. If I specify an already existing flag, it keeps printing debug 
statements even before I start the telnet session(I guess there is some 
pre-processing involved which is using the simulator code.). In case if I 
specify my own flag it throws an error. Can you think of anything which can run 
in SE mode and not in FS mode? Is this because of a bug in previous versions 
and later resolved in newer ones because I am using gem5-40c18bb90501(an older 
version) or am I missing anything? Forgive me If I am missing anything basic 
here.

Thanks,
Saideepak.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s


[gem5-users] Re: Can we use our own debug flags in fs mode?

2020-07-13 Thread Gabe Black via gem5-users
You can use your own debug flags in FS mode. The stats should mostly be
deterministic, particularly in FS mode, but if the simulation interacts
with something else that's not deterministic, like if you type on its
console or it runs system calls on the host in SE mode, then things can
change from run to run or from host machine to host machine.

Gabe

On Sun, Jul 12, 2020 at 6:26 AM Saideepak Bejawada via gem5-users <
gem5-users@gem5.org> wrote:

> Hi all,
>
> I was trying to use my own debug flag while running in full system mode. I
> got an error(Not a valid PC error) while doing it. Initially, I thought
> there might be an error in my code. But strangely, the code runs fine if I
> don't specify my debug flag. So I was wondering if this because of my code
> or Is it the case that we cannot use our own debug flags in fs mode? One
> more thing I want to ask is whether the stats vary on each run or are they
> deterministic?
> Thanks for your time.
>
> Thanks,
> Saideepak.
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Benchmark terminating early

2020-07-13 Thread Ciro Santilli via gem5-users
SE I suppose? It seems that the benchmark ends normally with an exit
syscall, I would start by looking at --debug-flags SyscallBase to
double check that.

Then if that is the case, the only explanation is that some value is
getting corrupted somewhere due to a gem5 bug. So I would try to: 1)
compare traces from an Atomic and O3 run 2) GDB into the GDB stub to
see what leads to that exit being called.


On Fri, Jul 10, 2020 at 5:15 PM Alex Freij via gem5-users
 wrote:
>
> Hello all,
>
> I'm running a single core X86 o3 sim with SPEC2006 benchmarks, and have run 
> into a scenario where some of the benchmarks are terminating early. Using the 
> "DRAM" debug flag, I see this message upon termination:
>
> Exiting @ tick 67067500 because exiting with last active thread context
> 67067500: system.mem_ctrls_0: Computing stats due to a dump callback
> 67067500: system.mem_ctrls_1: Computing stats due to a dump callback
>
> Does anyone know of any way to properly debug the root cause of this issue? I 
> have also used the Exec and ExecAll flags, but not much more information was 
> provided.
>
> Thank you,
>
> - Alex
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s


On Fri, Jul 10, 2020 at 5:15 PM Alex Freij via gem5-users
 wrote:
>
> Hello all,
>
> I'm running a single core X86 o3 sim with SPEC2006 benchmarks, and have run 
> into a scenario where some of the benchmarks are terminating early. Using the 
> "DRAM" debug flag, I see this message upon termination:
>
> Exiting @ tick 67067500 because exiting with last active thread context
> 67067500: system.mem_ctrls_0: Computing stats due to a dump callback
> 67067500: system.mem_ctrls_1: Computing stats due to a dump callback
>
> Does anyone know of any way to properly debug the root cause of this issue? I 
> have also used the Exec and ExecAll flags, but not much more information was 
> provided.
>
> Thank you,
>
> - Alex
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s


[gem5-users] Re: Memory -Address -Gem5-O3

2020-07-13 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Thanks Patel for your email.

But I want to change in the source code because I want to find the address for 
the load instruction followed by specific instruction. Do you know where in 
gem5 should I make the changes? For instance, I want to know the memory 
addresses of every LD instruction followed by MOV and save those addresses in 
text file.

Thanks



From: VIPIN PATEL via gem5-users 
Sent: Monday, July 13, 2020 5:56 PM
To: gem5 users mailing list 
Cc: VIPIN PATEL 
Subject: [gem5-users] Re: Memory -Address -Gem5-O3

Hi Alrhman,

Look into the protocol state machine, say L1cache state machine. More 
specifically you can modify the mandatory_queue_in code for your requirement. 
The sequencer puts the CPU request into mandatory queue.

Revert incase of any query.

Regards,
Vipin

On Mon, 13 Jul, 2020, 01:18 ABD ALRHMAN ABO ALKHEEL via gem5-users, 
mailto:gem5-users@gem5.org>> wrote:
Hi All, I am currently working on Gem5 with CPU O3 and I want to collect each 
instruction and it’s memory address , I can do that by using - 
-debug-file=Exec. But I want to know where can I find those address and print 
them on txt file. Which file does do that in Gem5? Any help would be 
appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to 
gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory -Address -Gem5-O3

2020-07-13 Thread VIPIN PATEL via gem5-users
Hi Alrhman,

Look into the protocol state machine, say L1cache state machine. More
specifically you can modify the mandatory_queue_in code for your
requirement. The sequencer puts the CPU request into mandatory queue.

Revert incase of any query.

Regards,
Vipin

On Mon, 13 Jul, 2020, 01:18 ABD ALRHMAN ABO ALKHEEL via gem5-users, <
gem5-users@gem5.org> wrote:

> Hi All, I am currently working on Gem5 with CPU O3 and I want to collect
> each instruction and it’s memory address , I can do that by using -
> -debug-file=Exec. But I want to know where can I find those address and
> print them on txt file. Which file does do that in Gem5? Any help would be
> appreciated. Thanks
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory -Address -Gem5-O3

2020-07-13 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Thanks Carlos for your help.

But I want to change in the source code because I want to find the address for 
the load instruction followed by specific instruction. Do you know where in 
gem5 should i make the changes ?

Thanks


From: Francisco Carlos via gem5-users 
Sent: Monday, July 13, 2020 4:59 PM
To: gem5 users mailing list 
Cc: Francisco Carlos 
Subject: [gem5-users] Re: Memory -Address -Gem5-O3

hello Abd,

You can see a similar output by enabling the Exec debug-flag. I would suggest 
you look at the gem5 documentation to further details in the debug-flags 
available and how to use them. 
(http://learning.gem5.org/book/part2/debugging.html#:~:text=gem5%20provides%20support%20for%20printf,enable%20from%20the%20command%20line.)

A quick answer for you question is the following command :

./build/x86/gem.opt  --debug-flag=Exec configs/se.py -c 

With this command, the output will be printed in the console. You can also 
redirect the output to a file by adding --debug-file=file.txt.

Tip: You can use grep to filter only memory access.

Best regards.

--
Francisco Carlos Silva Junior
Phd Student at University of Brasilia


De: ABD ALRHMAN ABO ALKHEEL via gem5-users 
Enviado: segunda-feira, 13 de julho de 2020 13:02
Para: gem5-users ; gem5 users mailing list 

Cc: ABD ALRHMAN ABO ALKHEEL 
Assunto: [gem5-users] Re: Memory -Address -Gem5-O3

Hi All,

Which file in gem5 prints the following output? I want to find the memory 
address for each instruction. Any help would be appreciated.

[cid:98ceb09f-11ce-44d2-9afd-a7a6af430c10]


From: ABD ALRHMAN ABO ALKHEEL
Sent: Sunday, July 12, 2020 7:46 PM
To: gem5-users ; gem5 users mailing list 

Subject: Memory -Address -Gem5-O3

Hi All, I am currently working on Gem5 with CPU O3 and I want to collect each 
instruction and it’s memory address , I can do that by using - 
-debug-file=Exec. But I want to know where can I find those address and print 
them on txt file. Which file does do that in Gem5? Any help would be 
appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Infinite loop in memory controller

2020-07-13 Thread Wendy Elsasser via gem5-users
Hi Taiyu,
Looks like you have a single memory controller with 2 ranks instantiated.

  *   The log flags labeled system.mem_ctrls are for general controller messages
  *   The log flags labeled system.mem_ctrls_0 relate to rank 0 specific info
  *   The log flags labeled system.mem_ctrls_1 relate to rank 1 specific info

The messages in the log file included are for DRAM maintenance operations, 
specifically a refresh command. This is required periodically to maintain the 
bit cell contents. The messages seem to be occurring at the normal intervals, 
with the delays that are defined for a DDR3 device. The refresh command takes 
260ns and is issued every 7.8us, which is in-line with the DDR3 configuration 
and DRAM requirements. What is missing is read/write activity in between these 
refresh operations. It appears that the controller is not receiving any 
read/write requests but more info is needed to fully debug.

Thanks,
Wendy

From: Taiyu Zhou via gem5-users 
Reply-To: gem5 users mailing list 
Date: Friday, July 10, 2020 at 4:18 AM
To: "gem5-users@gem5.org" 
Cc: Taiyu Zhou <645505...@qq.com>
Subject: [gem5-users] Infinite loop in memory controller

Hi guys!
I run a Muti-thread program in gem5 with O3CPU but it will not exit.

./build/X86/gem5.opt --debug-flags=DRAM,BaseXBar,DRAMState,DRAMPower 
configs/example/se.py \
--cpu-type=DerivO3CPU --sys-clock=4GHz \
-c /home/ubuntu/taiyu/test_app/sps_t -o 2 -n 3 \
--caches --l2cache --l1d_size=64kB --l1i_size=32kB --l2_size=2048kB 
--l2_assoc=8 --mem-size=16GB


And I found there is infinite loop in it.
“
19814475: system.mem_ctrls: QoS Turnarounds selected state READ
19814475: system.mem_ctrls: Rank 0 is not available
19814475: system.mem_ctrls_0: Scheduling power event at 19814475 to 
state 0
19814475: system.mem_ctrls_0: Refresh done at 19814475 and next refresh 
at 19815229
19814475: system.mem_ctrls_0: Was refreshing for 26 ticks
19814475: system.mem_ctrls_0: Scheduling next request after refreshing rank 0
19814475: system.mem_ctrls_0: All banks precharged
19814475: system.mem_ctrls: QoS Turnarounds selected state READ
198152276250: system.mem_ctrls_0: Refresh due
198152276250: system.mem_ctrls_0: All banks already precharged, starting refresh
198152276250: system.mem_ctrls_0: Scheduling power event at 198152276250 to 
state 1
198152276250: system.mem_ctrls_0: Refreshing
198152276250: system.mem_ctrls_0: 158521821,REF,0,0
198152276250: system.mem_ctrls_1: Refresh due
198152276250: system.mem_ctrls_1: All banks already precharged, starting refresh
198152276250: system.mem_ctrls_1: Scheduling power event at 198152276250 to 
state 1
198152276250: system.mem_ctrls_1: Refreshing
198152276250: system.mem_ctrls_1: 158521821,REF,0,1
198152536250: system.mem_ctrls_1: Scheduling power event at 198152536250 to 
state 0
198152536250: system.mem_ctrls_1: Refresh done at 198152536250 and next refresh 
at 198160076250
198152536250: system.mem_ctrls_1: Was refreshing for 26 ticks
198152536250: system.mem_ctrls_1: Scheduling next request after refreshing rank 
1
198152536250: system.mem_ctrls_1: All banks precharged
198152536250: system.mem_ctrls: QoS Turnarounds selected state READ
198152536250: system.mem_ctrls: Rank 0 is not available
198152536250: system.mem_ctrls_0: Scheduling power event at 198152536250 to 
state 0
198152536250: system.mem_ctrls_0: Refresh done at 198152536250 and next refresh 
at 198160076250
198152536250: system.mem_ctrls_0: Was refreshing for 26 ticks
198152536250: system.mem_ctrls_0: Scheduling next request after refreshing rank 0
198152536250: system.mem_ctrls_0: All banks precharged
198152536250: system.mem_ctrls: QoS Turnarounds selected state READ
198160062500: system.mem_ctrls_0: Refresh due
198160062500: system.mem_ctrls_0: All banks already precharged, starting refresh
198160062500: system.mem_ctrls_0: Scheduling power event at 198160062500 to 
state 1
198160062500: system.mem_ctrls_0: Refreshing
198160062500: system.mem_ctrls_0: 158528050,REF,0,0
198160062500: system.mem_ctrls_1: Refresh due
198160062500: system.mem_ctrls_1: All banks already precharged, starting refresh
198160062500: system.mem_ctrls_1: Scheduling power event at 198160062500 to 
state 1
198160062500: system.mem_ctrls_1: Refreshing
198160062500: system.mem_ctrls_1: 158528050,REF,0,1

“
 And are there any hint about why this infinite loop happen?What this event is 
doing? Why are there three memory controller system.mem_ctrls, 
system.mem_ctrls_0 and system.mem_ctrls_1?


IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to 

[gem5-users] Re: Memory -Address -Gem5-O3

2020-07-13 Thread Francisco Carlos via gem5-users
hello Abd,

You can see a similar output by enabling the Exec debug-flag. I would suggest 
you look at the gem5 documentation to further details in the debug-flags 
available and how to use them. 
(http://learning.gem5.org/book/part2/debugging.html#:~:text=gem5%20provides%20support%20for%20printf,enable%20from%20the%20command%20line.)

A quick answer for you question is the following command :

./build/x86/gem.opt  --debug-flag=Exec configs/se.py -c 

With this command, the output will be printed in the console. You can also 
redirect the output to a file by adding --debug-file=file.txt.

Tip: You can use grep to filter only memory access.

Best regards.

--
Francisco Carlos Silva Junior
Phd Student at University of Brasilia


De: ABD ALRHMAN ABO ALKHEEL via gem5-users 
Enviado: segunda-feira, 13 de julho de 2020 13:02
Para: gem5-users ; gem5 users mailing list 

Cc: ABD ALRHMAN ABO ALKHEEL 
Assunto: [gem5-users] Re: Memory -Address -Gem5-O3

Hi All,

Which file in gem5 prints the following output? I want to find the memory 
address for each instruction. Any help would be appreciated.

[cid:98ceb09f-11ce-44d2-9afd-a7a6af430c10]


From: ABD ALRHMAN ABO ALKHEEL
Sent: Sunday, July 12, 2020 7:46 PM
To: gem5-users ; gem5 users mailing list 

Subject: Memory -Address -Gem5-O3

Hi All, I am currently working on Gem5 with CPU O3 and I want to collect each 
instruction and it’s memory address , I can do that by using - 
-debug-file=Exec. But I want to know where can I find those address and print 
them on txt file. Which file does do that in Gem5? Any help would be 
appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory -Address -Gem5-O3

2020-07-13 Thread Ghadeer Almusaddar via gem5-users
You can get the output you are looking for by using --debug-flag=Exec and
--debug-file=[file you want to write to]
Also you may find --debug-start and --debug-end useful for you

On Mon, Jul 13, 2020 at 12:04 PM ABD ALRHMAN ABO ALKHEEL via gem5-users <
gem5-users@gem5.org> wrote:

> Hi All,
>
> Which file in gem5 prints the following output? I want to find the memory
> address for each instruction. Any help would be appreciated.
>
>
>
> --
> *From:* ABD ALRHMAN ABO ALKHEEL
> *Sent:* Sunday, July 12, 2020 7:46 PM
> *To:* gem5-users ; gem5 users mailing list <
> gem5-users@gem5.org>
> *Subject:* Memory -Address -Gem5-O3
>
> Hi All, I am currently working on Gem5 with CPU O3 and I want to collect
> each instruction and it’s memory address , I can do that by using -
> -debug-file=Exec. But I want to know where can I find those address and
> print them on txt file. Which file does do that in Gem5? Any help would be
> appreciated. Thanks
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Memory -Address -Gem5-O3

2020-07-13 Thread ABD ALRHMAN ABO ALKHEEL via gem5-users
Hi All,

Which file in gem5 prints the following output? I want to find the memory 
address for each instruction. Any help would be appreciated.

[cid:eb12e102-62a0-40c1-90a3-38629a58b9fc]


From: ABD ALRHMAN ABO ALKHEEL
Sent: Sunday, July 12, 2020 7:46 PM
To: gem5-users ; gem5 users mailing list 

Subject: Memory -Address -Gem5-O3

Hi All, I am currently working on Gem5 with CPU O3 and I want to collect each 
instruction and it’s memory address , I can do that by using - 
-debug-file=Exec. But I want to know where can I find those address and print 
them on txt file. Which file does do that in Gem5? Any help would be 
appreciated. Thanks
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s