[gem5-users] Multi-threading on ARM timing CPU

2018-04-17 Thread Singh, G.
Hi All,

I am trying to run a simple multi-threaded program on ARM processor with 4 
cpu's and 4 threads.
This program works perfectly for DerivO3CPU but the same program on timing 
model gives the errors given
below.  Actually I get the correct result but the program run does not complete.

Also, is there an option to simulate multithreaded code with each thread on 
different processor using se.py?
Right now I am writing a new script file.

gem5.opt: build/ARM/cpu/simple/timing.cc:237: virtual void 
TimingSimpleCPU::suspendContext(ThreadID): Assertion `_status == 
BaseSimpleCPU::Running' failed.
Program aborted at tick 4576216124000
--- BEGIN LIBC BACKTRACE ---
../../tools/gem5/build/ARM/gem5.opt(_Z15print_backtracev+0x28)[0xb05d28]
../../tools/gem5/build/ARM/gem5.opt(_Z12abortHandleri+0x46)[0xb24396]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7efd25543390]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7efd24269428]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7efd2426b02a]
/lib/x86_64-linux-gnu/libc.so.6(+0x2dbd7)[0x7efd24261bd7]
/lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7efd24261c82]
../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14suspendContextEs+0x335)[0xfe1035]
../../tools/gem5/build/ARM/gem5.opt(_Z13exitGroupFuncP11SyscallDesciP11LiveProcessP13ThreadContext+0x57)[0xb85677]
../../tools/gem5/build/ARM/gem5.opt(_ZN11SyscallDesc9doSyscallEiP11LiveProcessP13ThreadContext+0xa8)[0xb8afe8]
../../tools/gem5/build/ARM/gem5.opt(_ZN11LiveProcess7syscallElP13ThreadContext+0x49)[0xb7bc09]
../../tools/gem5/build/ARM/gem5.opt(_ZN6ArmISA14SupervisorCall6invokeEP13ThreadContextRK14RefCountingPtrI10StaticInstE+0x6a)[0xd8317a]
../../tools/gem5/build/ARM/gem5.opt(_ZN13BaseSimpleCPU9advancePCERKSt10shared_ptrI9FaultBaseE+0x104)[0xfe27a4]
../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU11advanceInstERKSt10shared_ptrI9FaultBaseE+0x39)[0xfded49]
../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14completeIfetchEP6Packet+0x1d9)[0xfdf149]
../../tools/gem5/build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0xb1)[0xb14a21]
../../tools/gem5/build/ARM/gem5.opt(_Z9doSimLoopP10EventQueue+0x50)[0xb42020]
../../tools/gem5/build/ARM/gem5.opt(_Z8simulatem+0x203)[0xb425f3]
../../tools/gem5/build/ARM/gem5.opt[0x1053802]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7852)[0x7efd25800772]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7efd2593705c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7efd257fff1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7124)[0x7efd25800044]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7124)[0x7efd25800044]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7efd2593705c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7efd257f8da9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x613b)[0x7efd257ff05b]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7efd2593705c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7efd257fff1d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7efd2593705c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7efd257f8da9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7efd258731f6]
--- END LIBC BACKTRACE ---
Aborted (core dumped)

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

Re: [gem5-users] Multi-threading on ARM timing CPU

2018-04-17 Thread Singh, G.
Hi,

Please find enclosed the script file and the program code for matrix 
multiplication which I tried.

On running gem5 binary with --version option I get
"Gem5.opt 2.0".

I tried running a simple hello world program with se.py and got the same error. 
This is the command line I used for it
../gem5/build/ARM/gem5.opt ../gem5/configs/example/se.py 
--cpu-type=TimingSimpleCPU --num-cpus=4 --num-work-ids=3 -c hello3 --caches 
--l1d_size=2kB --l1i_size=2kB --l2cache --l2_size=2kB 

But if I use DerivO3CPU it works fine.

Best
Gagan

-Original Message-
From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Ciro Santilli
Sent: Tuesday, 17 April 2018 10:04
To: gem5 users mailing list 
Subject: Re: [gem5-users] Multi-threading on ARM timing CPU

On Tue, Apr 17, 2018 at 8:10 AM, Singh, G.  wrote:
> Hi All,
>
>
>
> I am trying to run a simple multi-threaded program on ARM processor 
> with 4 cpu's and 4 threads.
>
> This program works perfectly for DerivO3CPU but the same program on 
> timing model gives the errors given
>
> below.  Actually I get the correct result but the program run does not 
> complete.
>

Please provide the following:

- gem5 version (git SHA)
- full gem5 command line
- how to obtain the required blobs (rootfs, dtb, etc.)

What program are you running? Does it fail on every multithreaded program, or 
just this partiular one? Can you produce a minimal single C file example that 
also fails and give us the source?

>
>
> Also, is there an option to simulate multithreaded code with each 
> thread on different processor using se.py?
>

Please ask one question per email in the future to make answers more reusable 
for other people. ;-) (I don't know the answer to this one
yet)

> Right now I am writing a new script file.
>
>
>
> gem5.opt: build/ARM/cpu/simple/timing.cc:237: virtual void
> TimingSimpleCPU::suspendContext(ThreadID): Assertion `_status == 
> BaseSimpleCPU::Running' failed.
>
> Program aborted at tick 4576216124000
>
> --- BEGIN LIBC BACKTRACE ---
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z15print_backtracev+0x28)[0xb05d2
> 8]
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z12abortHandleri+0x46)[0xb24396]
>
> /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7efd25543390]
>
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7efd24269428]
>
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7efd2426b02a]
>
> /lib/x86_64-linux-gnu/libc.so.6(+0x2dbd7)[0x7efd24261bd7]
>
> /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7efd24261c82]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14suspendConte
> xtEs+0x335)[0xfe1035]
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z13exitGroupFuncP11SyscallDesciP1
> 1LiveProcessP13ThreadContext+0x57)[0xb85677]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN11SyscallDesc9doSyscallEiP11Liv
> eProcessP13ThreadContext+0xa8)[0xb8afe8]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN11LiveProcess7syscallElP13Threa
> dContext+0x49)[0xb7bc09]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN6ArmISA14SupervisorCall6invokeE
> P13ThreadContextRK14RefCountingPtrI10StaticInstE+0x6a)[0xd8317a]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN13BaseSimpleCPU9advancePCERKSt1
> 0shared_ptrI9FaultBaseE+0x104)[0xfe27a4]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU11advanceInstE
> RKSt10shared_ptrI9FaultBaseE+0x39)[0xfded49]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14completeIfet
> chEP6Packet+0x1d9)[0xfdf149]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0xb1
> )[0xb14a21]
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z9doSimLoopP10EventQueue+0x50)[0x
> b42020]
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z8simulatem+0x203)[0xb425f3]
>
> ../../tools/gem5/build/ARM/gem5.opt[0x1053802]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x785
> 2)[0x7efd25800772]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)
> [0x7efd2593705c]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ff
> d)[0x7efd257fff1d]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x712
> 4)[0x7efd25800044]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x712
> 4)[0x7efd25800044]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)
> [0x7efd2593705c]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x
> 7efd257f8da9]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x613
> b)[0x7efd257ff05b]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)
> [0x7efd2593705c]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ff
> d)[0x7efd257fff1d]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)
> [0x7efd2593705c]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x
> 7efd257f8da9]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[
> 0x7efd258731f6]
>
> --- 

