Thank you so much for your detailed helpful information. My working directory tree is as follows . └── parsec/ ├── gem5 ├── disk-img/ │ └── parsec.img └── linux-kernel/ └── vmlinux
However, I followed your steps, and when I tried to run the following command for the simulation ./build/X86/gem5.opt configs/example/fs.py --disk-image=../disk-img/parsec.img --kernel=../linux-kernel/vmlinux --num-cpus=4 --num-dirs=4 --cpu-type=X86KvmCPU --cpu-clock=2GHz --caches --l1d_size=16kB --l1i_size=16kB --l2cache --num-l2cache=4 --mem-type=SimpleMemory --mem-size=3GB --ruby --network=garnet --topology=Mesh_XY --mesh-rows=2 --script=scripts/parsec.rcS I got the following error build/X86/arch/x86/kvm/x86_cpu.cc:345: info: 0x491: 0x0 build/X86/arch/x86/kvm/x86_cpu.cc:345: info: 0xc0010015: 0x0 build/X86/arch/x86/kvm/x86_cpu.cc:345: info: 0x4b564d05: 0x0 build/X86/cpu/kvm/base.cc:1032: panic: KVM: Unexpected exit (exit_reason: 8) Memory Usage: 3812892 KBytes Program aborted at tick 827873500 --- BEGIN LIBC BACKTRACE --- ./build/X86/gem5.opt(+0x107cf30)[0x559cc4456f30] ./build/X86/gem5.opt(+0x10a2b8c)[0x559cc447cb8c] /lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f2cd2b6a520] /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x12c)[0x7f2cd2bbea7c] /lib/x86_64-linux-gnu/libc.so.6(raise+0x16)[0x7f2cd2b6a476] /lib/x86_64-linux-gnu/libc.so.6(abort+0xd3)[0x7f2cd2b507f3] ./build/X86/gem5.opt(+0x43b475)[0x559cc3815475] ./build/X86/gem5.opt(+0x792dce)[0x559cc3b6cdce] ./build/X86/gem5.opt(+0x78f8a9)[0x559cc3b698a9] ./build/X86/gem5.opt(+0x1092892)[0x559cc446c892] ./build/X86/gem5.opt(+0x10bbf08)[0x559cc4495f08] ./build/X86/gem5.opt(+0x10bd18f)[0x559cc449718f] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xdc253)[0x7f2cd2f35253] /lib/x86_64-linux-gnu/libc.so.6(+0x94b43)[0x7f2cd2bbcb43] /lib/x86_64-linux-gnu/libc.so.6(+0x126a00)[0x7f2cd2c4ea00] --- END LIBC BACKTRACE --- Aborted I checked that my CPU is supporting *kvm *by using the command *kvm-ok* and it is supported. INFO: /dev/kvm exists KVM acceleration can be used I changed the CPU type by replacing --cpu-type=X86KvmCPU argument in the simulation command with the following types - --cpu-type=*X86AtomicSimpleCPU *==> Halt for more than 1 hour (build/X86/sim/simulate.cc:192: info: Entering event queue @ 0. Starting simulation...) - --cpu-type=*X86NonCachingSimpleCPU *==> Halt for more than 1 hour (build/X86/sim/simulate.cc:192: info: Entering event queue @ 0. Starting simulation...) - --cpu-type=*X86MinorCPU *==> I received the following panic error build/X86/sim/simulate.cc:192: info: Entering event queue @ 0. Starting simulation... build/X86/mem/ruby/system/Sequencer.cc:613: warn: Replacement policy updates recently became the responsibility of SLICC state machines. Make sure to setMRU() near callbacks in .sm files! build/X86/arch/generic/debugfaults.hh:128: panic: Invalid microop! Memory Usage: 3782048 KBytes Program aborted at tick 313000 --- BEGIN LIBC BACKTRACE --- ./build/X86/gem5.opt(+0x107cf30)[0x5593c36f9f30] ./build/X86/gem5.opt(+0x10a2b8c)[0x5593c371fb8c] /lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7fd57ccf1520] /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x12c)[0x7fd57cd45a7c] /lib/x86_64-linux-gnu/libc.so.6(raise+0x16)[0x7fd57ccf1476] /lib/x86_64-linux-gnu/libc.so.6(abort+0xd3)[0x7fd57ccd77f3] ./build/X86/gem5.opt(+0x43b475)[0x5593c2ab8475] ./build/X86/gem5.opt(+0x59cfb5)[0x5593c2c19fb5] ./build/X86/gem5.opt(+0x59cd44)[0x5593c2c19d44] ./build/X86/gem5.opt(+0x7fdcea)[0x5593c2e7acea] ./build/X86/gem5.opt(+0x8014e8)[0x5593c2e7e4e8] ./build/X86/gem5.opt(+0x802c90)[0x5593c2e7fc90] ./build/X86/gem5.opt(+0x84aa8b)[0x5593c2ec7a8b] ./build/X86/gem5.opt(+0x10ba0a7)[0x5593c37370a7] ./build/X86/gem5.opt(+0x1092892)[0x5593c370f892] ./build/X86/gem5.opt(+0x10bbf08)[0x5593c3738f08] ./build/X86/gem5.opt(+0x10bc4f3)[0x5593c37394f3] ./build/X86/gem5.opt(+0xe7d930)[0x5593c34fa930] ./build/X86/gem5.opt(+0x452432)[0x5593c2acf432] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x128023)[0x7fd57d816023] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_Call+0x5c)[0x7fd57d7cffec] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b16)[0x7fd57d764776] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af)[0x7fd57d8b03af] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9d68)[0x7fd57d7699c8] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af)[0x7fd57d8b03af] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9d68)[0x7fd57d7699c8] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af)[0x7fd57d8b03af] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyEval_EvalCode+0xbe)[0x7fd57d8ab3de] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1bd96d)[0x7fd57d8ab96d] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1287b3)[0x7fd57d8167b3] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x69de)[0x7fd57d76663e] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c23af)[0x7fd57d8b03af] --- END LIBC BACKTRACE --- Aborted I would really appreciate your help and time. Thank you so much. Best Regards, *Eng. Karim Soliman* Teaching Assistant Computer Engineering Department Pharos University in Alexandria (P.U.A) On Thu, Aug 10, 2023 at 4:34 PM Karim Soliman <karim.soli...@pua.edu.eg> wrote: > Thank you so much for your time and the valuable information. > > Best Regards, > *Eng. Karim Soliman* > Teaching Assistant > Computer Engineering Department > Pharos University in Alexandria (P.U.A) > > > On Thu, Aug 10, 2023 at 1:32 PM Hansika Weerasena via gem5-users < > gem5-users@gem5.org> wrote: > >> Hi Karim, >> >> >> >> The x86-parsec readme file runs experiment using gem5s new standard >> library, and it does not support garnet at the moment. Therefore, I had >> to go with fs.py (which is deprecated in current version of gem5). I was >> able to replicate the same experiment using fs.py and using the same gem5 >> resources. >> >> >> >> I was able to do these steps and run parsec benchmark with garnet in full >> system mode upto 64 cores. Following are the links and scripts I used, you >> may need to change them according to your requirement. >> >> >> >> 1. I used the prebuilt X86 parsec disk image from gem5 resources : >> https://resources.gem5.org/resources/x86-parsec?version=1.0.0 >> 2. For linux kernel I used vmlinux-4.4.186 >> 3. Example Simulation.py the KVM switch on ROI start can be found >> here ( >> >> https://github.com/hansikaweerasena/gem5-n/blob/kvm-fs/configs/common/Simulation.py). >> >> 4. Example rcs script can be found here : >> https://github.com/hansikaweerasena/gem5-n/blob/kvm-fs/scripts/parsec.rcS >> 5. Finally, following is an example command to run parsec on FS mode >> with garnet. >> >> >> >> *./build/X86/gem5.opt configs/example/fs.py --disk-image=dist/parsec.img >> --kernel=dist/vmlinux-4.4.186 --num-cpus=4 --num-dirs=4 >> --cpu-type=X86KvmCPU --cpu-clock=2GHz --caches --l1d_size=16kB >> --l1i_size=16kB --l2cache --num-l2cache=4 --mem-type=SimpleMemory >> --mem-size=3GB --ruby --network=garnet --topology=Mesh_XY --mesh-rows=2 >> --script=scripts/parsec.rcS* >> >> >> >> Regards, >> >> Hansika Weerasena >> >> Research Assistant, >> >> University of Florida >> >> >> >> >> >> >> >> *From: *Karim Soliman via gem5-users <gem5-users@gem5.org> >> *Date: *Wednesday, August 9, 2023 at 11:21 PM >> *To: *The gem5 Users mailing list <gem5-users@gem5.org> >> *Cc: *Karim Soliman <karim.soli...@pua.edu.eg> >> *Subject: *[gem5-users] Running PARSEC benchmark on gem5 Garnet >> >> *[External Email]* >> >> Hey everyone, >> >> For research purposes, I'm trying to run the *PARSEC *benchmark on >> Garnet 2D mesh topology. >> >> >> >> I successfully simulated garnet synthetic traffic under standalone >> protocol, after building gem5 using the following command *scons build* >> */**NULL**/**gem5**.**opt PROTOCOL=Garnet_standalone **-**j**<**proc**>* >> >> I've used the configuration file for XY routing which is located at >> */gem5/configs/topologies/Mesh_XY.py* >> >> The full command for simulating garnet synthetic traffic is >> >> ./build/NULL/gem5.opt ./configs/example/garnet_synth_traffic.py >> --synthetic=uniform_random --network=garnet --mesh-rows=4 --num-cpus=16 >> --num-dirs=16 --topology=Mesh_XY--sim-cycles=25000000 --router-latency=4 >> --link-latency=1 --injectionrate=0.05 >> >> >> >> The simulation for the garnet synthetic traffic is successful and >> everything is fine. >> >> >> >> I've tried to run the PARSEC benchmark so I followed the x86-parsec >> readme file at gem5 resources repo - >> https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/parsec/ >> >> Gem5 is built using the following command: *scons build**/**X86**/**gem5* >> *.**opt **-**j**<**proc**>* >> >> The benchmark is working fine and the simulation is successful. >> >> >> >> Currently, I want to run the PARSEC benchmark in garnet and run the >> network on chip in full system simulation. >> >> I would really appreciate it if anyone could help me with the steps on >> how to do it. >> >> *[image: Image removed by sender.]* >> >> Best Regards, >> >> *Eng. Karim Soliman* >> >> Teaching Assistant >> >> Computer Engineering Department >> >> Pharos University in Alexandria (P.U.A) >> _______________________________________________ >> gem5-users mailing list -- gem5-users@gem5.org >> To unsubscribe send an email to gem5-users-le...@gem5.org >> >
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org