Hi Gabe,
 Thanks for the suggestion, it worked. I used "se.py" file and submitted
workload. It seems that for multithreaded work load, if number of threads
is equal to number of cores, things work. I used --debug flag to verify
whether both cores are running. But unfortunately, I have ran into another
problem. This seem to work for number of cores and threads equal to 2. When
I use more than 2, I get an panic error "panic: panic condition !handled
occurred: Page table fault when accessing virtual address 0x14".

I have attached the console output for working ( n=2) and non working (n=3)
case, do you have any suggestion on where I should look into in solving
this problem? I spent lot of time on this with out making any progress.

Thanks,
Sachin


On Mon, Nov 15, 2021 at 5:51 PM Gabe Black via gem5-users <
gem5-users@gem5.org> wrote:

> I'm not 100% sure this is right, but I think what you do is assign the
> same process object to each core you want a thread to run on.
>
> Gabe
>
> On Mon, Nov 15, 2021 at 10:25 AM Sachin Vijay Kumar via gem5-users <
> gem5-users@gem5.org> wrote:
>
>> Hi all,
>>
>>   I have some basic question about assigning a multithreaded program into
>> different cores of ARM in gem5 simulation.
>> Basically, I have hashmark benchmark file which is built for arm core
>> with "m5 threads".
>>  The  executable takes number of threads to create and a input file as
>> argument. Now when I run simulations, I have to assign each thread of this
>> benchmark program to each core of the processor. How can I do that?
>> I have gone through "se.py" and I understand, how different program could
>> be loaded into different cores. I also understand, how different programs
>> can be loaded into multi-threaded single core (by looking at same script
>> file).
>> But I do not get, How can I assign a thread of a benchmark application to
>> a core of the processor, Can some one please provide some pointers?
>>
>> Thanks,
>> Sachin
>> _______________________________________________
>> 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
(base) sachin@sachin:~/CS429/gem5$ build/ARM/gem5.opt configs/example/se.py -n 
2 -c cshome/c429ss/resources/hello/hashmark-global.arm -o "2 500.txt"
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.1.0.5
gem5 compiled Oct 21 2021 11:06:59
gem5 started Nov 21 2021 17:48:38
gem5 executing on sachin, pid 23121
command line: build/ARM/gem5.opt configs/example/se.py -n 2 -c 
cshome/c429ss/resources/hello/hashmark-global.arm -o '2 500.txt'


0 ['cshome/c429ss/resources/hello/hashmark-global.arm'] cin
there1 1
AtomicSimpleCPU
here 1 2
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.master is deprecated. `master` is now called `mem_side_ports`
Global frequency set at 1000000000000 ticks per second
warn: No dot file generated. Please install pydot to generate the dot file and 
pdf.
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
0: system.remote_gdb: listening for remote gdb on port 7001
**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
Using 2 threads
warn: PowerState: Already in the requested power state, request ignored
warn: User mode does not have SPSR
warn: User mode does not have SPSR
warn: ignoring syscall mprotect(...)
warn: User mode does not have SPSR
warn: User mode does not have SPSR
warn: ignoring syscall mprotect(...)
Thread 0: 0 to 512
warn: User mode does not have SPSR
warn: User mode does not have SPSR
Thread 1: 512 to 1024
Exiting @ tick 408230493000 because exiting with last active thread context

gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 20.1.0.5
gem5 compiled Oct 21 2021 11:06:59
gem5 started Nov 21 2021 17:47:32
gem5 executing on sachin, pid 22827
command line: build/ARM/gem5.opt configs/example/se.py -n 3 -c 
cshome/c429ss/resources/hello/hashmark-global.arm -o '3 500.txt'


0 ['cshome/c429ss/resources/hello/hashmark-global.arm'] cin
there1 1
AtomicSimpleCPU
here 1 3
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
warn: membus.master is deprecated. `master` is now called `mem_side_ports`
Global frequency set at 1000000000000 ticks per second
warn: No dot file generated. Please install pydot to generate the dot file and 
pdf.
warn: DRAM device capacity (8192 Mbytes) does not match the address range 
assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
0: system.remote_gdb: listening for remote gdb on port 7001
0: system.remote_gdb: listening for remote gdb on port 7002
**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
Using 3 threads
warn: PowerState: Already in the requested power state, request ignored
warn: User mode does not have SPSR
warn: User mode does not have SPSR
warn: ignoring syscall mprotect(...)
warn: User mode does not have SPSR
warn: User mode does not have SPSR
warn: ignoring syscall mprotect(...)
warn: User mode does not have SPSR
warn: User mode does not have SPSR
warn: User mode does not have SPSR
warn: User mode does not have SPSR
panic: panic condition !handled occurred: Page table fault when accessing 
virtual address 0x14
Memory Usage: 709672 KBytes
Program aborted at tick 17595580000
--- BEGIN LIBC BACKTRACE ---
build/ARM/gem5.opt(_Z15print_backtracev+0x2c)[0x55d772903cac]
build/ARM/gem5.opt(_Z12abortHandleri+0x4a)[0x55d7729167ca]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f72fe2c1980]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f72fcacffb7]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f72fcad1921]
build/ARM/gem5.opt(+0xb3035f)[0x55d771ebe35f]
build/ARM/gem5.opt(_ZN21GenericPageTableFault6invokeEP13ThreadContextRK14RefCountingPtrI10StaticInstE+0xc1)[0x55d77295ab31]
build/ARM/gem5.opt(_ZN13BaseSimpleCPU9advancePCERKSt10shared_ptrI9FaultBaseE+0x173)[0x55d773929c83]
build/ARM/gem5.opt(_ZN15TimingSimpleCPU11advanceInstERKSt10shared_ptrI9FaultBaseE+0x104)[0x55d773924aa4]
build/ARM/gem5.opt(_ZN15TimingSimpleCPU17finishTranslationEP21WholeTranslationState+0x1d2)[0x55d7739272d2]
build/ARM/gem5.opt(_ZN15DataTranslationIP15TimingSimpleCPUE6finishERKSt10shared_ptrI9FaultBaseERKS3_I7RequestEP13ThreadContextN7BaseTLB4ModeE+0x169)[0x55d773931dd9]
build/ARM/gem5.opt(_ZN6ArmISA3TLB17translateCompleteERKSt10shared_ptrI7RequestEP13ThreadContextPN7BaseTLB11TranslationENS8_4ModeENS0_18ArmTranslationTypeEb+0x121)[0x55d772ad6b11]
build/ARM/gem5.opt(_ZN6ArmISA3TLB15translateTimingERKSt10shared_ptrI7RequestEP13ThreadContextPN7BaseTLB11TranslationENS8_4ModeENS0_18ArmTranslationTypeE+0x96)[0x55d772ad6eb6]
build/ARM/gem5.opt(_ZN15TimingSimpleCPU15initiateMemReadEmj5FlagsImERKSt6vectorIbSaIbEE+0x319)[0x55d773922619]
build/ARM/gem5.opt(_ZN17SimpleExecContext15initiateMemReadEmj5FlagsImERKSt6vectorIbSaIbEE+0x53)[0x55d7739328c3]
build/ARM/gem5.opt(+0x194ca1d)[0x55d772cdaa1d]
build/ARM/gem5.opt(_ZNK10ArmISAInst27LOAD_REG_AY_PN_SN_UN_WN_SZ211initiateAccEP11ExecContextPN5Trace10InstRecordE+0x17d)[0x55d772cdebbd]
build/ARM/gem5.opt(_ZN15TimingSimpleCPU14completeIfetchEP6Packet+0x1fc)[0x55d77392407c]
build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0x13d)[0x55d77290c21d]
build/ARM/gem5.opt(_Z9doSimLoopP10EventQueue+0x87)[0x55d772931247]
build/ARM/gem5.opt(_Z8simulatem+0xcba)[0x55d77293229a]
build/ARM/gem5.opt(+0x1463bd1)[0x55d7727f1bd1]
build/ARM/gem5.opt(+0xdd76d9)[0x55d7721656d9]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyCFunction_Call+0x96)[0x7f72fe6e1736]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x76e0)[0x7f72fe652b20]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17ba0f)[0x7f72fe649a0f]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c0fc)[0x7f72fe64a0fc]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x4ec3)[0x7f72fe650303]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17a803)[0x7f72fe648803]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c2be)[0x7f72fe64a2be]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x4ec3)[0x7f72fe650303]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17ba0f)[0x7f72fe649a0f]
--- END LIBC BACKTRACE ---
Aborted (core dumped)
_______________________________________________
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

Reply via email to