Re: [gem5-users] pause while running on riscv

2018-04-17 Thread IL Ne
yes, txt file is in the right place. "spike pk" will get the right result.
I change the relative path into absolute path. This time gem5 won't stop,
but no outputs .

I run a cpp file(function of that is like breadth first search) containing
lots of  "cout" instead, to print huge amount of numbers (all positive),
get outputs this time, but almost every number printed is negative.

I guess risc-v system call in gem5 doesn't work as expected.

thank you for your reply.


2018-04-17 2:10 GMT+08:00 Alec Roelke :

> There's a bug with RISC-V that I haven't been able to work out yet where
> attempting to open a file that doesn't exist causes gem5 to hang rather
> than report failure.  Make sure the file you're trying to open is actually
> where your program is looking for it.  I find that this problem happens
> most often when I use relative paths, as they don't always resolve to what
> I expect depending on where I'm running gem5 from.
>
> On Sun, Apr 15, 2018 at 5:14 AM, IL Ne  wrote:
>
>> Hello,
>> I wrote a c++ file, and compile it by using riscv-g++ with -std=c++11
>> This program involves file stream.
>> While running by gem5, the process will pause.
>> I check insts with debug flags, finding that output paused at somewhere
>> like this below:
>>
>> 34489000: system.cpu T0 : @_read: c_addi sp, sp, -16 : IntAlu
>> :  D=0x7a30
>> 34489500: system.cpu T0 : @_read+2: c_sdsp ra, 8(sp)   :
>> MemWrite :  D=0x00077726 A=0x7a38
>> 3449: system.cpu T0 : @_read+4: c_sdsp s0, 0(sp)   :
>> MemWrite :  D=0x000b6000 A=0x7a30
>> 34490500: system.cpu T0 : @_read+6: c_li a3, zero, 0   :
>> IntAlu :  D=0x
>> 34491000: system.cpu T0 : @_read+8: c_li a4, zero, 0   :
>> IntAlu :  D=0x
>> 34491500: system.cpu T0 : @_read+10: c_li a5, zero, 0   :
>> IntAlu :  D=0x
>> 34492500: system.cpu T0 : @_read+12: addi a7, zero, 63  :
>> IntAlu :  D=0x003f
>> 34493500: system.cpu T0 : @_read+16: ecall  :
>> No_OpClass :
>>
>>
>> Type enter and it will run agian, but stop at the same instruction: ecall
>>
>> Have anyone ever met this situation?  Could you tell me how to solve this
>> problem?
>>
>> Thanks.
>>
>>
>> ___
>> 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

