gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Question about gem5 tutorial

BN
Beser, Nicholas D.
Sun, Apr 30, 2023 3:20 PM

I am working my way through the tutorial and I have some questions. I noticed that the tutorial at: https://www.gem5.org/documentation/learning_gem5/part1/cache_config/ has a section called Adding parameters to your script. It describes the parser arguments that seem to be built in to the current caches.py. The segment of code is not in the example full scripts caches.py and two_level.py. Are these examples that should be added to new runs to make sure we can modify the parameters?

I found the statistics file for gem5 in the m5out directory. Is that the limit of the output statistics? I can see that to generate a performance versus size of cache experiment, I will have the students run through multiple parameters and then parse the stats.txt file.

Also based on my reading, gem5 has several CPU designs built in to the system (X86, RISCV, MIPS, SPARC, and ARM). Are there block diagrams of the internal CPU simulations available? The diagram would assist the user in defining memory and control interfaces.

I am working up a set of lecture for an advanced computer architecture class which will include a tutorial, and a class project. I am trying to find existing art that might help me tailor the lecture notes.

Dr. Nick Beser
Johns Hopkins University
Whiting School of Engineering

I am working my way through the tutorial and I have some questions. I noticed that the tutorial at: https://www.gem5.org/documentation/learning_gem5/part1/cache_config/ has a section called Adding parameters to your script. It describes the parser arguments that seem to be built in to the current caches.py. The segment of code is not in the example full scripts caches.py and two_level.py. Are these examples that should be added to new runs to make sure we can modify the parameters? I found the statistics file for gem5 in the m5out directory. Is that the limit of the output statistics? I can see that to generate a performance versus size of cache experiment, I will have the students run through multiple parameters and then parse the stats.txt file. Also based on my reading, gem5 has several CPU designs built in to the system (X86, RISCV, MIPS, SPARC, and ARM). Are there block diagrams of the internal CPU simulations available? The diagram would assist the user in defining memory and control interfaces. I am working up a set of lecture for an advanced computer architecture class which will include a tutorial, and a class project. I am trying to find existing art that might help me tailor the lecture notes. Dr. Nick Beser Johns Hopkins University Whiting School of Engineering
AA
Ayaz Akram
Sun, Apr 30, 2023 7:18 PM

Hi Dr. Nick Beser,

I am working my way through the tutorial and I have some questions. I

noticed that the tutorial at:
https://www.gem5.org/documentation/learning_gem5/part1/cache_config/ has
a section called Adding parameters to your script. It describes the parser
arguments that seem to be built in to the current caches.py. The segment of
code is not in the example full scripts caches.py and two_level.py. Are
these examples that should be added to new runs to make sure we can modify
the parameters?

I think that is right. If you want to modify the parameters, you can add
argparse related code block in your script.

I found the statistics file for gem5 in the m5out directory. Is that the

limit of the output statistics? I can see that to generate a performance
versus size of cache experiment, I will have the students run through
multiple parameters and then parse the stats.txt file.

Given a particular configuration, all the available statistics will be in
the stats.txt file. Please, note that the available statistics depend on
the system you are simulating. For example, an O3 CPU-based simulation will
have more/different statistics than an Atomic CPU-based simulation.

Also based on my reading, gem5 has several CPU designs built in to the

system (X86, RISCV, MIPS, SPARC, and ARM). Are there block diagrams of the
internal CPU simulations available? The diagram would assist the user in
defining memory and control interfaces.

