I have been looking over the example of Garnet in the 2024 bootcamp. The Ring-garnet does work as advertised. I was wondering if GarnetPt2Pt and GarnetMesh still works. The example from the older 2022 bootcamp used NULL/gem5.opt, but while the code is still in the materials/archive, the commands don't seem to work. The examples in 2024 seem to use ALL_CHI/gem5.opt and not NULL.
What is the right way to demonstrate Garnet Pt2Pt and Garnet_mesh?
Nick
Hi Nick,
The generic topologies in Ruby (e.g., the ones in configs/topologies) were
always very brittle. This was especially so for topologies like Mesh
where the topology is tightly coupled to the number of each type of
controller (and even the coherence protocol!).
Therefore, in the stdlib we have taken the approach that we will not
provide generic topologies. Instead, we will provide specific instances of
topologies paired with a protocol. I.e., we will provide "prebuilt" cache
hierarchies. For example, the Octopi cache:
gem5/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py
at stable · gem5/gem5 · GitHub
https://github.com/gem5/gem5/blob/stable/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py#L58
To answer your question directly, the correct way to demonstrate garnet
pt2pt or mesh would be to write your own cache hierarchy. Note that you
don't need to put it in src/ or recompile gem5. Because it's pure python
using the gem5 libraries you can simply write a python file and use it. If
you create a CacheHierarchy
then it will likely be compatible with all of
our boards including both the test board (used with traffic generators) and
all of the ISAs.
Cheers,
Jason
On Sat, Oct 26, 2024 at 1:01 PM Beser, Nicholas D. via gem5-users <
gem5-users@gem5.org> wrote:
I have been looking over the example of Garnet in the 2024 bootcamp. The
Ring-garnet does work as advertised. I was wondering if GarnetPt2Pt and
GarnetMesh still works. The example from the older 2022 bootcamp used
NULL/gem5.opt, but while the code is still in the materials/archive, the
commands don’t seem to work. The examples in 2024 seem to use
ALL_CHI/gem5.opt and not NULL.
What is the right way to demonstrate Garnet Pt2Pt and Garnet_mesh?
Nick
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org
Jason,
There was a comment in the charts that the replacement policy was broken. Is that still the case?
I wanted to assign the students a task to experiment with different replacement policies.
Nick
From: Jason Lowe-Power jason@lowepower.com
Sent: Monday, October 28, 2024 11:24 AM
To: The gem5 Users mailing list gem5-users@gem5.org
Cc: Beser, Nicholas D. Nick.Beser@jhuapl.edu
Subject: [EXT] Re: [gem5-users] Does GarnetPt2Pt and GarnetMesh still work in Gem5?
APL external email warning: Verify sender jason@lowepower.commailto:jason@lowepower.com before clicking links or attachments
Hi Nick,
The generic topologies in Ruby (e.g., the ones in configs/topologies) were always very brittle. This was especially so for topologies like Mesh where the topology is tightly coupled to the number of each type of controller (and even the coherence protocol!).
Therefore, in the stdlib we have taken the approach that we will not provide generic topologies. Instead, we will provide specific instances of topologies paired with a protocol. I.e., we will provide "prebuilt" cache hierarchies. For example, the Octopi cache: gem5/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py at stable · gem5/gem5 · GitHubhttps://github.com/gem5/gem5/blob/stable/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py#L58
To answer your question directly, the correct way to demonstrate garnet pt2pt or mesh would be to write your own cache hierarchy. Note that you don't need to put it in src/ or recompile gem5. Because it's pure python using the gem5 libraries you can simply write a python file and use it. If you create a CacheHierarchy
then it will likely be compatible with all of our boards including both the test board (used with traffic generators) and all of the ISAs.
Cheers,
Jason
On Sat, Oct 26, 2024 at 1:01 PM Beser, Nicholas D. via gem5-users <gem5-users@gem5.orgmailto:gem5-users@gem5.org> wrote:
I have been looking over the example of Garnet in the 2024 bootcamp. The Ring-garnet does work as advertised. I was wondering if GarnetPt2Pt and GarnetMesh still works. The example from the older 2022 bootcamp used NULL/gem5.opt, but while the code is still in the materials/archive, the commands don’t seem to work. The examples in 2024 seem to use ALL_CHI/gem5.opt and not NULL.
What is the right way to demonstrate Garnet Pt2Pt and Garnet_mesh?
Nick
gem5-users mailing list -- gem5-users@gem5.orgmailto:gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.orgmailto:gem5-users-leave@gem5.org
Replacement policies should be fully supported.
On Mon, Oct 28, 2024, 8:44 AM Beser, Nicholas D. Nick.Beser@jhuapl.edu
wrote:
Jason,
There was a comment in the charts that the replacement policy was broken.
Is that still the case?
I wanted to assign the students a task to experiment with different
replacement policies.
Nick
From: Jason Lowe-Power jason@lowepower.com
Sent: Monday, October 28, 2024 11:24 AM
To: The gem5 Users mailing list gem5-users@gem5.org
Cc: Beser, Nicholas D. Nick.Beser@jhuapl.edu
Subject: [EXT] Re: [gem5-users] Does GarnetPt2Pt and GarnetMesh still
work in Gem5?
*APL external email warning: *Verify sender jason@lowepower.com before
clicking links or attachments
Hi Nick,
The generic topologies in Ruby (e.g., the ones in configs/topologies) were
always very brittle. This was especially so for topologies like Mesh
where the topology is tightly coupled to the number of each type of
controller (and even the coherence protocol!).
Therefore, in the stdlib we have taken the approach that we will not
provide generic topologies. Instead, we will provide specific instances of
topologies paired with a protocol. I.e., we will provide "prebuilt" cache
hierarchies. For example, the Octopi cache: gem5/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py
at stable · gem5/gem5 · GitHub
https://github.com/gem5/gem5/blob/stable/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py#L58
To answer your question directly, the correct way to demonstrate garnet
pt2pt or mesh would be to write your own cache hierarchy. Note that you
don't need to put it in src/ or recompile gem5. Because it's pure python
using the gem5 libraries you can simply write a python file and use it. If
you create a CacheHierarchy
then it will likely be compatible with all of
our boards including both the test board (used with traffic generators) and
all of the ISAs.
Cheers,
Jason
On Sat, Oct 26, 2024 at 1:01 PM Beser, Nicholas D. via gem5-users <
gem5-users@gem5.org> wrote:
I have been looking over the example of Garnet in the 2024 bootcamp. The
Ring-garnet does work as advertised. I was wondering if GarnetPt2Pt and
GarnetMesh still works. The example from the older 2022 bootcamp used
NULL/gem5.opt, but while the code is still in the materials/archive, the
commands don’t seem to work. The examples in 2024 seem to use
ALL_CHI/gem5.opt and not NULL.
What is the right way to demonstrate Garnet Pt2Pt and Garnet_mesh?
Nick
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org
Hi Nicholas,
+1 to what Jason said. I just assigned the students in my class an
assignment using many of the different replacement policies and none
reported problems:
https://pages.cs.wisc.edu/~sinclair/courses/cs752/fall2024/handouts/cs752-fall2024-hw5.pdf
My guess is you are thinking of my student's prior presentation on various
bug fixes we made for the replacement policies (among other things):
https://www.gem5.org/assets/files/workshop-isca-2023/slides/analyzing-the-benefits-of-more-complex-cache.pdf,
unless there is something else I'm not aware of ...
Matt
On Mon, Oct 28, 2024 at 11:31 AM Jason Lowe-Power via gem5-users <
gem5-users@gem5.org> wrote:
Replacement policies should be fully supported.
On Mon, Oct 28, 2024, 8:44 AM Beser, Nicholas D. Nick.Beser@jhuapl.edu
wrote:
Jason,
There was a comment in the charts that the replacement policy was broken.
Is that still the case?
I wanted to assign the students a task to experiment with different
replacement policies.
Nick
From: Jason Lowe-Power jason@lowepower.com
Sent: Monday, October 28, 2024 11:24 AM
To: The gem5 Users mailing list gem5-users@gem5.org
Cc: Beser, Nicholas D. Nick.Beser@jhuapl.edu
Subject: [EXT] Re: [gem5-users] Does GarnetPt2Pt and GarnetMesh still
work in Gem5?
*APL external email warning: *Verify sender jason@lowepower.com before
clicking links or attachments
Hi Nick,
The generic topologies in Ruby (e.g., the ones in configs/topologies)
were always very brittle. This was especially so for topologies like Mesh
where the topology is tightly coupled to the number of each type of
controller (and even the coherence protocol!).
Therefore, in the stdlib we have taken the approach that we will not
provide generic topologies. Instead, we will provide specific instances of
topologies paired with a protocol. I.e., we will provide "prebuilt" cache
hierarchies. For example, the Octopi cache: gem5/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py
at stable · gem5/gem5 · GitHub
https://github.com/gem5/gem5/blob/stable/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py#L58
To answer your question directly, the correct way to demonstrate garnet
pt2pt or mesh would be to write your own cache hierarchy. Note that you
don't need to put it in src/ or recompile gem5. Because it's pure python
using the gem5 libraries you can simply write a python file and use it. If
you create a CacheHierarchy
then it will likely be compatible with all of
our boards including both the test board (used with traffic generators) and
all of the ISAs.
Cheers,
Jason
On Sat, Oct 26, 2024 at 1:01 PM Beser, Nicholas D. via gem5-users <
gem5-users@gem5.org> wrote:
I have been looking over the example of Garnet in the 2024 bootcamp. The
Ring-garnet does work as advertised. I was wondering if GarnetPt2Pt and
GarnetMesh still works. The example from the older 2022 bootcamp used
NULL/gem5.opt, but while the code is still in the materials/archive, the
commands don’t seem to work. The examples in 2024 seem to use
ALL_CHI/gem5.opt and not NULL.
What is the right way to demonstrate Garnet Pt2Pt and Garnet_mesh?
Nick
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org
Matt,
Thank you for your comments and link. I think we use a similar approach to teaching advanced computer architecture. Can you tell me how you have your students running gem5? Do you supply them with a VM system or use github codespace? I took the approach of supplying my class with jetson orin nano processors which was able to run gem5 but was hampered by having only 6 cores, and did not run the gpu emulation. Almost all of the students had access to their own x86 processors and were able run some form of linux. I also used the jetson orin nano to teach the class about Nvidia GPU programming.
The class did have issues with docker not behaving in a uniform fashion. When I setup the class initially I liked the bootcamp 2022 approach with docker. However when I upgraded to 2024, it seemed to be more a patchwork than seamless interface.
I have had a lot of trouble trying to get github to respond to my request to try to setup codespace for my class. I am hoping to get something better in place before I offer the class again.
Nick
From: Matt Sinclair mattdsinclair.wisc@gmail.com
Sent: Monday, October 28, 2024 4:06 PM
To: The gem5 Users mailing list gem5-users@gem5.org
Cc: Beser, Nicholas D. Nick.Beser@jhuapl.edu; Jason Lowe-Power jason@lowepower.com
Subject: Re: [gem5-users] Re: [EXT] Re: Does GarnetPt2Pt and GarnetMesh still work in Gem5?
APL external email warning: Verify sender mattdsinclair.wisc@gmail.commailto:mattdsinclair.wisc@gmail.com before clicking links or attachments
Hi Nicholas,
+1 to what Jason said. I just assigned the students in my class an assignment using many of the different replacement policies and none reported problems: https://pages.cs.wisc.edu/~sinclair/courses/cs752/fall2024/handouts/cs752-fall2024-hw5.pdf
My guess is you are thinking of my student's prior presentation on various bug fixes we made for the replacement policies (among other things): https://www.gem5.org/assets/files/workshop-isca-2023/slides/analyzing-the-benefits-of-more-complex-cache.pdf, unless there is something else I'm not aware of ...
Matt
On Mon, Oct 28, 2024 at 11:31 AM Jason Lowe-Power via gem5-users <gem5-users@gem5.orgmailto:gem5-users@gem5.org> wrote:
Replacement policies should be fully supported.
On Mon, Oct 28, 2024, 8:44 AM Beser, Nicholas D. <Nick.Beser@jhuapl.edumailto:Nick.Beser@jhuapl.edu> wrote:
Jason,
There was a comment in the charts that the replacement policy was broken. Is that still the case?
I wanted to assign the students a task to experiment with different replacement policies.
Nick
From: Jason Lowe-Power <jason@lowepower.commailto:jason@lowepower.com>
Sent: Monday, October 28, 2024 11:24 AM
To: The gem5 Users mailing list <gem5-users@gem5.orgmailto:gem5-users@gem5.org>
Cc: Beser, Nicholas D. <Nick.Beser@jhuapl.edumailto:Nick.Beser@jhuapl.edu>
Subject: [EXT] Re: [gem5-users] Does GarnetPt2Pt and GarnetMesh still work in Gem5?
APL external email warning: Verify sender jason@lowepower.commailto:jason@lowepower.com before clicking links or attachments
Hi Nick,
The generic topologies in Ruby (e.g., the ones in configs/topologies) were always very brittle. This was especially so for topologies like Mesh where the topology is tightly coupled to the number of each type of controller (and even the coherence protocol!).
Therefore, in the stdlib we have taken the approach that we will not provide generic topologies. Instead, we will provide specific instances of topologies paired with a protocol. I.e., we will provide "prebuilt" cache hierarchies. For example, the Octopi cache: gem5/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py at stable · gem5/gem5 · GitHubhttps://github.com/gem5/gem5/blob/stable/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py#L58
To answer your question directly, the correct way to demonstrate garnet pt2pt or mesh would be to write your own cache hierarchy. Note that you don't need to put it in src/ or recompile gem5. Because it's pure python using the gem5 libraries you can simply write a python file and use it. If you create a CacheHierarchy
then it will likely be compatible with all of our boards including both the test board (used with traffic generators) and all of the ISAs.
Cheers,
Jason
On Sat, Oct 26, 2024 at 1:01 PM Beser, Nicholas D. via gem5-users <gem5-users@gem5.orgmailto:gem5-users@gem5.org> wrote:
I have been looking over the example of Garnet in the 2024 bootcamp. The Ring-garnet does work as advertised. I was wondering if GarnetPt2Pt and GarnetMesh still works. The example from the older 2022 bootcamp used NULL/gem5.opt, but while the code is still in the materials/archive, the commands don’t seem to work. The examples in 2024 seem to use ALL_CHI/gem5.opt and not NULL.
What is the right way to demonstrate Garnet Pt2Pt and Garnet_mesh?
Nick
gem5-users mailing list -- gem5-users@gem5.orgmailto:gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.orgmailto:gem5-users-leave@gem5.org
gem5-users mailing list -- gem5-users@gem5.orgmailto:gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.orgmailto:gem5-users-leave@gem5.org
I just have them run the code on the Linux machines in my department's
computing labs -- no docker, no GitHub codespace, etc. I have considered
codespaces, but so far have not done so.
I don't expect GitHub will reply to you -- everyone I know who has gone
that route has set up their own codespace.
Matt
On Mon, Oct 28, 2024 at 3:25 PM Beser, Nicholas D. Nick.Beser@jhuapl.edu
wrote:
Matt,
Thank you for your comments and link. I think we use a similar approach to
teaching advanced computer architecture. Can you tell me how you have your
students running gem5? Do you supply them with a VM system or use github
codespace? I took the approach of supplying my class with jetson orin nano
processors which was able to run gem5 but was hampered by having only 6
cores, and did not run the gpu emulation. Almost all of the students had
access to their own x86 processors and were able run some form of linux. I
also used the jetson orin nano to teach the class about Nvidia GPU
programming.
The class did have issues with docker not behaving in a uniform fashion.
When I setup the class initially I liked the bootcamp 2022 approach with
docker. However when I upgraded to 2024, it seemed to be more a patchwork
than seamless interface.
I have had a lot of trouble trying to get github to respond to my request
to try to setup codespace for my class. I am hoping to get something better
in place before I offer the class again.
Nick
From: Matt Sinclair mattdsinclair.wisc@gmail.com
Sent: Monday, October 28, 2024 4:06 PM
To: The gem5 Users mailing list gem5-users@gem5.org
Cc: Beser, Nicholas D. Nick.Beser@jhuapl.edu; Jason Lowe-Power <
jason@lowepower.com>
Subject: Re: [gem5-users] Re: [EXT] Re: Does GarnetPt2Pt and GarnetMesh
still work in Gem5?
*APL external email warning: *Verify sender mattdsinclair.wisc@gmail.com
before clicking links or attachments
Hi Nicholas,
+1 to what Jason said. I just assigned the students in my class an
assignment using many of the different replacement policies and none
reported problems:
https://pages.cs.wisc.edu/~sinclair/courses/cs752/fall2024/handouts/cs752-fall2024-hw5.pdf
My guess is you are thinking of my student's prior presentation on various
bug fixes we made for the replacement policies (among other things):
https://www.gem5.org/assets/files/workshop-isca-2023/slides/analyzing-the-benefits-of-more-complex-cache.pdf,
unless there is something else I'm not aware of ...
Matt
On Mon, Oct 28, 2024 at 11:31 AM Jason Lowe-Power via gem5-users <
gem5-users@gem5.org> wrote:
Replacement policies should be fully supported.
On Mon, Oct 28, 2024, 8:44 AM Beser, Nicholas D. Nick.Beser@jhuapl.edu
wrote:
Jason,
There was a comment in the charts that the replacement policy was broken.
Is that still the case?
I wanted to assign the students a task to experiment with different
replacement policies.
Nick
From: Jason Lowe-Power jason@lowepower.com
Sent: Monday, October 28, 2024 11:24 AM
To: The gem5 Users mailing list gem5-users@gem5.org
Cc: Beser, Nicholas D. Nick.Beser@jhuapl.edu
Subject: [EXT] Re: [gem5-users] Does GarnetPt2Pt and GarnetMesh still
work in Gem5?
*APL external email warning: *Verify sender jason@lowepower.com before
clicking links or attachments
Hi Nick,
The generic topologies in Ruby (e.g., the ones in configs/topologies) were
always very brittle. This was especially so for topologies like Mesh
where the topology is tightly coupled to the number of each type of
controller (and even the coherence protocol!).
Therefore, in the stdlib we have taken the approach that we will not
provide generic topologies. Instead, we will provide specific instances of
topologies paired with a protocol. I.e., we will provide "prebuilt" cache
hierarchies. For example, the Octopi cache: gem5/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py
at stable · gem5/gem5 · GitHub
https://github.com/gem5/gem5/blob/stable/src/python/gem5/components/cachehierarchies/ruby/caches/prebuilt/octopi_cache/octopi.py#L58
To answer your question directly, the correct way to demonstrate garnet
pt2pt or mesh would be to write your own cache hierarchy. Note that you
don't need to put it in src/ or recompile gem5. Because it's pure python
using the gem5 libraries you can simply write a python file and use it. If
you create a CacheHierarchy
then it will likely be compatible with all of
our boards including both the test board (used with traffic generators) and
all of the ISAs.
Cheers,
Jason
On Sat, Oct 26, 2024 at 1:01 PM Beser, Nicholas D. via gem5-users <
gem5-users@gem5.org> wrote:
I have been looking over the example of Garnet in the 2024 bootcamp. The
Ring-garnet does work as advertised. I was wondering if GarnetPt2Pt and
GarnetMesh still works. The example from the older 2022 bootcamp used
NULL/gem5.opt, but while the code is still in the materials/archive, the
commands don’t seem to work. The examples in 2024 seem to use
ALL_CHI/gem5.opt and not NULL.
What is the right way to demonstrate Garnet Pt2Pt and Garnet_mesh?
Nick
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org