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 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

Reply via email to