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