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