Re: [gem5-dev] gem5-resources: Feedback appreciated!

2020-04-20 Thread Bobby Bruce
Ah, yes, that's part of the intent of the common Makefile. It'll be a while
until it's implemented but it's on my to-do list.

Kind regards,
Bobby
--
Dr. Bobby R. Bruce
Room 2235,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Fri, Apr 17, 2020 at 12:13 PM Ciro Santilli 
wrote:

> Yes, my main point is that hopefully when you run "make ISA=arm64" / or
> scons it will build at least all single input source files that we have in
> one go e.g.:
>
> main.c ->  out/arm64/main.out
> test2.c -> out/arm64/test2.out
>
> for the given ISA, as I did in the mentioned patchset, without me having
> to cd into various directories and run make in them.
>
> 
> From: gem5-dev  on behalf of Bobby Bruce <
> bbr...@ucdavis.edu>
> Sent: Friday, April 17, 2020 12:45 AM
> To: gem5 Developer List 
> Subject: Re: [gem5-dev] gem5-resources: Feedback appreciated!
>
> Ciro,
>
> Could you flesh out for me what you're asking here, and how it relates to
> this gem5-resources repository?
>
> If you want to add code compilable to all ISAs, etc, you'll be free to do
> so.
>
> Bobby
> --
> Dr. Bobby R. Bruce
> Room 2235,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
>
>
> On Thu, Apr 16, 2020 at 2:40 AM Ciro Santilli 
> wrote:
>
> > Thanks for this Bobby,
> >
> > I think this is in your plans, but just to confirm, what I would really
> > like to see is a way to build all ISA agnostic C/C++ userland (and
> > hopefully baremetal) sources that generate for a give ISA with a single
> > build command along the lines of:
> >
> https://gem5-review.googlesource.com/c/public/gem5/+/27308/1/tests/test-progs/Makefile
> > (except possibly for huge userland executables that take a long time to
> > compile or have non-trivial dependencies)
> >
> > ________
> > From: gem5-dev  on behalf of Gabe Black <
> > gabebl...@google.com>
> > Sent: Tuesday, April 14, 2020 2:43 AM
> > To: gem5 Developer List 
> > Subject: Re: [gem5-dev] gem5-resources: Feedback appreciated!
> >
> > I think this is a good idea. I would advocate to not use Make for these
> > since it sort of falls over, or gets very complicated, when trying to
> build
> > the same source for multiple target architectures simultaneously. I have
> > CLs which convert the m5 utility's build over to scons which I think
> worked
> > out well, and with some thought could be regularized and hopefully made
> > easy to stamp out for different test, etc, sources. Of course, as long as
> > we don't say though shalt use make, it doesn't really matter in the short
> > term since that's relatively easy to change in the future.
> >
> > Gabe
> >
> > On Mon, Apr 13, 2020 at 11:58 AM Bobby Bruce  wrote:
> >
> > > Dear all,
> > >
> > > As part of the gem5 20 release, we want to improve the way we handle
> the
> > > gem5 resources. What I mean by resources are things such as test
> > programs,
> > > images, kernels, etc; stuff that we don't strictly need to compile or
> run
> > > gem5, but we frequently use (and/or may be difficult to distribute as
> > part
> > > of gem5 due to licencing conflicts). At present, some of these are
> > > currently committed within the gem5 repository, and some are pulled
> from
> > > our Google Cloud bucket as needed (there may be others outside of this
> of
> > > which I am not aware of).
> > >
> > > The problem at present is:
> > > A) The resources are not available in some common way across the
> project.
> > > B) The resources change over time and this change is not well recorded,
> > > particularly in the case of compiled binaries. The source of these
> > binaries
> > > needs to be provided and changes to them properly logged.
> > > C) Similar to B), resources do not map to versions. A resource can
> change
> > > in our cloud bucket over time, which may break certain activities if
> > needed
> > > by a previous version of gem5.
> > >
> > > The proposal is to add another repository alongside gem5 and
> gem5-website
> > > on googlesource. This repository will contain the resources' sources,
> > which
> > > can be compiled to produce the resources used by the project. I've
> > started
> > > producing this here: https://github.com/gem5/gem5-resources. Please
> > have a
> > > look and consult the README.md for an explanation on how this
> repository
>

Re: [gem5-dev] gem5-resources: Feedback appreciated!

2020-04-17 Thread Ciro Santilli
Yes, my main point is that hopefully when you run "make ISA=arm64" / or scons 
it will build at least all single input source files that we have in one go 
e.g.:

