Hi,

I'm aiming to execute some simulations of parallel programs in SE mode. I
can achieve performance improvements within the simulation by using
multiple simulated cores (and threads).

I'm also trying to simulate a big.LITTLE cpu on SE mode. In order to
achieve this, I modified the starter_se.py script from ARM scripts (in
configs/example/arm), by adding one more CPU cluster with a different
frequency to the system. The final script can be checked at
https://gitlab.inf.ufsm.br/snippets/15 . However, it only works with
TimingSimpleCPU and AtomicSimpleCPU CPU models - when I try to run a
simulation with either MinorCPU, O3_ARM_v7a or HPI models, the simulation
stops at the creation of an OpenMP parallel region. The error stacktrace is
nonintuitive to me. What am I doing wrong?

Parallel program tested: test_omp from m5threads repository (
https://github.com/gem5/m5threads/blob/master/tests/test_omp.cpp).
Cross-compiled with gcc 6.3.

Error output when simulating with MinorCPU:

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

gem5 compiled May 22 2019 19:03:27
gem5 started May 23 2019 16:01:23
gem5 executing on lsc-srv1, pid 13959
command line: build/ARM/gem5.opt
../gem5.arm/gem5/configs/example/arm/se_bigLITTLE.py --cpu=minor
--big-cpus=2 --little-cpus=4 '../gem5.arm/m5threads/tests/test_omp 6 128'

info: Creating System
info: Adding 2 cpus of cluster type MinorCPU
info: Adding 4 cpus of cluster type MinorCPU
info: 1. command and arguments: ['../gem5.arm/m5threads/tests/test_omp',
'6', '128']
info: Instantiating C++ Object Hierarchy
Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range
assigned (1024 Mbytes)
warn: DRAM device capacity (8192 Mbytes) does not match the address range
assigned (1024 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7042
0: system.remote_gdb: listening for remote gdb on port 7043
0: system.remote_gdb: listening for remote gdb on port 7044
0: system.remote_gdb: listening for remote gdb on port 7045
0: system.remote_gdb: listening for remote gdb on port 7046
0: system.remote_gdb: listening for remote gdb on port 7047
info: Starting Simulation
info: Entering event queue @ 0.  Starting simulation...
warn: readlink() called on '/proc/self/exe' may yield unexpected results in
various settings.
      Returning '/home/rtrindade/gem5.arm/m5threads/tests/test_omp'
info: Increasing stack size by one page.
info: Increasing stack size by one page.
warn: CP14 unimplemented crn[14], opc1[7], crm[15], opc2[7]
Setting OMP threads to 6
Starting with row/col size=128
A initialized
B initialized
Computing A*B with 6 threads
warn: ClockedObject: Already in the requested power state, request ignored
warn: User mode does not have SPSR
warn: User mode does not have SPSR
panic: Page table fault when accessing virtual address 0
Memory Usage: 2357556 KBytes
Program aborted at tick 437896500
--- BEGIN LIBC BACKTRACE ---
build/ARM/gem5.opt(_Z15print_backtracev+0x16)[0x55edc8af5d96]
build/ARM/gem5.opt(_Z12abortHandleri+0x3d)[0x55edc8b0696d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x110c0)[0x7f969323f0c0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcf)[0x7f96914e3fff]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f96914e542a]
build/ARM/gem5.opt(+0x93bd1f)[0x55edc83d2d1f]
build/ARM/gem5.opt(_ZN21GenericPageTableFault6invokeEP13ThreadContextRK14RefCountingPtrI10StaticInstE+0x4c)[0x55edc8b3586c]
build/ARM/gem5.opt(_ZN5Minor7Execute10commitInstE14RefCountingPtrINS_12MinorDynInstEEbRNS_10BranchDataERSt10shared_ptrI9FaultBaseERbSA_+0x158)[0x55edc87d2658]
build/ARM/gem5.opt(_ZN5Minor7Execute6commitEsbbRNS_10BranchDataE+0x12f9)[0x55edc87d6289]
build/ARM/gem5.opt(_ZN5Minor7Execute8evaluateEv+0x106c)[0x55edc87d7a8c]
build/ARM/gem5.opt(_ZN5Minor8Pipeline8evaluateEv+0x17)[0x55edc87f5797]
build/ARM/gem5.opt(+0x1082f41)[0x55edc8b19f41]
build/ARM/gem5.opt(_ZN10EventQueue10serviceOneEv+0xd9)[0x55edc8afc989]
build/ARM/gem5.opt(_Z9doSimLoopP10EventQueue+0x48)[0x55edc8b1bdc8]
build/ARM/gem5.opt(_Z8simulatem+0xdc5)[0x55edc8b1cf35]
build/ARM/gem5.opt(+0xaa5927)[0x55edc853c927]
build/ARM/gem5.opt(+0x960778)[0x55edc83f7778]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x76d7)[0x7f96934cd227]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x86c)[0x7f969363529c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x670d)[0x7f96934cc25d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x86c)[0x7f969363529c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x670d)[0x7f96934cc25d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x86c)[0x7f969363529c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7f96934c59c9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ca4)[0x7f96934cc7f4]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x86c)[0x7f969363529c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x670d)[0x7f96934cc25d]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x86c)[0x7f969363529c]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7f96934c59c9]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7f969357d196]
build/ARM/gem5.opt(_Z6m5MainiPPc+0x7f)[0x55edc8b0538f]
build/ARM/gem5.opt(main+0x38)[0x55edc8378308]
--- END LIBC BACKTRACE ---
Aborted
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to