Open Cownic opened 10 months ago
Hello there, Yes ofcourse, I would be happy to help.
ohhh think you so much for being willing to help. it was stated in your readme that it uses Linux in addition to the parsec image. Do I have to download it from somewhere and where do I put it ? I don't see it in the directory layout that U have on the readme.
Sure, let me clarify it for you. The repository is a copy of this, so the README is also the same. I would recommend to follow this link instead of my repository to run simulations. I implemented changes for my thesis in some config files which is described in this file. Regarding your doubt, there are two things which a full system gem5 simulation needs: a linux kernel and a disk-image(in which parsec is already installed). The kernel can be obtained from kernel and the disk-image will be created once you go through the steps in the README. For starting out, it is better to follow the official gem5 repository and to obtain resources such as kernel and disk-images follow this
Thank you for the comprehensive reply. I am grateful for the links that you have provided. For the kernel stuff, do i place it under the directory of parsec parsec/ | ___ gem5/ # gem5 folder | |
---|---|---|
___ disk-image/ | ||
___ build.sh # the script downloading packer binary and building the disk image | ||
___ shared/ | ||
___ parsec/ | ||
___ parsec-image/ | ||
___ parsec # the disk image will be here | ||
___ parsec.json # the Packer script | ||
___ parsec-install.sh # the script to install PARSEC | ||
___ post-installation.sh # the script to install m5 | ||
___ runscript.sh # script to run each workload | ||
___ parsec-benchmark # the parsec benchmark suite | ||
___linux ? | ||
___ README.md |
Actually you do not need to download anything. The script x86-parsec-benchmarks.py
automatically downloads the kernel and disk-image.
Build gem5 first and then run the last command in the readme with your preferred benchmark and size:
# In the gem5 directory
build/X86/gem5.opt \
configs/example/gem5_library/x86-parsec-benchmarks.py \
--benchmark <benchmark_program> \
--size <size>
ohhhh alright that works for me Thank you for the guidance. One last question, the x86-parsec-benchmarks.py uses MESI_Two_Level as the cache protocol, do u know if its possible to change it to the other cache protocols that are supported by gem5, such as MI, MOESI etc ?
yes you can use any of the gem5 supported cache protocols. If you see in the x86-parsec-benchmarks.py script at given lines 70, 122 you can understand how it imports the already built components. Then you can modify these lines to use other cache heirarchies/protocols. Not all the supported coherence protocols are prebuilt as a component but you can learn to make your own with the gem5-ruby tutorials. I hope it helps
Hi, I a undergraduate student working on Gem5, learning how to use the PARSEC benchmark, could i ask you some questions related to it