gem5 tries to separate ISA from the CPU as much as possible. So, all the
supported ISAs can be used with all the available CPU models (Atomic,
Timing, O3) except KVM. gem5 documentation has a page on CPU models that
provide a summary of the available models with some diagrams (gem5: gem5's
CPU models https://www.gem5.org/documentation/general_docs/cpu_models/).

If you have not already looked at it, I think gem5 BootCamp (from last
year) is a good reference to get more information on different aspects of
gem5 (gem5 Bootcamp 2022 | Learning gem5 Bootcamp 2022
https://gem5bootcamp.github.io/gem5-bootcamp-env/).

-Ayaz

On Sun, Apr 30, 2023 at 8:21 AM Beser, Nicholas D. via gem5-users <
gem5-users@gem5.org> wrote:

I am working my way through the tutorial and I have some questions. I
noticed that the tutorial at:
https://www.gem5.org/documentation/learning_gem5/part1/cache_config/ has
a section called Adding parameters to your script. It describes the parser
arguments that seem to be built in to the current caches.py. The segment of
code is not in the example full scripts caches.py and two_level.py. Are
these examples that should be added to new runs to make sure we can modify
the parameters?

I found the statistics file for gem5 in the m5out directory. Is that the
limit of the output statistics? I can see that to generate a performance
versus size of cache experiment, I will have the students run through
multiple parameters and then parse the stats.txt file.

Also based on my reading, gem5 has several CPU designs built in to the
system (X86, RISCV, MIPS, SPARC, and ARM). Are there block diagrams of the
internal CPU simulations available? The diagram would assist the user in
defining memory and control interfaces.

I am working up a set of lecture for an advanced computer architecture
class which will include a tutorial, and a class project. I am trying to
find existing art that might help me tailor the lecture notes.

Dr. Nick Beser

Johns Hopkins University

Whiting School of Engineering


gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org

Hi Dr. Nick Beser, I am working my way through the tutorial and I have some questions. I > noticed that the tutorial at: > https://www.gem5.org/documentation/learning_gem5/part1/cache_config/ has > a section called Adding parameters to your script. It describes the parser > arguments that seem to be built in to the current caches.py. The segment of > code is not in the example full scripts caches.py and two_level.py. Are > these examples that should be added to new runs to make sure we can modify > the parameters? I think that is right. If you want to modify the parameters, you can add argparse related code block in your script. I found the statistics file for gem5 in the m5out directory. Is that the > limit of the output statistics? I can see that to generate a performance > versus size of cache experiment, I will have the students run through > multiple parameters and then parse the stats.txt file. Given a particular configuration, all the available statistics will be in the stats.txt file. Please, note that the available statistics depend on the system you are simulating. For example, an O3 CPU-based simulation will have more/different statistics than an Atomic CPU-based simulation. Also based on my reading, gem5 has several CPU designs built in to the > system (X86, RISCV, MIPS, SPARC, and ARM). Are there block diagrams of the > internal CPU simulations available? The diagram would assist the user in > defining memory and control interfaces. gem5 tries to separate ISA from the CPU as much as possible. So, all the supported ISAs can be used with all the available CPU models (Atomic, Timing, O3) except KVM. gem5 documentation has a page on CPU models that provide a summary of the available models with some diagrams (gem5: gem5's CPU models <https://www.gem5.org/documentation/general_docs/cpu_models/>). If you have not already looked at it, I think gem5 BootCamp (from last year) is a good reference to get more information on different aspects of gem5 (gem5 Bootcamp 2022 | Learning gem5 Bootcamp 2022 <https://gem5bootcamp.github.io/gem5-bootcamp-env/>). -Ayaz On Sun, Apr 30, 2023 at 8:21 AM Beser, Nicholas D. via gem5-users < gem5-users@gem5.org> wrote: > I am working my way through the tutorial and I have some questions. I > noticed that the tutorial at: > https://www.gem5.org/documentation/learning_gem5/part1/cache_config/ has > a section called Adding parameters to your script. It describes the parser > arguments that seem to be built in to the current caches.py. The segment of > code is not in the example full scripts caches.py and two_level.py. Are > these examples that should be added to new runs to make sure we can modify > the parameters? > > > > I found the statistics file for gem5 in the m5out directory. Is that the > limit of the output statistics? I can see that to generate a performance > versus size of cache experiment, I will have the students run through > multiple parameters and then parse the stats.txt file. > > > > Also based on my reading, gem5 has several CPU designs built in to the > system (X86, RISCV, MIPS, SPARC, and ARM). Are there block diagrams of the > internal CPU simulations available? The diagram would assist the user in > defining memory and control interfaces. > > > > I am working up a set of lecture for an advanced computer architecture > class which will include a tutorial, and a class project. I am trying to > find existing art that might help me tailor the lecture notes. > > > > Dr. Nick Beser > > Johns Hopkins University > > Whiting School of Engineering > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-leave@gem5.org >