gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Running SPEC2017 on gem5 with SimPoints

TG
Tianfang Guo
Tue, Mar 26, 2024 1:08 AM

Hi all, this is my first time with this sort of platform so hopefully I'm
doing it right. I guess I will know if I get any replies :^)

I'm working on a group project using gem5 to simulate some different system
configurations to test the difference in their performance. We would like
to run SPEC2017/2006 for benchmarking the performance. Our professor
advised us to use the simpoint methodology for performing these
simulations, and thus that is what we're doing. There are some issues we
have run into and there does not seem to be much official
documentation/past information on online forums that has been of help to
us, and so I'm making this post to see if anyone could help with any of
these problems.

We have generated the simpoints (instruction number & weights) as well as
BBV through valgrind, and are trying to establish checkpoints in gem5,
unfortunately the example script(fs.py) used in the official tutorial
https://www.gem5.org/documentation/general_docs/checkpoints/ have since
been deprecated and there seems to be a lack of otherwise clear
documentation for the entire process. for example it is unclear how to
calculated an appropriate interval before a checkpoint for cache-warm. I
did run this
https://github.com/gem5/gem5/blob/stable/configs/example/gem5_library/checkpoints/simpoints-se-checkpoint.py
and
was able to get it working but am not sure how to modify the script to run
SPEC.

Additionally, we have some confusion on how to actually set SPEC as a
workload for gem5 to run, we have tried on different environments (wsl
Ubuntu, docker) to follow the official tutorial
https://www.gem5.org/documentation/gem5art/tutorials/spec-tutorial that
encountered, at different points, different rather obscure roadblocks that
seems undocumented and thus has halted our progress. And this page does not
make mention of simpoints so I'm not even sure it is something we should be
following for our case.

Finally I want to say that most of this stuff is rather new to me so any
inconsistencies or inaccuracies in the above sections please understand.
Any relevant solutions or other information is greatly appreciated.
Thanks in advance.

Hi all, this is my first time with this sort of platform so hopefully I'm doing it right. I guess I will know if I get any replies :^) I'm working on a group project using gem5 to simulate some different system configurations to test the difference in their performance. We would like to run SPEC2017/2006 for benchmarking the performance. Our professor advised us to use the simpoint methodology for performing these simulations, and thus that is what we're doing. There are some issues we have run into and there does not seem to be much official documentation/past information on online forums that has been of help to us, and so I'm making this post to see if anyone could help with any of these problems. We have generated the simpoints (instruction number & weights) as well as BBV through valgrind, and are trying to establish checkpoints in gem5, unfortunately the example script(fs.py) used in the official tutorial <https://www.gem5.org/documentation/general_docs/checkpoints/> have since been deprecated and there seems to be a lack of otherwise clear documentation for the entire process. for example it is unclear how to calculated an appropriate interval before a checkpoint for cache-warm. I did run this <https://github.com/gem5/gem5/blob/stable/configs/example/gem5_library/checkpoints/simpoints-se-checkpoint.py> and was able to get it working but am not sure how to modify the script to run SPEC. Additionally, we have some confusion on how to actually set SPEC as a workload for gem5 to run, we have tried on different environments (wsl Ubuntu, docker) to follow the official tutorial <https://www.gem5.org/documentation/gem5art/tutorials/spec-tutorial> that encountered, at different points, different rather obscure roadblocks that seems undocumented and thus has halted our progress. And this page does not make mention of simpoints so I'm not even sure it is something we should be following for our case. Finally I want to say that most of this stuff is rather new to me so any inconsistencies or inaccuracies in the above sections please understand. Any relevant solutions or other information is greatly appreciated. Thanks in advance.