On Tue, Apr 17, 2018 at 10:15 AM, Singh, G. <g.si...@tue.nl> 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 <gem5-users@gem5.org> > Subject: Re: [gem5-users] Multi-threading on ARM timing CPU > > On Tue, Apr 17, 2018 at 8:10 AM, Singh, G. <g.si...@tue.nl> 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] >> >> --- 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 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