[gem5-users] NVM interface in full system

2021-09-01 Thread Shougang Yuan via gem5-users
Hi, All,

The new gem5 can support NVM interface now. However, it seems that this nvm
interface cannot work well with full system. Anyone in our community knows
the status of this NVM with full system?

Thanks and regards
Yuan
___
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: GDB debug help

2020-10-02 Thread Shougang Yuan via gem5-users
Hi, Abhishek,

Thanks for your help. Do you have any hints about gdb backtrace in gem5? I
am new to gdb debugging.

Best regards.

On Fri, Oct 2, 2020 at 12:03 PM Abhishek Singh <
abhishek.singh199...@gmail.com> wrote:

> Hi Yuan,
>
> Can you just backtrace using gdb, this will directly point the gem5
> function which is giving the error?
>
> On Fri, Oct 2, 2020 at 12:01 PM Shougang Yuan via gem5-users <
> gem5-users@gem5.org> wrote:
>
>> Hi, Giacomo,
>>
>> Thanks for your help. I am currently suffering a new problem. I set the
>> break tick to be a relatively large number because the segmentation faults
>> in my simulation happen after several millions of instructions, and the gdb
>> has run the whole night up to now but it still can not reach the tick I
>> want to look at. So do you know how to jump to the interesting program
>> phase more quickly?
>>
>> Best regards.
>> Shougang
>>
>> On Fri, Oct 2, 2020 at 5:49 AM Giacomo Travaglini <
>> giacomo.travagl...@arm.com> wrote:
>>
>>> Hi Shougang
>>>
>>>
>>>
>>> curTick is a function as you can see from:
>>>
>>>
>>>
>>> (gdb) p curTick
>>> $1 = {Tick (void)} 0x562aea48 
>>>
>>>
>>>
>>> Could you try doing:
>>>
>>>
>>>
>>> (gdb) p curTick()
>>>
>>>
>>>
>>> It should display the current Tick time
>>>
>>>
>>>
>>> Giacomo
>>>
>>>
>>>
>>> *From:* Shougang Yuan via gem5-users 
>>> *Sent:* 02 October 2020 04:00
>>> *To:* gem5 users mailing list 
>>> *Cc:* Shougang Yuan 
>>> *Subject:* [gem5-users] GDB debug help
>>>
>>>
>>>
>>> Hi, All,
>>>
>>>
>>>
>>> I am running simulation in se mode and trying to use gdb debug a
>>> segmentation fault. Through trace debug, I found that the simulation
>>> suffers a segmentation fault in tick 534558604750.
>>>
>>>
>>>
>>> To figure out the reason for this bug, I launched the gdb debugger. But
>>> I suffered some weird results. Usually, when using gdb debug, we use
>>> "--debug-break" or "schedBrak()" to set breakpoint. And we can use "p
>>> curTick" to dump out the current tick.
>>>
>>>
>>>
>>> My simulation stopped at tick 534558604750, and I sched the break in
>>> tick 100. It is much more early than the time when this memory bug
>>> happens. But when I call "p curTick", the gdb dumped out something like the
>>> following:
>>>
>>>
>>>
>>> Program received signal SIGTRAP, Trace/breakpoint trap.
>>> 0x75c28237 in kill () at ../sysdeps/unix/syscall-template.S:78
>>> 78 ../sysdeps/unix/syscall-template.S: No such file or directory.
>>> (gdb) p curTick
>>> $1 = {Tick (void)} 0x562aea48 
>>> (gdb) p _curTick
>>> No symbol "_curTick" in current context.
>>> (gdb)
>>>
>>>
>>>
>>> And when I set the breakpoint time to tick 2000, this is the very
>>> beginning of the simulation, I still can not dump out the current tick
>>> value.
>>>
>>>
>>>
>>> So what's wrong with it? Can some please help me out? Thanks for your
>>> help.
>>>
>>>
>>>
>>> Best regards.
>>>
>>> Yuan
>>> 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-le...@gem5.org
>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>
> --
> Best Regards,
> Abhishek
>
___
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: GDB debug help

2020-10-02 Thread Shougang Yuan via gem5-users
Hi, Giacomo,

Thanks for your help. I am currently suffering a new problem. I set the
break tick to be a relatively large number because the segmentation faults
in my simulation happen after several millions of instructions, and the gdb
has run the whole night up to now but it still can not reach the tick I
want to look at. So do you know how to jump to the interesting program
phase more quickly?

Best regards.
Shougang

On Fri, Oct 2, 2020 at 5:49 AM Giacomo Travaglini <
giacomo.travagl...@arm.com> wrote:

> Hi Shougang
>
>
>
> curTick is a function as you can see from:
>
>
>
> (gdb) p curTick
> $1 = {Tick (void)} 0x562aea48 
>
>
>
> Could you try doing:
>
>
>
> (gdb) p curTick()
>
>
>
> It should display the current Tick time
>
>
>
> Giacomo
>
>
>
> *From:* Shougang Yuan via gem5-users 
> *Sent:* 02 October 2020 04:00
> *To:* gem5 users mailing list 
> *Cc:* Shougang Yuan 
> *Subject:* [gem5-users] GDB debug help
>
>
>
> Hi, All,
>
>
>
> I am running simulation in se mode and trying to use gdb debug a
> segmentation fault. Through trace debug, I found that the simulation
> suffers a segmentation fault in tick 534558604750.
>
>
>
> To figure out the reason for this bug, I launched the gdb debugger. But I
> suffered some weird results. Usually, when using gdb debug, we use
> "--debug-break" or "schedBrak()" to set breakpoint. And we can use "p
> curTick" to dump out the current tick.
>
>
>
> My simulation stopped at tick 534558604750, and I sched the break in tick
> 100. It is much more early than the time when this memory bug happens.
> But when I call "p curTick", the gdb dumped out something like the
> following:
>
>
>
> Program received signal SIGTRAP, Trace/breakpoint trap.
> 0x75c28237 in kill () at ../sysdeps/unix/syscall-template.S:78
> 78 ../sysdeps/unix/syscall-template.S: No such file or directory.
> (gdb) p curTick
> $1 = {Tick (void)} 0x562aea48 
> (gdb) p _curTick
> No symbol "_curTick" in current context.
> (gdb)
>
>
>
> And when I set the breakpoint time to tick 2000, this is the very
> beginning of the simulation, I still can not dump out the current tick
> value.
>
>
>
> So what's wrong with it? Can some please help me out? Thanks for your help.
>
>
>
> Best regards.
>
> Yuan
> 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-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] GDB debug help

