gem5-users@gem5.org

The gem5 Users mailing list

View all threads

question about bootcamp 2024 slides on Cache Hierarchies

BN
Beser, Nicholas D.
Sat, Oct 12, 2024 11:42 PM

Jason,

I went through both the youtube and slides for the talk on cache-hierarchies. I have some question that I hoping you might answer. The ruby example in the slides looked at the parallel algorithm. I noticed that you recommended using gem5-mesi. That was a pre-built gem5 in codespace. Looking at the run.py script I noticed that it was a Two Level MESI. The gem5 buildopt directory specifies the ALL build as a MESI Two Level. Is that what you are calling gem5-mesi? Was there a different gem5 build for that version?

My second question was that there were three implementations that were tested (naïve, false_sharing and chunking). The gem5.opt from ALL did not recognize chunking, but instead offered blocking. I am assuming that is a blocking cache option. Are we talking about the same implementation?

Is there a docker build script that generates what is present in the 2024 codespace? I noted that there was a script for 2022, but I did not see an equivalent script.

Thank-you,

Nick

Jason, I went through both the youtube and slides for the talk on cache-hierarchies. I have some question that I hoping you might answer. The ruby example in the slides looked at the parallel algorithm. I noticed that you recommended using gem5-mesi. That was a pre-built gem5 in codespace. Looking at the run.py script I noticed that it was a Two Level MESI. The gem5 buildopt directory specifies the ALL build as a MESI Two Level. Is that what you are calling gem5-mesi? Was there a different gem5 build for that version? My second question was that there were three implementations that were tested (naïve, false_sharing and chunking). The gem5.opt from ALL did not recognize chunking, but instead offered blocking. I am assuming that is a blocking cache option. Are we talking about the same implementation? Is there a docker build script that generates what is present in the 2024 codespace? I noted that there was a script for 2022, but I did not see an equivalent script. Thank-you, Nick
JL
Jason Lowe-Power
Tue, Oct 15, 2024 2:47 PM

Hi Nick,

On Sat, Oct 12, 2024 at 4:42 PM Beser, Nicholas D. via gem5-users <
gem5-users@gem5.org> wrote:

Jason,

I went through both the youtube and slides for the talk on
cache-hierarchies. I have some question that I hoping you might answer. The
ruby example in the slides looked at the parallel algorithm. I noticed that
you recommended using gem5-mesi. That was a pre-built gem5 in codespace.
Looking at the run.py script I noticed that it was a Two Level MESI. The
gem5 buildopt directory specifies the ALL build as a MESI Two Level. Is
that what you are calling gem5-mesi? Was there a different gem5 build for
that version?

See bootcamp/README.md at main · gem5bootcamp/bootcamp (github.com)
https://github.com/gem5bootcamp/bootcamp/blob/main/README.md.
Specifically,

The container used by Codespaces is built from Dockerfile
https://github.com/gem5bootcamp/bootcamp/blob/main/gem5/util/dockerfiles/devcontainer/Dockerfile.
It contains:

  • All gem5 dependencies (inc. optional dependencies).
  • Prebuilt gem5 binaries:
    • /usr/local/bin/gem5-chi (/usr/local/bin/gem5) (gem5 ALL ISAs with
      CHI protocol)
    • /usr/local/bin/gem5-mesi (default gem5 ALL build with
      MESI_Two_Level)
    • /usr/local/bin/gem5-vega (x86-only with GPU protocol)

My second question was that there were three implementations that were
tested (naïve, false_sharing and chunking). The gem5.opt from ALL did not
recognize chunking, but instead offered blocking. I am assuming that is a
blocking cache option. Are we talking about the same implementation?

This is referring to the application not the cache. There are three
implementations of the workload. There is only one implementation of the
cache in this example. This homework probably explains it better: ECS
154B/201A: Computer Architecture | Assignment5 (jlpteaching.github.io)
https://jlpteaching.github.io/comparch/modules/gem5/assignment5/

Is there a docker build script that generates what is present in the 2024
codespace? I noted that there was a script for 2022, but I did not see an
equivalent script.

See bootcamp/.devcontainer/devcontainer.json at main ·
gem5bootcamp/bootcamp (github.com)
https://github.com/gem5bootcamp/bootcamp/blob/main/.devcontainer/devcontainer.json
and gem5/util/dockerfiles/devcontainer/Dockerfile at develop · gem5/gem5
(github.com)
https://github.com/gem5/gem5/blob/develop/util/dockerfiles/devcontainer/Dockerfile

Thank-you,

Nick


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

Hi Nick, On Sat, Oct 12, 2024 at 4:42 PM Beser, Nicholas D. via gem5-users < gem5-users@gem5.org> wrote: > Jason, > > > > I went through both the youtube and slides for the talk on > cache-hierarchies. I have some question that I hoping you might answer. The > ruby example in the slides looked at the parallel algorithm. I noticed that > you recommended using gem5-mesi. That was a pre-built gem5 in codespace. > Looking at the run.py script I noticed that it was a Two Level MESI. The > gem5 buildopt directory specifies the ALL build as a MESI Two Level. Is > that what you are calling gem5-mesi? Was there a different gem5 build for > that version? > See bootcamp/README.md at main · gem5bootcamp/bootcamp (github.com) <https://github.com/gem5bootcamp/bootcamp/blob/main/README.md>. Specifically, The container used by Codespaces is built from Dockerfile <https://github.com/gem5bootcamp/bootcamp/blob/main/gem5/util/dockerfiles/devcontainer/Dockerfile>. It contains: - All gem5 dependencies (inc. optional dependencies). - Prebuilt gem5 binaries: - /usr/local/bin/gem5-chi (/usr/local/bin/gem5) (gem5 ALL ISAs with CHI protocol) - /usr/local/bin/gem5-mesi (default gem5 ALL build with MESI_Two_Level) - /usr/local/bin/gem5-vega (x86-only with GPU protocol) > > > My second question was that there were three implementations that were > tested (naïve, false_sharing and chunking). The gem5.opt from ALL did not > recognize chunking, but instead offered blocking. I am assuming that is a > blocking cache option. Are we talking about the same implementation? > This is referring to the *application* not the cache. There are three implementations of the *workload*. There is only one implementation of the cache in this example. This homework probably explains it better: ECS 154B/201A: Computer Architecture | Assignment5 (jlpteaching.github.io) <https://jlpteaching.github.io/comparch/modules/gem5/assignment5/> > > > Is there a docker build script that generates what is present in the 2024 > codespace? I noted that there was a script for 2022, but I did not see an > equivalent script. > See bootcamp/.devcontainer/devcontainer.json at main · gem5bootcamp/bootcamp (github.com) <https://github.com/gem5bootcamp/bootcamp/blob/main/.devcontainer/devcontainer.json> and gem5/util/dockerfiles/devcontainer/Dockerfile at develop · gem5/gem5 (github.com) <https://github.com/gem5/gem5/blob/develop/util/dockerfiles/devcontainer/Dockerfile> > > > Thank-you, > > > > Nick > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-leave@gem5.org >