main.c ->  out/arm64/main.out
test2.c -> out/arm64/test2.out

for the given ISA, as I did in the mentioned patchset, without me having to cd 
into various directories and run make in them.


From: gem5-dev  on behalf of Bobby Bruce 

Sent: Friday, April 17, 2020 12:45 AM
To: gem5 Developer List 
Subject: Re: [gem5-dev] gem5-resources: Feedback appreciated!

Ciro,

Could you flesh out for me what you're asking here, and how it relates to
this gem5-resources repository?

If you want to add code compilable to all ISAs, etc, you'll be free to do
so.

Bobby
--
Dr. Bobby R. Bruce
Room 2235,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Thu, Apr 16, 2020 at 2:40 AM Ciro Santilli  wrote:

> Thanks for this Bobby,
>
> I think this is in your plans, but just to confirm, what I would really
> like to see is a way to build all ISA agnostic C/C++ userland (and
> hopefully baremetal) sources that generate for a give ISA with a single
> build command along the lines of:
> https://gem5-review.googlesource.com/c/public/gem5/+/27308/1/tests/test-progs/Makefile
> (except possibly for huge userland executables that take a long time to
> compile or have non-trivial dependencies)
>
> 
> From: gem5-dev  on behalf of Gabe Black <
> gabebl...@google.com>
> Sent: Tuesday, April 14, 2020 2:43 AM
> To: gem5 Developer List 
> Subject: Re: [gem5-dev] gem5-resources: Feedback appreciated!
>
> I think this is a good idea. I would advocate to not use Make for these
> since it sort of falls over, or gets very complicated, when trying to build
> the same source for multiple target architectures simultaneously. I have
> CLs which convert the m5 utility's build over to scons which I think worked
> out well, and with some thought could be regularized and hopefully made
> easy to stamp out for different test, etc, sources. Of course, as long as
> we don't say though shalt use make, it doesn't really matter in the short
> term since that's relatively easy to change in the future.
>
> Gabe
>
> On Mon, Apr 13, 2020 at 11:58 AM Bobby Bruce  wrote:
>
> > Dear all,
> >
> > As part of the gem5 20 release, we want to improve the way we handle the
> > gem5 resources. What I mean by resources are things such as test
> programs,
> > images, kernels, etc; stuff that we don't strictly need to compile or run
> > gem5, but we frequently use (and/or may be difficult to distribute as
> part
> > of gem5 due to licencing conflicts). At present, some of these are
> > currently committed within the gem5 repository, and some are pulled from
> > our Google Cloud bucket as needed (there may be others outside of this of
> > which I am not aware of).
> >
> > The problem at present is:
> > A) The resources are not available in some common way across the project.
> > B) The resources change over time and this change is not well recorded,
> > particularly in the case of compiled binaries. The source of these
> binaries
> > needs to be provided and changes to them properly logged.
> > C) Similar to B), resources do not map to versions. A resource can change
> > in our cloud bucket over time, which may break certain activities if
> needed
> > by a previous version of gem5.
> >
> > The proposal is to add another repository alongside gem5 and gem5-website
> > on googlesource. This repository will contain the resources' sources,
> which
> > can be compiled to produce the resources used by the project. I've
> started
> > producing this here: https://github.com/gem5/gem5-resources. Please
> have a
> > look and consult the README.md for an explanation on how this repository
> > would work.
> >
> > The compiled products of this repo would be uploaded to our
> dist.gem5.org
> > bucket. If someone wanted to alter or add a resource to gem5, they'd do
> so
> > in this repo (via Gerrit). The gem5-resource directory would adopt the
> same
> > versioning and master/develop branch split system as gem5 currently does.
> > So, as gem5 v20.0.0.0 is released, so would gem5-resources v20.0.0.0.
> > Version X of gem5 would always be assumed to work with version X of
> > gem5-resources. The dist.gem5.org bucket would be kept up to date.
> > dist.gem5.org/dist/current would track changes made to the
> gem5-resources
> > develop branch with dist.gem5.org/dist/${VERSION}
> <http://dist.gem5.org/dist/$%7BVERSION%7D>
> > <http://dist.gem5.org/dist/$%7BVERSION%7D> contain

Re: [gem5-dev] gem5-resources: Feedback appreciated!

2020-04-16 Thread Bobby Bruce
Ciro,

Could you flesh out for me what you're asking here, and how it relates to
this gem5-resources repository?

If you want to add code compilable to all ISAs, etc, you'll be free to do
so.

Bobby
--
Dr. Bobby R. Bruce
Room 2235,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Thu, Apr 16, 2020 at 2:40 AM Ciro Santilli  wrote:

> Thanks for this Bobby,
>
> I think this is in your plans, but just to confirm, what I would really
> like to see is a way to build all ISA agnostic C/C++ userland (and
> hopefully baremetal) sources that generate for a give ISA with a single
> build command along the lines of:
> https://gem5-review.googlesource.com/c/public/gem5/+/27308/1/tests/test-progs/Makefile
> (except possibly for huge userland executables that take a long time to
> compile or have non-trivial dependencies)
>
> 
> From: gem5-dev  on behalf of Gabe Black <
> gabebl...@google.com>
> Sent: Tuesday, April 14, 2020 2:43 AM
> To: gem5 Developer List 
> Subject: Re: [gem5-dev] gem5-resources: Feedback appreciated!
>
> I think this is a good idea. I would advocate to not use Make for these
> since it sort of falls over, or gets very complicated, when trying to build
> the same source for multiple target architectures simultaneously. I have
> CLs which convert the m5 utility's build over to scons which I think worked
> out well, and with some thought could be regularized and hopefully made
> easy to stamp out for different test, etc, sources. Of course, as long as
> we don't say though shalt use make, it doesn't really matter in the short
> term since that's relatively easy to change in the future.
>
> Gabe
>
> On Mon, Apr 13, 2020 at 11:58 AM Bobby Bruce  wrote:
>
> > Dear all,
> >
> > As part of the gem5 20 release, we want to improve the way we handle the
> > gem5 resources. What I mean by resources are things such as test
> programs,
> > images, kernels, etc; stuff that we don't strictly need to compile or run
> > gem5, but we frequently use (and/or may be difficult to distribute as
> part
> > of gem5 due to licencing conflicts). At present, some of these are
> > currently committed within the gem5 repository, and some are pulled from
> > our Google Cloud bucket as needed (there may be others outside of this of
> > which I am not aware of).
> >
> > The problem at present is:
> > A) The resources are not available in some common way across the project.
> > B) The resources change over time and this change is not well recorded,
> > particularly in the case of compiled binaries. The source of these
> binaries
> > needs to be provided and changes to them properly logged.
> > C) Similar to B), resources do not map to versions. A resource can change
> > in our cloud bucket over time, which may break certain activities if
> needed
> > by a previous version of gem5.
> >
> > The proposal is to add another repository alongside gem5 and gem5-website
> > on googlesource. This repository will contain the resources' sources,
> which
> > can be compiled to produce the resources used by the project. I've
> started
> > producing this here: https://github.com/gem5/gem5-resources. Please
> have a
> > look and consult the README.md for an explanation on how this repository
> > would work.
> >
> > The compiled products of this repo would be uploaded to our
> dist.gem5.org
> > bucket. If someone wanted to alter or add a resource to gem5, they'd do
> so
> > in this repo (via Gerrit). The gem5-resource directory would adopt the
> same
> > versioning and master/develop branch split system as gem5 currently does.
> > So, as gem5 v20.0.0.0 is released, so would gem5-resources v20.0.0.0.
> > Version X of gem5 would always be assumed to work with version X of
> > gem5-resources. The dist.gem5.org bucket would be kept up to date.
> > dist.gem5.org/dist/current would track changes made to the
> gem5-resources
> > develop branch with dist.gem5.org/dist/${VERSION}
> <http://dist.gem5.org/dist/$%7BVERSION%7D>
> > <http://dist.gem5.org/dist/$%7BVERSION%7D> containing the resources
> > for the ${VERSION} release.
> >
> > A few notes:
> > - gem5 19 contains tests that pull from dist.gem5.org/dist/current. I
> > believe I'll need to apply a hotfix to this release to pull from
> > dist.gem5.org/dist/v19-0-0-1 instead.
> > - Right now there is a lot of stuff on dist.gem5.org/dist/current which
> I
> > do not have sources for. I may need to ask around. This may be a bit of
> > work.
> >
> > I'd appreciate feedback on this, if anyone has any, before I proceed
&

Re: [gem5-dev] gem5-resources: Feedback appreciated!

2020-04-16 Thread Ciro Santilli
Thanks for this Bobby,

I think this is in your plans, but just to confirm, what I would really like to 
see is a way to build all ISA agnostic C/C++ userland (and hopefully baremetal) 
sources that generate for a give ISA with a single build command along the 
lines of: 
https://gem5-review.googlesource.com/c/public/gem5/+/27308/1/tests/test-progs/Makefile
 (except possibly for huge userland executables that take a long time to 
compile or have non-trivial dependencies)