2020-10-01 Thread Shougang Yuan via gem5-users
Hi, All,

I am running simulation in se mode and trying to use gdb debug a
segmentation fault. Through trace debug, I found that the simulation
suffers a segmentation fault in tick 534558604750.

To figure out the reason for this bug, I launched the gdb debugger. But I
suffered some weird results. Usually, when using gdb debug, we use
"--debug-break" or "schedBrak()" to set breakpoint. And we can use "p
curTick" to dump out the current tick.

My simulation stopped at tick 534558604750, and I sched the break in tick
100. It is much more early than the time when this memory bug happens.
But when I call "p curTick", the gdb dumped out something like the
following:

Program received signal SIGTRAP, Trace/breakpoint trap.
0x75c28237 in kill () at ../sysdeps/unix/syscall-template.S:78
78 ../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) p curTick
$1 = {Tick (void)} 0x562aea48 
(gdb) p _curTick
No symbol "_curTick" in current context.
(gdb)

And when I set the breakpoint time to tick 2000, this is the very beginning
of the simulation, I still can not dump out the current tick value.

So what's wrong with it? Can some please help me out? Thanks for your help.

Best regards.
Yuan
___
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] How to initialize the the Stats:Scalar value and convert it to unsigned value

2020-09-22 Thread Shougang Yuan via gem5-users
Hi, All,

I am trying to use gem5 internal scalar data type(Stats:Scalar), I tried to
initialize it to a fixed value and register it in the regStats() function,
but after the simulation, I found the value dumped out is 0.

And also, if I want to do some calculation based on this value and convert
it into unsigned value, there are errors in compilation. So how can I
convert it to unsigned value?

Thanks for the help.

Best regards.

Shougang
___
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] tutorials about gem5-gpu

2020-09-07 Thread Shougang Yuan via gem5-users
Hi, All,

I am trying to get started with gem5-gpu, are there any tutorials about it
for beginners?

Best regards.
Shougang
___
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] dump out the register value of each instruction

2020-07-09 Thread Shougang Yuan via gem5-users
Hi, All,

I want to dump out the source register and destination register value of
each instruction. Suppose I have one instruction MOV_R_M : ld   rax,
DS:[rdx + 0x20]. How can I dump out the value of register *rax* and *rdx*.

>From the debug trace like Exec or ExecAll. I can see that the result or the
destination register is dumped out, but the source register values are not.
So is there a way to dump out the values of these registers in the pipeline.

Best regards.
Shougang
___
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: Running a program on GEM5 for specific number of instructions

2020-07-08 Thread Shougang Yuan via gem5-users
If you are talking about the SE mode, you can use the se.py. The fast
forward option and max instruction option will be helpful.

On Wed, Jul 8, 2020 at 2:28 PM ABD ALRHMAN ABO ALKHEEL via gem5-users <
gem5-users@gem5.org> wrote:

> Hi All,
>
> I want to run a program for 100k instructions but I want to skip the first
> 50k instructions? How can i do this? 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: How to track the register values of instructions.

2020-07-07 Thread Shougang Yuan via gem5-users
Hi, Prof.Jason,

Thanks for your detailed reply. I found that in the gem5 website about gdb
debugging. It mentioned that there are some dump functions that can be
called from the debugger and the website list some of them. Is there a way
to know more details about these functions that can dump out the
instruction queue and the ROB.

Best regards.
Yuan

On Tue, Jul 7, 2020 at 5:35 PM Jason Lowe-Power  wrote:

> Hi Yuan,
>
> A couple of suggestions:
> 1. You can use "--debug-file" to output to a file. Or, you can even use a
> named pipe with grep to filter out only the instructions you care about.
> You can also use "--debug-start" to delay debug printing until close to
> where the problem occurs.
> 2. You can use GDB to try to debug things. You can use "--debug-break" to
> have a breakpoint happen at a precise tick. In GDB, you can print out
> things like the register file values. You should be able to use the thread
> context and/or the execution context to get the values of registers in GDB.
> These are the interfaces from the CPU models to the outside world and the
> ISA implementation, respectively. However, if you're using an out-of-order
> model, it's not always obvious or easy to figure out what the architectural
> state of some register is.
>
> Cheers,
> Jason
>
> On Tue, Jul 7, 2020 at 2:23 PM Shougang Yuan  wrote:
>
>> Hi, Prof.Jason,
>>
>> Thanks for your reply. But actually I want to dump out the register value
>> for some specific instructions because I suspect that the instruction
>> execution may have some issues in my model. I tried to use Exec and
>> ExecAll, but the trace is so large and a lot of these traces are not needed
>> for me. I want to dump out the register values of the instructions I am
>> interested in. i.e, if I have an add instruction, how can I dump out the
>> source register value and dst register value of this instruction when it is
>> executed or when it is in the commit stage. I tried to check the static or
>> dynamic instruction classes, but seems that these values are not
>> carried/stored with each instruction? Am I correct? Could you please give
>> more hints?
>>
>> Best regards.
>> Yuan
>>
>> On Thu, Jul 2, 2020 at 11:07 AM Jason Lowe-Power 
>> wrote:
>>
>>> Hi Yuan,
>>>
>>> You might find the Exec and ExecAll debug flags useful.
>>>
>>> Cheers,
>>> Jason
>>>
>>> On Thu, Jul 2, 2020 at 7:48 AM Shougang Yuan via gem5-users <
>>> gem5-users@gem5.org> wrote:
>>>
>>>> Hi, All,
>>>>
>>>> I am trying to modify the gem5 code and suffer some memory corruption
>>>> bugs. I want to look at more details of each instruction. So is there a way
>>>> to dump out the register value of each instruction.
>>>>
>>>> Best regards.
>>>> Yuan
>>>> ___
>>>> 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: How to track the register values of instructions.

2020-07-07 Thread Shougang Yuan via gem5-users
Hi, Prof.Jason,

Thanks for your reply. But actually I want to dump out the register value
for some specific instructions because I suspect that the instruction
execution may have some issues in my model. I tried to use Exec and
ExecAll, but the trace is so large and a lot of these traces are not needed
for me. I want to dump out the register values of the instructions I am
interested in. i.e, if I have an add instruction, how can I dump out the
source register value and dst register value of this instruction when it is
executed or when it is in the commit stage. I tried to check the static or
dynamic instruction classes, but seems that these values are not
carried/stored with each instruction? Am I correct? Could you please give
more hints?

Best regards.
Yuan

On Thu, Jul 2, 2020 at 11:07 AM Jason Lowe-Power 
wrote:

> Hi Yuan,
>
> You might find the Exec and ExecAll debug flags useful.
>
> Cheers,
> Jason
>
> On Thu, Jul 2, 2020 at 7:48 AM Shougang Yuan via gem5-users <
> gem5-users@gem5.org> wrote:
>
>> Hi, All,
>>
>> I am trying to modify the gem5 code and suffer some memory corruption
>> bugs. I want to look at more details of each instruction. So is there a way
>> to dump out the register value of each instruction.
>>
>> Best regards.
>> Yuan
>> ___
>> 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] gem5 functional mode simulation

2020-07-02 Thread Shougang Yuan via gem5-users
Hi, All,

I want to use the functional simulator of gem5 to verify the results of
some program. But I did not find a  lot of information online about the
functional mode. So how can we use functional mode in gem5?

Best regards.
Yuan
___
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] How to track the register values of instructions.

2020-07-02 Thread Shougang Yuan via gem5-users
Hi, All,

I am trying to modify the gem5 code and suffer some memory corruption bugs.
I want to look at more details of each instruction. So is there a way to
dump out the register value of each instruction.

Best regards.
Yuan
___
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: How to modify the simulator to load shared libs

2020-06-14 Thread Shougang Yuan via gem5-users
Hi, Ciro,

I tried as what you mentioned again and again, I symlinked all the
libraries to a directory and use the "--redirects" option to redirect the
/lib64 to this directory, but the simulation still shows the same error, it
can not load these shared libs. So this --redirect option may not be a good
solution. The benchmark I used is whisper(
https://research.cs.wisc.edu/multifacet/whisper/).

Best regards.
Shougang

On Tue, Jun 9, 2020 at 11:38 AM Ciro Santilli 
wrote:

> Hmmm, it is there on develop:
>
> https://github.com/gem5/gem5/blob/96fce476785a834f102ae69a895e661cf08e47cd/configs/common/Options.py#L402
>
> On Tue, Jun 9, 2020 at 4:31 PM Shougang Yuan  wrote:
> >
> > I tried as you said, but the error message is "error: no such option:
> --redirects", and I check the options.py file in the configs/common
> directory, it seems that this option has been deprecated? Or is there
> anything I misunderstand?
> >
> > Best regards.
> > Shougang
> >
> > On Tue, Jun 9, 2020 at 10:40 AM Ciro Santilli 
> wrote:
> >>
> >> --redirects /lib64=/path/to/where/you/symlinked/everything
> >>
> >> The linker will search in /lib64 normally, then gem5 will redirect
> >> that file read to the path with all symlinks.
> >>
> >> On Tue, Jun 9, 2020 at 3:26 PM Shougang Yuan  wrote:
> >> >
> >> > Hi, Crio,
> >> >
> >> > Could you please give more hints about redirect /lib64 or that
> directory? I can understand syslink the needed shared library into a
> directory, and after that, you mean I need to redirect the lib64 to this
> directory or?
> >> >
> >> > Best regards.
> >> > Shougang
> >> >
> >> > On Tue, Jun 9, 2020 at 2:36 AM Ciro Santilli 
> wrote:
> >> >>
> >> >> One thing to try if you are desperate: symlink every needed shared
> >> >> library into a directory, and then redirect /lib64 or that directory.
> >> >> I'm pretty sure this should work.
> >> >>
> >> >> I'm not sure why LD_LIBRARY_PATH does not work. I would dig dieeper
> >> >> and try to understand that, theoretically it feels like it should
> >> >> work.
> >> >>
> >> >>
> >> >> On Mon, Jun 8, 2020 at 6:05 PM Shougang Yuan via gem5-users
> >> >>  wrote:
> >> >> >
> >> >> > Hi, All,
> >> >> >
> >> >> > I am currently trying to run some benchmarks that need some shared
> libs. If I run these benchmarks on physical machines, I need to reset
> LD_LIBRARY_PATH to load these libs.
> >> >> >
> >> >> > But when I run the benchmarks with gem5, I tried to use --env
> options and --redirects options to set LD_LIBRARY_PATH, and these two
> options seem to not work with LD_LIBRARY_PATH correctly.
> >> >> >
> >> >> > So how can I modify the simulator to load these shared libs. I am
> fine to modify the simulator infrastructures. So can anyone give some hints
> about this? Thanks a lot.
> >> >> >
> >> >> > Best regards.
> >> >> > Shougang
> >> >> > ___
> >> >> > 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: How to modify the simulator to load shared libs

2020-06-09 Thread Shougang Yuan via gem5-users
I tried as you said, but the error message is "error: no such option:
--redirects", and I check the options.py file in the configs/common
directory, it seems that this option has been deprecated? Or is there
anything I misunderstand?

Best regards.
Shougang

On Tue, Jun 9, 2020 at 10:40 AM Ciro Santilli 
wrote:

> --redirects /lib64=/path/to/where/you/symlinked/everything
>
> The linker will search in /lib64 normally, then gem5 will redirect
> that file read to the path with all symlinks.
>
> On Tue, Jun 9, 2020 at 3:26 PM Shougang Yuan  wrote:
> >
> > Hi, Crio,
> >
> > Could you please give more hints about redirect /lib64 or that
> directory? I can understand syslink the needed shared library into a
> directory, and after that, you mean I need to redirect the lib64 to this
> directory or?
> >
> > Best regards.
> > Shougang
> >
> > On Tue, Jun 9, 2020 at 2:36 AM Ciro Santilli 
> wrote:
> >>
> >> One thing to try if you are desperate: symlink every needed shared
> >> library into a directory, and then redirect /lib64 or that directory.
> >> I'm pretty sure this should work.
> >>
> >> I'm not sure why LD_LIBRARY_PATH does not work. I would dig dieeper
> >> and try to understand that, theoretically it feels like it should
> >> work.
> >>
> >>
> >> On Mon, Jun 8, 2020 at 6:05 PM Shougang Yuan via gem5-users
> >>  wrote:
> >> >
> >> > Hi, All,
> >> >
> >> > I am currently trying to run some benchmarks that need some shared
> libs. If I run these benchmarks on physical machines, I need to reset
> LD_LIBRARY_PATH to load these libs.
> >> >
> >> > But when I run the benchmarks with gem5, I tried to use --env options
> and --redirects options to set LD_LIBRARY_PATH, and these two options seem
> to not work with LD_LIBRARY_PATH correctly.
> >> >
> >> > So how can I modify the simulator to load these shared libs. I am
> fine to modify the simulator infrastructures. So can anyone give some hints
> about this? Thanks a lot.
> >> >
> >> > Best regards.
> >> > Shougang
> >> > ___
> >> > 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: How to modify the simulator to load shared libs

2020-06-09 Thread Shougang Yuan via gem5-users
Hi, Crio,

Could you please give more hints about redirect /lib64 or that directory? I
can understand syslink the needed shared library into a directory, and
after that, you mean I need to redirect the lib64 to this directory or?

Best regards.
Shougang

On Tue, Jun 9, 2020 at 2:36 AM Ciro Santilli 
wrote:

> One thing to try if you are desperate: symlink every needed shared
> library into a directory, and then redirect /lib64 or that directory.
> I'm pretty sure this should work.
>
> I'm not sure why LD_LIBRARY_PATH does not work. I would dig dieeper
> and try to understand that, theoretically it feels like it should
> work.
>
>
> On Mon, Jun 8, 2020 at 6:05 PM Shougang Yuan via gem5-users
>  wrote:
> >
> > Hi, All,
> >
> > I am currently trying to run some benchmarks that need some shared libs.
> If I run these benchmarks on physical machines, I need to reset
> LD_LIBRARY_PATH to load these libs.
> >
> > But when I run the benchmarks with gem5, I tried to use --env options
> and --redirects options to set LD_LIBRARY_PATH, and these two options seem
> to not work with LD_LIBRARY_PATH correctly.
> >
> > So how can I modify the simulator to load these shared libs. I am fine
> to modify the simulator infrastructures. So can anyone give some hints
> about this? Thanks a lot.
> >
> > Best regards.
> > Shougang
> > ___
> > 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 exits with last active thread context

2020-06-08 Thread Shougang Yuan via gem5-users
Hi, Bobby,

Thanks for the reply. I have identified that the reason is the simulator
can not load the shared libs used by the benchmark. The benchmark I used
needs some shared library and needs to reset the LD_LIBRARY_PATH
environment variable. And when I run it with gem5, the error message is
"error while loading shared libraries: libkp_kvstore.so.1: cannot open
shared object file: No such file or directory".

To solve this problem, I tried --env option and --redirects option, but
these two options can not reset the environment variable correctly and make
it run with gem5. Do you have any hints about how to solve this issue?

Best regards.
Shougang

On Mon, Jun 8, 2020 at 2:47 PM Bobby Bruce  wrote:

> Hey Shougang,
>
> Can you provide us with a few more details?:
>
> - The version of gem5 you are using.
> - The exact command you are executing.
> - The benchmarks used (and where they may be obtained, if possible).
> - The exact output, including error, you received.
>
> Kind regards,
> Bobby
> --
> Dr. Bobby R. Bruce
> Room 2235,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
>
>
> On Sun, Jun 7, 2020 at 11:28 AM Shougang Yuan via gem5-users <
> gem5-users@gem5.org> wrote:
>
>> Hi, All,
>>
>> I am trying to run some benchmarks with gem5, and it always exits with
>> the last active thread context. But actually, the program has never been
>> executed. Any hints about this? THanks a lot.
>>
>> Best regards.
>> Shougang
>> ___
>> 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] How to modify the simulator to load shared libs

2020-06-08 Thread Shougang Yuan via gem5-users
Hi, All,

I am currently trying to run some benchmarks that need some shared libs. If
I run these benchmarks on physical machines, I need to
reset LD_LIBRARY_PATH to load these libs.

But when I run the benchmarks with gem5, I tried to use --env options and
--redirects options to set LD_LIBRARY_PATH, and these two options seem to
not work with LD_LIBRARY_PATH correctly.

So how can I modify the simulator to load these shared libs. I am fine to
modify the simulator infrastructures. So can anyone give some hints about
this? Thanks a lot.

Best regards.
Shougang
___
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: How to add shared libs that used by benchmarks to the simulator

2020-06-08 Thread Shougang Yuan via gem5-users
I do see that forum, but I need to add multiple shared libs with
"LD_LIBRARY_PATH" environment variable, can I use multiple redirects to add
it multiple times? I mean, Can I use it like "--redirects
LD_LIBRARY_PATH=/some/path; --redirects LD_LIBRARY_PATH=/some/path" ?

And also, I noticed someone in gem5 mailing list mentioned that --env
option in se.py can help with this. I tried to add LD_LIBRARY_PATH in a txt
file and feed this file into simulator with --env option. but the error is
still can not find this lib. Do you have any hints about this?

Best regards.
Shougang

On Mon, Jun 8, 2020 at 10:42 AM Ciro Santilli 
wrote:

> Have you tried --redirects as mentioned at
>
> https://stackoverflow.com/questions/5054/how-to-run-a-dynamically-linked-executable-syscall-emulation-mode-se-py-in-gem5/50696098#50696098
> ?
>
> On Mon, Jun 8, 2020 at 2:31 PM Shougang Yuan  wrote:
> >
> > In syscall emulation mode. I tried to use --env option with myse.py, but
> it still shows the same error.
> >
> > On Mon, Jun 8, 2020 at 3:39 AM Ciro Santilli 
> wrote:
> >>
> >> Syscall emulation or full system?
> >>
> >> On Sun, Jun 7, 2020 at 10:01 PM Shougang Yuan via gem5-users
> >>  wrote:
> >> >
> >> > HI, All,
> >> >
> >> > I am trying to run some benchmarks that need some shared libs, and
> these shared libs are imported by setting the environment variables
> "LD_LIBRARY_PATH" if I run it on physical machines. But if I run the
> benchmarks with gem5, the error message is "error while loading shared
> libraries: libs.so.1: cannot open shared object file: No such file or
> directory".
> >> >
> >> > Any hints about how to solve this issue? Thanks a lot.
> >> >
> >> > Best regards.
> >> > Shougang
> >> > ___
> >> > 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: How to add shared libs that used by benchmarks to the simulator

2020-06-08 Thread Shougang Yuan via gem5-users
In syscall emulation mode. I tried to use --env option with myse.py, but it
still shows the same error.

On Mon, Jun 8, 2020 at 3:39 AM Ciro Santilli 
wrote:

> Syscall emulation or full system?
>
> On Sun, Jun 7, 2020 at 10:01 PM Shougang Yuan via gem5-users
>  wrote:
> >
> > HI, All,
> >
> > I am trying to run some benchmarks that need some shared libs, and these
> shared libs are imported by setting the environment variables
> "LD_LIBRARY_PATH" if I run it on physical machines. But if I run the
> benchmarks with gem5, the error message is "error while loading shared
> libraries: libs.so.1: cannot open shared object file: No such file or
> directory".
> >
> > Any hints about how to solve this issue? Thanks a lot.
> >
> > Best regards.
> > Shougang
> > ___
> > 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] How to add shared libs that used by benchmarks to the simulator

2020-06-07 Thread Shougang Yuan via gem5-users
HI, All,

I am trying to run some benchmarks that need some shared libs, and these
shared libs are imported by setting the environment variables
"LD_LIBRARY_PATH" if I run it on physical machines. But if I run the
benchmarks with gem5, the error message is "error while loading shared
libraries: libs.so.1: cannot open shared object file: No such file or
directory".

Any hints about how to solve this issue? Thanks a lot.

Best regards.
Shougang
___
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] benchmark exits with last active thread context

2020-06-07 Thread Shougang Yuan via gem5-users
Hi, All,

I am trying to run some benchmarks with gem5, and it always exits with the
last active thread context. But actually, the program has never been
executed. Any hints about this? THanks a lot.

Best regards.
Shougang
___
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] Question about environment variables

2020-06-07 Thread Shougang Yuan via gem5-users
Hi, All,

I have c++ code that originally runs on physical machines with the ubuntu
system, and to run these code on physical machines, I need to set some
environment variables through export command or by modifying the bashrc
files. Now I want to run the same code with gem5. So how can I add these
environment variables to the simulator?

Best regards.
Shougang
___
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: Protobuf error on different ubuntu version

2020-05-22 Thread Shougang Yuan via gem5-users
Hi, Giacomo,

Thanks for your reply, could you please give more hints about how to remove
the wundef locally?

Best regards.
Shougang

On Fri, May 22, 2020 at 4:16 PM Giacomo Travaglini <
giacomo.travagl...@arm.com> wrote:

> Hi Shougang,
>
>
>
> This happens since some protobuf versions use preprocessing symbols
> without defining them (relying on the fact they default to 0).
>
> This is clashing with gem5 behaviour of warning on undefined symbols
> (Wundef).
>
>
>
> Feel free to remove the Wundef locally (as a hack) or choose a protobuf
> version which is not breaking with Wundef.
>
> I’ve found that protobuf 3.6.1 is gem5 compatible
>
>
>
> Giacomo
>
>
>
>
>
> *From:* Shougang Yuan via gem5-users 
> *Sent:* 22 May 2020 20:57
> *To:* gem5 users mailing list 
> *Cc:* Shougang Yuan 
> *Subject:* [gem5-users] Protobuf error on different ubuntu version
>
>
>
> Hi, All,
>
>
>
> I developed some code based on gem5 and ran it on ubuntu16 before.
> Recently I have installed a newer version of ubuntu18 and tried to re-run
> my code. I pulled the cold to my private github repo on ubuntu16 and clone
> it again to the ubuntu18, but I suffered the error as shown in the
> following:
>
>
>
> [libprotobuf WARNING google/protobuf/compiler/parser.cc:547] No syntax
> specified for the proto file: packet.proto. Please use 'syntax = "proto2";'
> or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2
> syntax.)
>  [ CXX] X86/mem/abstract_mem.cc -> .o
>  [ CXX] X86/mem/comm_monitor.cc -> .o
> In file included from build/X86/mem/comm_monitor.cc:46:0:
> build/X86/proto/packet.pb.h:314:6: error: "PROTOBUF_INLINE_NOT_IN_HEADERS"
> is not defined [-Werror=undef]
>  #if !PROTOBUF_INLINE_NOT_IN_HEADERS
>
>
>
> I tried some methods from gem5 user lists and did not make it work again.
> I am wondering if someone else faced the same issues, and if there is a
> known fix for this.
>
>
>
> Thanks for your help.
>
>
>
> Best regards.
>
> Shougang
>
>
> 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-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Protobuf error on different ubuntu version

2020-05-22 Thread Shougang Yuan via gem5-users
Hi, All,

I developed some code based on gem5 and ran it on ubuntu16 before. Recently
I have installed a newer version of ubuntu18 and tried to re-run my code. I
pulled the cold to my private github repo on ubuntu16 and clone it again to
the ubuntu18, but I suffered the error as shown in the following:

[libprotobuf WARNING google/protobuf/compiler/parser.cc:547] No syntax
specified for the proto file: packet.proto. Please use 'syntax = "proto2";'
or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2
syntax.)
 [ CXX] X86/mem/abstract_mem.cc -> .o
 [ CXX] X86/mem/comm_monitor.cc -> .o
In file included from build/X86/mem/comm_monitor.cc:46:0:
build/X86/proto/packet.pb.h:314:6: error: "PROTOBUF_INLINE_NOT_IN_HEADERS"
is not defined [-Werror=undef]
 #if !PROTOBUF_INLINE_NOT_IN_HEADERS

I tried some methods from gem5 user lists and did not make it work again. I
am wondering if someone else faced the same issues, and if there is a known
fix for this.

Thanks for your help.

Best regards.
Shougang
___
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

Re: [gem5-users] Linux boot

2020-02-26 Thread Shougang Yuan
Hi, Abhishek,

I also have similar questions. I can boot the ubuntu18.04 and kernel 5.2.3
with timingSimpleCPu and KVM, but I want to run simulation with
DeriveO3CPU. Do you know how to change the CPU to DeriveO3 after we boot
the system with kvm or timingsimple cou?

Best regards.

Yuan

On Thu, Feb 27, 2020 at 1:10 AM Abhishek Singh <
abhishek.singh199...@gmail.com> wrote:

>
> Hi,
>
> You can use KVM CPU, it will boot the system fast as it works on host
> machine speed.
>
> On Thu, Feb 27, 2020 at 1:00 AM niranjan soundararajan <
> niranja...@gmail.com> wrote:
>
>> Hello
>>
>> We are booting Ubuntu 18.0.4 and kernel 5.2.3 on x86_64 bit core. We are
>> running the following commandline
>>
>> ./build/X86/gem5.opt configs/example/fs.py
>> --disk-image=ubuntu_base_v1.1.img --kernel=vmlinux-5.2.3
>> --cpu-type=AtomicSimpleCPU --caches --l2cache --mem-size=8192MB
>>
>> We notice that the boot process starts and proceeds successfully until we
>> hit the following point (see below). Its stuck there for quite some time. I
>> wanted to check if this is common or is there something we can do to speed
>> it up? Whats sort of the typical boot times folks have seen with x86 cores
>> (or others) and is there a checkpoint we can take in case we run into
>> errors to avoid starting from scratch?
>>
>> *[  OK  ] Reached target Remote File Systems.*
>>
>> * Starting Availability of block devices...*
>>
>> *[  OK  ] Started Availability of block devices.*
>>
>>
>>
>> Thanks
>>
>> Niranjan
>> ___
>> gem5-users mailing list
>> gem5-users@gem5.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
> ___
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] CPU scheduler

2020-02-20 Thread Shougang Yuan
Dear All,

I am trying to find the code about cpu scheduler in SE mode about
multi-core simulation setup. I mean, when we configured several O3 cpus
and assigned a program to each core, how are these cpus been scheduled? Can
anyone provide some details about this? Thanks.

Best regards.

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

[gem5-users] Exact meaning of ExtMachInst

2020-02-20 Thread Shougang Yuan
Hi, All,

I am getting confused about "ExtMachInst", it is used a lot in cpu side,
and the only explanation about it I found is in the static_inst.hh, a short
description of "Binary extended machine instruction type". Can anyone
provide more details about this? I am quite confused about this part.
Thanks.

Best regards.

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

Re: [gem5-users] 回复: 回复: ask for help about simulate with noncherentcahe

2020-01-06 Thread Shougang Yuan
Hi, All,

Would you mind to share the details about using the NoncoherentCache. I
have the same issue about "panic: panic condition !from_cpu_side occurred:
Non-coherent cache received functional snoop request" when I use the
NoncoherentCache as the last level cache(L3 cache). I defined the L3 cache
as an instance of NoncoherentCache, and define the L3Bus similar to L2Xbar.
But I suffered the previous error and can not resolve it. Instead, I use
Cache for L3 and make my code work. But I am still wondering how you get
rid of this error.

Best regards.

Yuan

On Wed, Dec 25, 2019 at 5:38 AM Muhammad Aamir 
wrote:

> Hi yuan, would you please state how you were able to get rid of the 
> "Non-coherent
> cache received functional snoop request" error? As I would like to know as
> well.
>
> Thanks
>
> On Thu, 19 Dec 2019 at 12:58, 616653241 <616653...@qq.com> wrote:
>
>> Hi, Giacomo,
>>  Thank you very much. That is what i need.
>>
>> -- 原始邮件 --
>> *发件人:* "Giacomo Travaglini";
>> *发送时间:* 2019年12月19日(星期四) 下午5:50
>> *收件人:* "616653241"<616653...@qq.com>;"gem5-users";
>> *主题:* Re: [gem5-users] 回复: ask for help about simulate with
>> noncherentcahe
>>
>> Can I suggest you to have a look at configs/example/memtest.py?
>> The script is using a Noncoherent cache as LLC.
>>
>> Maybe this would help you on how to attach it.
>>
>> Otherwise we were running regressions using a Noncoherent cache in the
>> past.
>>
>>
>> https://gem5-review.googlesource.com/c/public/gem5/+/22683/2/tests/configs/base_config.py#b280
>>
>> (This is not happening anymore, but feel free to take the script as an
>> inspiration)
>>
>> Giacomo
>> --
>> *From:* gem5-users  on behalf of 616653241 <
>> 616653...@qq.com>
>> *Sent:* 19 December 2019 01:43
>> *To:* gem5-users 
>> *Subject:* [gem5-users] 回复: ask for help about simulate with
>> noncherentcahe
>>
>> Hi,Abhishek,
>>Thank you for your answer.
>>But, I'm a beginner, and I still dont know how to do it.
>>I just modified the caches.py and the two_level.py Script( see
>> the attached files). But I got a error says "Non-coherent cache received
>> functional snoop request". It may should be in the LLC, but I dont know how
>> to do it?
>>   So, can you give some advice? Thank you again.
>>
>>
>> -- 原始邮件 --
>> *发件人:* "Abhishek Singh";
>> *发送时间:* 2019年12月19日(星期四) 凌晨1:09
>> *收件人:* "gem5 users mailing list";
>> *主题:* Re: [gem5-users] ask for help about simulate with noncherentcahe
>>
>> Hi yuan,
>> In order to that, you need to call non-coherent cache
>> instead of cache in config/common/Caches.py file.
>> From my experience I am able to use LLC as non coherent cache.
>> Please note this is how I used in classic cache model.
>>
>> On Wed, Dec 18, 2019 at 11:54 AM 616653241 <616653...@qq.com> wrote:
>>
>> hi, everyone,
>> can anybody tell me that how does gem5 O3 CPU simulate with
>> noncoherentcache?
>> yours
>> wuhua
>>
>> ___
>> gem5-users mailing list
>> gem5-users@gem5.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>> 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
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
> ___
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Question about No-coherent cache as last level cache

2020-01-06 Thread Shougang Yuan
Hi, All,

I added a last level cache(L3 cache) to the system I simulated, I
configured the L3/LLC in Caches.py as an instance of Cache class, I defined
the L3Bus as a SystemXbar instance. And is this case, it works fine for all
spec2006 benchmarks.

But when I change the L3 cache as an instance of NoncoherentCache. I
suffered the error "panic: panic condition !from_cpu_side occurred:
Non-coherent cache received functional snoop request". I noticed that there
is one mail about this topic. As mentioned about that mail, I check the
code in config/example/memtest.py, I found in this memtest.py, the mem side
port of LLC is connected to system.physmem.port, and physmem is an instance
of SimpleMemory. I am wondering if there are any tricks to use
NoncoherentCache?

Best regards.

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

Re: [gem5-users] Question about compile after adding global funcs

2019-11-07 Thread Shougang Yuan
Hi, Francisco Carlos,

Thanks for your reply. I do add ifndef in mycode. I have added a lot
self-defined fucns before by adding the ifndef-define-endif. BUt this
morning, I always suffer from this error. The errors are as follows:

build/X86/mem/cache/lib.o.partial: In function `':
/home/syuan3/gem5/build/X86/mem/heap.hh:17: multiple definition of `'
build/X86/cpu/o3/lib.o.partial:/home/syuan3/gem5/build/X86/mem/heap.hh:17:
first defined here
collect2: error: ld returned 1 exit status
scons: *** [build/X86/gem5.opt] Error 1
scons: building terminated because of errors

Best regards.

Yuan

On Thu, Nov 7, 2019 at 9:52 AM Francisco Carlos 
wrote:

> Hi, Yuan
>
> Did you use #ifdef in your file my_func.hh?
>
> You should use #ifdef to avoid multiple definitions and circular includes.
>
> So, in the first line of your file my_func.hh, you must insert the
> following code:
>
> #ifndef _MEM_MY_FUNC_HH_
> #define  _MEM_MY_FUNC_HH_
>
> And in the last line of your file my_func.hh, you insert the code:
>
> #endif
>
>
> I think this should solve your problem.
>
>
> --
> Francisco Carlos Silva Junior
> PhD Student at University of Brasilia
>
>
> --
> *De:* gem5-users  em nome de yuan <
> syu...@ncsu.edu>
> *Enviado:* quinta-feira, 7 de novembro de 2019 11:28
> *Para:* gem5 users mailing list 
> *Assunto:* [gem5-users] Question about compile after adding global funcs
>
>
> Hi, All,
>
>
>
> I suffered one problem of multiple definition when compiling, what I did
> is adding some new functions I need in a file name my_func.hh under
> src/mem/, and in the file cache.cc where I need these functions I use
> #include “mem/my_func.hh”, but when I re-compile the gem5, it always shows
> the error of multiple definition of “the name of my func”. Does anyone have
> some hints on this?
>
>
>
> Best,
>
>
>
> Yuan
>
>
>
> Sent from Mail  for
> Windows 10
>
>
> ___
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] Question about muti-processor simulation on se mode

2019-09-07 Thread Shougang Yuan
Hi, Crio Santilli,

Thank for your kind help. I have tried this minimal program with the
command line as follow:

build/X86/gem5.opt configs/example/se.py -c
../linux-kernel-module-cheat-master/userland/posix/pthread_self.out -o 2
--mem-type=DDR4_2400_8x8 --mem-size=8GB -n 4 --cpu-type=DerivO3CPU --caches
--l1d_size=64kB --l1d_assoc=8 --l1i_size=32kB --l1i_assoc=8 --l2cache
--l2_size=512kB --l2_assoc=16

After the simulation, I can see the statistics for cpu0, cpu1 and cpcu2,
but the statistics for cpu3 are still all 0. And also, after this minimal
program, I tried again with the unmodified code of gem5 with 4 cpus running
spec2006 ebnchmark, but the result is still the same as before, only cpu0
has statistics. other cpu are still 0. The commandline is as follow:

build/X86/gem5.opt --outdir=bzip2/ configs/example/se.py -c
../benchmarks/spec2006/benchspec/CPU2006/401.bzip2/exe/bzip2_base.x86 -o
../benchmarks/spec2006/benchspec/CPU2006/401.bzip2/data/ref/input/control
--mem-type=DDR4_2400_8x8 --mem-size=8GB --num-cpus 4 --cpu-type=DerivO3CPU
--caches --l1d_size=64kB --l1d_assoc=8 --l1i_size=32kB --l1i_assoc=8
--l2cache --l2_size=512kB --l2_assoc=16 --fast-forward=1000
--maxinsts=1000

And I have checked the config.ini file after the simulation, the config.ini
file shows that all the cpu3, caches, ports and bus are well connected and
initilized. But eventually the statistics for cpu1, cpu2 and cpu3 are 0. I
am quiet confused about this. Is there any tricks when running spec
benchmark with multi core on se mode.

Best regards.

Shougang

On Sat, Sep 7, 2019 at 10:12 PM Ciro Santilli 
wrote:

>
>
> On Sun, Sep 8, 2019 at 12:57 AM yuan  wrote:
>
>> Hi, Ciro Santilli,
>>
>>
>>
>> I have tried the whole afternoon about this minimal c pthread program,
>> but I can not make it run on gem5. Could you please tell me how to compile
>> this minimal program such that it can be feed into gem5 simulator?
>>
>>
>>
>
> On Ubuntu 19.04 as shown at:
> https://stackoverflow.com/questions/53085048/how-to-compile-and-run-an-executable-in-gem5-syscall-emulation-mode-with-se-py/53085049#53085049
>
> gcc -static -o pthread_self.out pthread_self.c -pthread
> build/X86/gem5.opt configs/example/se.py pthread_self.out --num-cpus
> 3 --options 2
>
>
>> Best regards.
>>
>>
>>
>> Yuan
>>
>>
>>
>> Sent from Mail  for
>> Windows 10
>>
>>
>>
>> *From: *Ciro Santilli 
>> *Sent: *Saturday, September 7, 2019 12:51 PM
>> *To: *yuan ; gem5 users mailing list
>> 
>> *Subject: *Re: [gem5-users] Question about muti-processor simulation on
>> se mode
>>
>>
>>
>>
>>
>>
>>
>> On Sat, Sep 7, 2019 at 5:00 PM yuan  wrote:
>>
>> Hi, Ciro Santilli,
>>
>>
>>
>> Thanks for your reply. I have added some print statement in the CPU
>> constructor to dump out the number of threads in each CPU, there are four
>> statement dumped out, I think this means that the thread has already been
>> create for each CPU. And also, in se.py, the “system.cpu[i].createThreads”
>>  is also called four times. Eventually, the stats.txt file has the info of
>> each thread for each CPU, but the statistics is all 0. To test this part, I
>> also tried on unmodified code of gem5, and the results is the same. Only
>> one CPU has statistics.
>>
>>
>>
>>
>>
>> Can you try with the following minimal C pthread program?
>> https://github.com/cirosantilli/linux-kernel-module-cheat/blob/6aa375df2ad3ce2e7d741d09b378503c25547df1/userland/posix/pthread_self.c
>>
>>
>>
>> I ran it on current master spawning 2 threads (3 in total main + 2), and
>> I see stats for CPU 1 and 2, for example:
>>
>>
>>
>> system.cpu1.Branches  531
>>   # Number of branches fetched
>> system.cpu1.apic_clk_domain.clock8000
>>   # Clock period in ticks
>> system.cpu1.committedInsts   2263
>>   # Number of instructions committed
>>
>>
>>
>> Best regards.
>>
>>
>>
>> Yuan
>>
>>
>>
>> Sent from Mail  for
>> Windows 10
>>
>>
>>
>> *From: *Ciro Santilli 
>> *Sent: *Saturday, September 7, 2019 6:32 AM
>> *To: *gem5 users mailing list ; syu...@ncsu.edu
>> *Subject: *Re: [gem5-users] Question about muti-processor simulation on
>> se mode
>>
>>
>>
>>
>>
>>
>>
>> On Sat, Sep 7, 2019 at 1:23 AM yuan  wrote:
>>
>> Hi, all,
>>
>>
>>
>> I am trying to simulate a system with 4 cores, a test command line is as
>> follow:
>>
>> build/X86/gem5.opt configs/example/se.py -n 4 --cpu-type=DerivO3CPU
>> --mem-type=DDR4_2400_8x8 --mem-size=8GB --caches --l1d_size=64kB
>> --l1i_size=32kB --l2cache --l2_size=512kB -c
>> ../spec2006/benchspec/CPU2006/401.bzip2/exe/bzip2_base.x86 -o
>> ../spec2006/benchspec/CPU2006/401.bzip2/data/ref/input/control
>> --fast-forward=1000 --maxinsts=1
>>
>>
>>
>> But eventually, when I look at the stats.txt file, I find that there is
>> only statistics for cpu0, all the statistics for other cpu, including cpu1,
>> cpu2, cpu3 are 0. And also, 

[gem5-users] question about build errors

2019-08-19 Thread Shougang Yuan
Hi, all,

Today I suffered from a weird problem when building gem5. I make some
changes and then re-build it, but the error shows like this. And when I get
a new repo from gem5 without any modification, the same error shows up
again. Anyone knows what happened to this?

In file included from build/libfdt/fdt.c:35:0:
build/libfdt/libfdt_internal.h: In function 'fdt_reserve_entry*
_fdt_mem_rsv_w(void*, int)':
build/libfdt/libfdt_internal.h:71:54: error: invalid conversion from
'void*' to 'fdt_reserve_entry*' [-fpermissive]
 return (void *)(uintptr_t)_fdt_mem_rsv(fdt, n);
  ^
build/libfdt/fdt.c: In function 'const void* fdt_offset_ptr(const void*,
int, unsigned int)':
build/libfdt/fdt.c:65:28: error: invalid conversion from 'const void*' to
'const char*' [-fpermissive]
 p = _fdt_offset_ptr(fdt, offset);
^
build/libfdt/fdt.c: In function 'uint32_t fdt_next_tag(const void*, int,
int*)':
build/libfdt/fdt.c:80:30: error: invalid conversion from 'const void*' to
'const fdt32_t* {aka const unsigned int*}' [-fpermissive]
 tagp = fdt_offset_ptr(fdt, offset, FDT_TAGSIZE);
  ^
build/libfdt/fdt.c:91:43: error: invalid conversion from 'const void*' to
'const char*' [-fpermissive]
 p = fdt_offset_ptr(fdt, offset++, 1);
   ^
build/libfdt/fdt.c:98:38: error: invalid conversion from 'const void*' to
'const fdt32_t* {aka const unsigned int*}' [-fpermissive]
 lenp = fdt_offset_ptr(fdt, offset, sizeof(*lenp));
  ^
scons: *** [build/libfdt/fdt.os] Error 1
scons: building terminated because of errors.

Best regards.
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Panic: Resetting mouse warp mode unimplemented

2019-03-31 Thread Shougang Yuan
Hi, all,

I am trying to use x86 full system simulation to test my code. I followed
the link http://www.lowepower.com/jason/setting-up-gem5-full-system.html
to build the kernel. But I suffered the panic: resetting mouse warp mode
unimplemented.
I am wondering if anyone else has suffered the same problem, and could you
please tell me how you solve it?

The terminal output is as follows:

warn: instruction 'sgdt_Ms' unimplemented
warn: x86 cpuid family 0x: unimplemented function 6
warn: x86 cpuid family 0x: unimplemented function 6
warn: x86 cpuid family 0x: unimplemented function 6
warn: ClockedObject: Already in the requested power state, request ignored
warn: instruction 'wbinvd' unimplemented
warn: x86 cpuid family 0x: unimplemented function 6
warn: x86 cpuid family 0x: unimplemented function 6
warn: x86 cpuid family 0x: unimplemented function 6
hack: Assuming logical destinations are 1 << id.
warn: Write to unknown i8042 (keyboard controller) command port.
warn: Tried to clear PCI interrupt 14
panic: Resetting mouse wrap mode unimplemented.
Memory Usage: 5007560 KBytes
Program aborted at tick 1788713998000
--- BEGIN LIBC BACKTRACE ---
build/X86/gem5.opt(_Z15print_backtracev+0x28)[0xdf59a8]
build/X86/gem5.opt(_Z12abortHandleri+0x46)[0xe06246]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fb980fe3390]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7fb97f9eb428]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7fb97f9ed02a]
build/X86/gem5.opt[0x7b0b4f]
build/X86/gem5.opt(_ZN8PS2Mouse4recvERKSt6vectorIhSaIhEE+0x4dd)[0x9060dd]
build/X86/gem5.opt(_ZN9PS2Device9hostWriteEh+0x147)[0x900ae7]
build/X86/gem5.opt(_ZN6X86ISA5I80425writeEP6Packet+0xaac)[0x8266dc]
build/X86/gem5.opt(_ZN7PioPort10recvAtomicEP6Packet+0x6e)[0x16c470e]
build/X86/gem5.opt(_ZN15NoncoherentXBar10recvAtomicEP6Packets+0x29e)[0xfb0a9e]
build/X86/gem5.opt(_ZN6Bridge15BridgeSlavePort10recvAtomicEP6Packet+0x38)[0xf851c8]
build/X86/gem5.opt(_ZN12CoherentXBar10recvAtomicEP6Packets+0x686)[0xf8d076]
build/X86/gem5.opt(_ZN5Cache19handleAtomicReqMissEP6PacketRP8CacheBlkRNSt7__cxx114listIS1_SaIS1_EEE+0x218)[0x1782968]
build/X86/gem5.opt(_ZN9BaseCache10recvAtomicEP6Packet+0x244)[0x177fdd4]
build/X86/gem5.opt(_ZN5Cache10recvAtomicEP6Packet+0x13b)[0x1786b5b]
build/X86/gem5.opt(_ZN15AtomicSimpleCPU8writeMemEPhjm5FlagsImEPm+0x5ce)[0x1842abe]
build/X86/gem5.opt(_ZN17SimpleExecContext8writeMemEPhjm5FlagsImEPm+0x29)[0x18503f9]
build/X86/gem5.opt(_ZNK10X86ISAInst2St7executeEP11ExecContextPN5Trace10InstRecordE+0x28b)[0x15d7b6b]
build/X86/gem5.opt(_ZN15AtomicSimpleCPU4tickEv+0x3bc)[0x1841cfc]
build/X86/gem5.opt(_ZN10EventQueue10serviceOneEv+0xc5)[0xdfc335]
build/X86/gem5.opt(_Z9doSimLoopP10EventQueue+0x50)[0xe18c60]
build/X86/gem5.opt(_Z8simulatem+0xd1b)[0xe19d4b]
build/X86/gem5.opt[0x18383ca]
build/X86/gem5.opt[0xadf397]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7852)[0x7fb9812a07b2]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fb9813d711c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fb98129ff5d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fb9813d711c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fb98129ff5d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7fb9813d711c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7fb98129ff5d]
--- END LIBC BACKTRACE ---
Aborted (core dumped)

Shougang Yuan
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users