Re: [gem5-users] Multi-threading on ARM timing CPU

2018-04-17 Thread Ciro Santilli
On Tue, Apr 17, 2018 at 8:10 AM, Singh, G.  wrote:
> Hi All,
>
>
>
> I am trying to run a simple multi-threaded program on ARM processor with 4
> cpu's and 4 threads.
>
> This program works perfectly for DerivO3CPU but the same program on timing
> model gives the errors given
>
> below.  Actually I get the correct result but the program run does not
> complete.
>

Please provide the following:

- gem5 version (git SHA)
- full gem5 command line
- how to obtain the required blobs (rootfs, dtb, etc.)

What program are you running? Does it fail on every multithreaded
program, or just this partiular one? Can you produce a minimal single
C file example that also fails and give us the source?

>
>
> Also, is there an option to simulate multithreaded code with each thread on
> different processor using se.py?
>

Please ask one question per email in the future to make answers more
reusable for other people. ;-) (I don't know the answer to this one
yet)

> Right now I am writing a new script file.
>
>
>
> gem5.opt: build/ARM/cpu/simple/timing.cc:237: virtual void
> TimingSimpleCPU::suspendContext(ThreadID): Assertion `_status ==
> BaseSimpleCPU::Running' failed.
>
> Program aborted at tick 4576216124000
>
> --- BEGIN LIBC BACKTRACE ---
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z15print_backtracev+0x28)[0xb05d28]
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z12abortHandleri+0x46)[0xb24396]
>
> /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7efd25543390]
>
> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7efd24269428]
>
> /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7efd2426b02a]
>
> /lib/x86_64-linux-gnu/libc.so.6(+0x2dbd7)[0x7efd24261bd7]
>
> /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7efd24261c82]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14suspendContextEs+0x335)[0xfe1035]
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z13exitGroupFuncP11SyscallDesciP11LiveProcessP13ThreadContext+0x57)[0xb85677]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN11SyscallDesc9doSyscallEiP11LiveProcessP13ThreadContext+0xa8)[0xb8afe8]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN11LiveProcess7syscallElP13ThreadContext+0x49)[0xb7bc09]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN6ArmISA14SupervisorCall6invokeEP13ThreadContextRK14RefCountingPtrI10StaticInstE+0x6a)[0xd8317a]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN13BaseSimpleCPU9advancePCERKSt10shared_ptrI9FaultBaseE+0x104)[0xfe27a4]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU11advanceInstERKSt10shared_ptrI9FaultBaseE+0x39)[0xfded49]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14completeIfetchEP6Packet+0x1d9)[0xfdf149]
>
> ../../tools/gem5/build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0xb1)[0xb14a21]
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z9doSimLoopP10EventQueue+0x50)[0xb42020]
>
> ../../tools/gem5/build/ARM/gem5.opt(_Z8simulatem+0x203)[0xb425f3]
>
> ../../tools/gem5/build/ARM/gem5.opt[0x1053802]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7852)[0x7efd25800772]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7efd2593705c]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7efd257fff1d]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7124)[0x7efd25800044]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7124)[0x7efd25800044]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7efd2593705c]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7efd257f8da9]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x613b)[0x7efd257ff05b]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7efd2593705c]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ffd)[0x7efd257fff1d]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x85c)[0x7efd2593705c]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7efd257f8da9]
>
> /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7efd258731f6]
>
> --- END LIBC BACKTRACE ---
>
> Aborted (core dumped)
>
>
>
> Best
>
> Gagan
>
>
> ___
> 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] Simulate 2 Processors

2018-04-17 Thread Woo L . L .
Hi all,

I would like to simulate 2 processors - the idea is to have a main processor, 
which is an x86 gem5 running a benchmark and another processor monitoring the 
main processor.

My question is, is it possible to have two copies of gem5 running on the same 
Ubuntu system or do I need to use dist-gem5 or COSSIM? I am not simulating a 
heterogeneous system, I just need to simulate to processors (not 2 cores, as it 
still resides in one processor).

Appreciate if anyone can give me some pointers.

Thanks and Regards,

Elena Woo Lai Leng
Faculty of Electronic and Computer Science (ECS)
University of Southampton

Email: llw1...@soton.ac.uk
Website: www.ecs.soton.ac.uk

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

Re: [gem5-users] Multi-threading on ARM timing CPU

2018-04-17 Thread Ciro Santilli
On Tue, Apr 17, 2018 at 10:15 AM, Singh, G.  wrote:
> Hi,
>
> Please find enclosed the script file and the program code for matrix 
> multiplication which I tried.
>

Thanks.

Which disk image / kernel are you using?

I have produced a working fs.py aarch64 example at:
https://github.com/cirosantilli/linux-kernel-module-cheat/tree/singh-mm#gem5-getting-started
(use the singh-mm branch I've created)

Build and run with:

./configure -g && ./build -a aarch64 -g && ./run -a aarch64 -c 4 -g --
--cpu-type=TimingSimpleCPU

which uses 4 cores and TimingSimpleCPU.

After boot finishes, run your benchmark inside the guest with:

/MM.out

It completes without errors.

The setup also worked on arm instead of aarch64, but my arm setup is
running very slowly for some reason which I don't understand yet:
https://github.com/cirosantilli/linux-kernel-module-cheat/tree/02b433e3ee8edb129c1e286a37ed2c8a8170fefe#benchmark-linux-kernel-boot
so just use the aarch64 one if you can.

You will also likely want to enable compiler optimizations as
described at: 
https://github.com/cirosantilli/linux-kernel-module-cheat/tree/02b433e3ee8edb129c1e286a37ed2c8a8170fefe#enable-compiler-optimizations
but I haven't tested it with that setup.

> On running gem5 binary with --version option I get
> "Gem5.opt 2.0".
>

Please provide the actual git SHA from git log, --version is not
updated often and therefore too imprecise.

> I tried running a simple hello world program with se.py and got the same 
> error. This is the command line I used for it
> ../gem5/build/ARM/gem5.opt ../gem5/configs/example/se.py 
> --cpu-type=TimingSimpleCPU --num-cpus=4 --num-work-ids=3 -c hello3 --caches 
> --l1d_size=2kB --l1i_size=2kB --l2cache --l2_size=2kB
>
> But if I use DerivO3CPU it works fine.
>
> Best
> Gagan
>
> -Original Message-
> From: gem5-users [mailto:gem5-users-boun...@gem5.org] On Behalf Of Ciro 
> Santilli
> Sent: Tuesday, 17 April 2018 10:04
> To: gem5 users mailing list 
> Subject: Re: [gem5-users] Multi-threading on ARM timing CPU
>
> On Tue, Apr 17, 2018 at 8:10 AM, Singh, G.  wrote:
>> Hi All,
>>
>>
>>
>> I am trying to run a simple multi-threaded program on ARM processor
>> with 4 cpu's and 4 threads.
>>
>> This program works perfectly for DerivO3CPU but the same program on
>> timing model gives the errors given
>>
>> below.  Actually I get the correct result but the program run does not
>> complete.
>>
>
> Please provide the following:
>
> - gem5 version (git SHA)
> - full gem5 command line
> - how to obtain the required blobs (rootfs, dtb, etc.)
>
> What program are you running? Does it fail on every multithreaded program, or 
> just this partiular one? Can you produce a minimal single C file example that 
> also fails and give us the source?
>
>>
>>
>> Also, is there an option to simulate multithreaded code with each
>> thread on different processor using se.py?
>>
>
> Please ask one question per email in the future to make answers more reusable 
> for other people. ;-) (I don't know the answer to this one
> yet)
>
>> Right now I am writing a new script file.
>>
>>
>>
>> gem5.opt: build/ARM/cpu/simple/timing.cc:237: virtual void
>> TimingSimpleCPU::suspendContext(ThreadID): Assertion `_status ==
>> BaseSimpleCPU::Running' failed.
>>
>> Program aborted at tick 4576216124000
>>
>> --- BEGIN LIBC BACKTRACE ---
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_Z15print_backtracev+0x28)[0xb05d2
>> 8]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_Z12abortHandleri+0x46)[0xb24396]
>>
>> /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7efd25543390]
>>
>> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7efd24269428]
>>
>> /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7efd2426b02a]
>>
>> /lib/x86_64-linux-gnu/libc.so.6(+0x2dbd7)[0x7efd24261bd7]
>>
>> /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7efd24261c82]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14suspendConte
>> xtEs+0x335)[0xfe1035]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_Z13exitGroupFuncP11SyscallDesciP1
>> 1LiveProcessP13ThreadContext+0x57)[0xb85677]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_ZN11SyscallDesc9doSyscallEiP11Liv
>> eProcessP13ThreadContext+0xa8)[0xb8afe8]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_ZN11LiveProcess7syscallElP13Threa
>> dContext+0x49)[0xb7bc09]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_ZN6ArmISA14SupervisorCall6invokeE
>> P13ThreadContextRK14RefCountingPtrI10StaticInstE+0x6a)[0xd8317a]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_ZN13BaseSimpleCPU9advancePCERKSt1
>> 0shared_ptrI9FaultBaseE+0x104)[0xfe27a4]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU11advanceInstE
>> RKSt10shared_ptrI9FaultBaseE+0x39)[0xfded49]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_ZN15TimingSimpleCPU14completeIfet
>> chEP6Packet+0x1d9)[0xfdf149]
>>
>> ../../tools/gem5/build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0xb1
>> )[0xb14a21]
>>
>> 

[gem5-users] Simulate 2 Processors

2018-04-17 Thread Woo L . L .
Hi all,

I would like to simulate 2 processors - the idea is to have a main processor, 
which is an x86 gem5 running a benchmark and another processor monitoring the 
main processor. 

My question is, is it possible to have two copies of gem5 running on the same 
Ubuntu system or do I need to use dist-gem5 or COSSIM? I am not simulating a 
heterogeneous system, I just need to simulate to processors (not 2 cores, as it 
still resides in one processor). 

Appreciate if anyone can give me some pointers. 

Thanks,
Elena Woo
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Fail to take checkpoint on Asim Android by script

2018-04-17 Thread Boyang Xu
Hi all,

I failed to take a checkpoint on Asim(Moby) Android by script
arm_ckpt_asim.rcS, although I can do it by m5 listening port. After running
for a long time about 18h, I found the script did not still work. So I
tried to take a checkpoint by m5 listening port and succeeded. However,  I
have to do it by script in my project. My command line is as follow:

/home/boyang/dist-gem5/gem5/build/ARM/gem5.opt

--outdir=/home/boyang/dist-gem5/gem5/test.android/ckptdir.1cpu.Android.1
> /home/boyang/dist-gem5/gem5/configs/example/fs.py

--kernel=/home/boyang/dist-gem5/gem5/binaries/vmlinux-gem5-android

--disk-image=/home/boyang/dist-gem5/gem5/img/ARMv7a-ICS-Android.SMP.Asimbench-v3.img
>

--script=/home/boyang/dist-gem5/gem5/test.android/arm_ckpt_asim.rcS

--caches --l1i_size=32kB --l1i_assoc=4 --l1d_assoc=2 --l1d_size=32kB
> --cacheline=64

--cpu-type=AtomicSimpleCPU

--machine-type=VExpress_EMM

--frame-capture --os-type=android-ics

--enable-context-switch-stats-dump
>

My output files are attached.
Thanks for any help in advance.

Best Regards,
Boyang Xu

A graduate student in UVIC


system.terminal
Description: Binary data


log.1
Description: Binary data
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] Simulate 2 Processors

2018-04-17 Thread Jason Lowe-Power
Hi Elena,

If you want to simulate two processors in the same system, you must have a
single gem5 instance (process) on the host. dist-gem5 is useful if you want
to simulate two different systems communicating over ethernet.

Jason

---
Jason Lowe-Power
Assistant Professor, Computer Science Department
University of California, Davis
3049 Kemper Hall
https://faculty.engineering.ucdavis.edu/lowepower/


On Tue, Apr 17, 2018 at 5:26 AM Woo L.L.  wrote:

> Hi all,
>
> I would like to simulate 2 processors - the idea is to have a main
> processor, which is an x86 gem5 running a benchmark and another processor
> monitoring the main processor.
>
> My question is, is it possible to have two copies of gem5 running on the
> same Ubuntu system or do I need to use dist-gem5 or COSSIM? I am not
> simulating a heterogeneous system, I just need to simulate to processors
> (not 2 cores, as it still resides in one processor).
>
> Appreciate if anyone can give me some pointers.
>
> Thanks and Regards,
>
>
>
> *Elena Woo Lai Leng*
>
> Faculty of Electronic and Computer Science (ECS)
>
> University of Southampton
>
>
>
> Email: llw1...@soton.ac.uk
>
> Website: www.ecs.soton.ac.uk
>
>
> ___
> 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] Simulate 2 Processors

2018-04-17 Thread Woo L . L .
Hi Jason,

I still don’t quite understand you. Please correct me if I am wrong - I assumed 
the host you meant the Ubuntu VM that I have installed. If I have one instance 
of gem5 running, how to I get another instance of gem5 running? I am trying to 
simulate a processor watching another processor in the same hardware, hence 
dist-gem5 would not really be applicable for me.

Thanks and regards,
Elena

On 17 Apr 2018, at 6:17 PM, Jason Lowe-Power 
> wrote:

Hi Elena,

If you want to simulate two processors in the same system, you must have a 
single gem5 instance (process) on the host. dist-gem5 is useful if you want to 
simulate two different systems communicating over ethernet.

Jason

---
Jason Lowe-Power
Assistant Professor, Computer Science Department
University of California, Davis
3049 Kemper Hall
https://faculty.engineering.ucdavis.edu/lowepower/


On Tue, Apr 17, 2018 at 5:26 AM Woo L.L. 
> wrote:
Hi all,

I would like to simulate 2 processors - the idea is to have a main processor, 
which is an x86 gem5 running a benchmark and another processor monitoring the 
main processor.

My question is, is it possible to have two copies of gem5 running on the same 
Ubuntu system or do I need to use dist-gem5 or COSSIM? I am not simulating a 
heterogeneous system, I just need to simulate to processors (not 2 cores, as it 
still resides in one processor).

Appreciate if anyone can give me some pointers.

Thanks and Regards,

Elena Woo Lai Leng
Faculty of Electronic and Computer Science (ECS)
University of Southampton

Email: llw1...@soton.ac.uk
Website: www.ecs.soton.ac.uk

___
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

Re: [gem5-users] Simulate 2 Processors

2018-04-17 Thread Woo L . L .
Hi,

Looks like I am able to run 2 copies of gem5 after all in the same host.
Now I just need to configure my ‘2nd’ copy of gem5 for monitoring.
Thank you.

Thanks and Regards,

Elena Woo Lai Leng
Faculty of Electronic and Computer Science (ECS)
University of Southampton

Email: llw1...@soton.ac.uk (or l.l@soton.ac.uk)
Website: www.ecs.soton.ac.uk


From: gem5-users 
> on behalf of 
Elena Woo >
Reply-To: gem5 users mailing list 
>
Date: Tuesday, 17 April 2018 at 7:12 PM
To: gem5 users mailing list >
Subject: Re: [gem5-users] Simulate 2 Processors


This sender failed our fraud detection checks and may not be who they appear to 
be. Learn about spoofing
Feedback
Hi Jason,

I still don’t quite understand you. Please correct me if I am wrong - I assumed 
the host you meant the Ubuntu VM that I have installed. If I have one instance 
of gem5 running, how to I get another instance of gem5 running? I am trying to 
simulate a processor watching another processor in the same hardware, hence 
dist-gem5 would not really be applicable for me.

Thanks and regards,
Elena

On 17 Apr 2018, at 6:17 PM, Jason Lowe-Power 
> wrote:

Hi Elena,

If you want to simulate two processors in the same system, you must have a 
single gem5 instance (process) on the host. dist-gem5 is useful if you want to 
simulate two different systems communicating over ethernet.

Jason

---
Jason Lowe-Power
Assistant Professor, Computer Science Department
University of California, Davis
3049 Kemper Hall
https://faculty.engineering.ucdavis.edu/lowepower/


On Tue, Apr 17, 2018 at 5:26 AM Woo L.L. 
> wrote:
Hi all,

I would like to simulate 2 processors - the idea is to have a main processor, 
which is an x86 gem5 running a benchmark and another processor monitoring the 
main processor.

My question is, is it possible to have two copies of gem5 running on the same 
Ubuntu system or do I need to use dist-gem5 or COSSIM? I am not simulating a 
heterogeneous system, I just need to simulate to processors (not 2 cores, as it 
still resides in one processor).

Appreciate if anyone can give me some pointers.

Thanks and Regards,

Elena Woo Lai Leng
Faculty of Electronic and Computer Science (ECS)
University of Southampton

Email: llw1...@soton.ac.uk
Website: www.ecs.soton.ac.uk

___
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