From: gem5-dev  on behalf of Gabe Black 

Sent: Tuesday, April 14, 2020 2:43 AM
To: gem5 Developer List 
Subject: Re: [gem5-dev] gem5-resources: Feedback appreciated!

I think this is a good idea. I would advocate to not use Make for these
since it sort of falls over, or gets very complicated, when trying to build
the same source for multiple target architectures simultaneously. I have
CLs which convert the m5 utility's build over to scons which I think worked
out well, and with some thought could be regularized and hopefully made
easy to stamp out for different test, etc, sources. Of course, as long as
we don't say though shalt use make, it doesn't really matter in the short
term since that's relatively easy to change in the future.

Gabe

On Mon, Apr 13, 2020 at 11:58 AM Bobby Bruce  wrote:

> Dear all,
>
> As part of the gem5 20 release, we want to improve the way we handle the
> gem5 resources. What I mean by resources are things such as test programs,
> images, kernels, etc; stuff that we don't strictly need to compile or run
> gem5, but we frequently use (and/or may be difficult to distribute as part
> of gem5 due to licencing conflicts). At present, some of these are
> currently committed within the gem5 repository, and some are pulled from
> our Google Cloud bucket as needed (there may be others outside of this of
> which I am not aware of).
>
> The problem at present is:
> A) The resources are not available in some common way across the project.
> B) The resources change over time and this change is not well recorded,
> particularly in the case of compiled binaries. The source of these binaries
> needs to be provided and changes to them properly logged.
> C) Similar to B), resources do not map to versions. A resource can change
> in our cloud bucket over time, which may break certain activities if needed
> by a previous version of gem5.
>
> The proposal is to add another repository alongside gem5 and gem5-website
> on googlesource. This repository will contain the resources' sources, which
> can be compiled to produce the resources used by the project. I've started
> producing this here: https://github.com/gem5/gem5-resources. Please have a
> look and consult the README.md for an explanation on how this repository
> would work.
>
> The compiled products of this repo would be uploaded to our dist.gem5.org
> bucket. If someone wanted to alter or add a resource to gem5, they'd do so
> in this repo (via Gerrit). The gem5-resource directory would adopt the same
> versioning and master/develop branch split system as gem5 currently does.
> So, as gem5 v20.0.0.0 is released, so would gem5-resources v20.0.0.0.
> Version X of gem5 would always be assumed to work with version X of
> gem5-resources. The dist.gem5.org bucket would be kept up to date.
> dist.gem5.org/dist/current would track changes made to the gem5-resources
> develop branch with dist.gem5.org/dist/${VERSION}
> <http://dist.gem5.org/dist/$%7BVERSION%7D> containing the resources
> for the ${VERSION} release.
>
> A few notes:
> - gem5 19 contains tests that pull from dist.gem5.org/dist/current. I
> believe I'll need to apply a hotfix to this release to pull from
> dist.gem5.org/dist/v19-0-0-1 instead.
> - Right now there is a lot of stuff on dist.gem5.org/dist/current which I
> do not have sources for. I may need to ask around. This may be a bit of
> work.
>
> I'd appreciate feedback on this, if anyone has any, before I proceed
> further with this plan.
>
> Kind regards,
> Bobby
> --
> Dr. Bobby R. Bruce
> Room 2235,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
> ___
> gem5-dev mailing list
> gem5-dev@gem5.org
> http://m5sim.org/mailman/listinfo/gem5-dev
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Re: [gem5-dev] gem5-resources: Feedback appreciated!

2020-04-13 Thread Gabe Black
I think this is a good idea. I would advocate to not use Make for these
since it sort of falls over, or gets very complicated, when trying to build
the same source for multiple target architectures simultaneously. I have
CLs which convert the m5 utility's build over to scons which I think worked
out well, and with some thought could be regularized and hopefully made
easy to stamp out for different test, etc, sources. Of course, as long as
we don't say though shalt use make, it doesn't really matter in the short
term since that's relatively easy to change in the future.

Gabe

On Mon, Apr 13, 2020 at 11:58 AM Bobby Bruce  wrote:

> Dear all,
>
> As part of the gem5 20 release, we want to improve the way we handle the
> gem5 resources. What I mean by resources are things such as test programs,
> images, kernels, etc; stuff that we don't strictly need to compile or run
> gem5, but we frequently use (and/or may be difficult to distribute as part
> of gem5 due to licencing conflicts). At present, some of these are
> currently committed within the gem5 repository, and some are pulled from
> our Google Cloud bucket as needed (there may be others outside of this of
> which I am not aware of).
>
> The problem at present is:
> A) The resources are not available in some common way across the project.
> B) The resources change over time and this change is not well recorded,
> particularly in the case of compiled binaries. The source of these binaries
> needs to be provided and changes to them properly logged.
> C) Similar to B), resources do not map to versions. A resource can change
> in our cloud bucket over time, which may break certain activities if needed
> by a previous version of gem5.
>
> The proposal is to add another repository alongside gem5 and gem5-website
> on googlesource. This repository will contain the resources' sources, which
> can be compiled to produce the resources used by the project. I've started
> producing this here: https://github.com/gem5/gem5-resources. Please have a
> look and consult the README.md for an explanation on how this repository
> would work.
>
> The compiled products of this repo would be uploaded to our dist.gem5.org
> bucket. If someone wanted to alter or add a resource to gem5, they'd do so
> in this repo (via Gerrit). The gem5-resource directory would adopt the same
> versioning and master/develop branch split system as gem5 currently does.
> So, as gem5 v20.0.0.0 is released, so would gem5-resources v20.0.0.0.
> Version X of gem5 would always be assumed to work with version X of
> gem5-resources. The dist.gem5.org bucket would be kept up to date.
> dist.gem5.org/dist/current would track changes made to the gem5-resources
> develop branch with dist.gem5.org/dist/${VERSION}
>  containing the resources
> for the ${VERSION} release.
>
> A few notes:
> - gem5 19 contains tests that pull from dist.gem5.org/dist/current. I
> believe I'll need to apply a hotfix to this release to pull from
> dist.gem5.org/dist/v19-0-0-1 instead.
> - Right now there is a lot of stuff on dist.gem5.org/dist/current which I
> do not have sources for. I may need to ask around. This may be a bit of
> work.
>
> I'd appreciate feedback on this, if anyone has any, before I proceed
> further with this plan.
>
> Kind regards,
> Bobby
> --
> Dr. Bobby R. Bruce
> Room 2235,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
> ___
> gem5-dev mailing list
> gem5-dev@gem5.org
> http://m5sim.org/mailman/listinfo/gem5-dev
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] gem5-resources: Feedback appreciated!

2020-04-13 Thread Bobby Bruce
Dear all,

As part of the gem5 20 release, we want to improve the way we handle the
gem5 resources. What I mean by resources are things such as test programs,
images, kernels, etc; stuff that we don't strictly need to compile or run
gem5, but we frequently use (and/or may be difficult to distribute as part
of gem5 due to licencing conflicts). At present, some of these are
currently committed within the gem5 repository, and some are pulled from
our Google Cloud bucket as needed (there may be others outside of this of
which I am not aware of).

The problem at present is:
A) The resources are not available in some common way across the project.
B) The resources change over time and this change is not well recorded,
particularly in the case of compiled binaries. The source of these binaries
needs to be provided and changes to them properly logged.
C) Similar to B), resources do not map to versions. A resource can change
in our cloud bucket over time, which may break certain activities if needed
by a previous version of gem5.

The proposal is to add another repository alongside gem5 and gem5-website
on googlesource. This repository will contain the resources' sources, which
can be compiled to produce the resources used by the project. I've started
producing this here: https://github.com/gem5/gem5-resources. Please have a
look and consult the README.md for an explanation on how this repository
would work.

The compiled products of this repo would be uploaded to our dist.gem5.org
bucket. If someone wanted to alter or add a resource to gem5, they'd do so
in this repo (via Gerrit). The gem5-resource directory would adopt the same
versioning and master/develop branch split system as gem5 currently does.
So, as gem5 v20.0.0.0 is released, so would gem5-resources v20.0.0.0.
Version X of gem5 would always be assumed to work with version X of
gem5-resources. The dist.gem5.org bucket would be kept up to date.
dist.gem5.org/dist/current would track changes made to the gem5-resources
develop branch with dist.gem5.org/dist/${VERSION} containing the resources
for the ${VERSION} release.

A few notes:
- gem5 19 contains tests that pull from dist.gem5.org/dist/current. I
believe I'll need to apply a hotfix to this release to pull from
dist.gem5.org/dist/v19-0-0-1 instead.
- Right now there is a lot of stuff on dist.gem5.org/dist/current which I
do not have sources for. I may need to ask around. This may be a bit of
work.

I'd appreciate feedback on this, if anyone has any, before I proceed
further with this plan.

Kind regards,
Bobby
--
Dr. Bobby R. Bruce
Room 2235,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev