gem5-dev@gem5.org

The gem5 Developer List

View all threads

[XS] Change in gem5/gem5[develop]: resources, tests, configs: Introduce gem5 Vision to resources

KP
Kunal Pai (Gerrit)
Mon, May 22, 2023 9:55 PM

Kunal Pai has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/70859?usp=email )

Change subject: resources, tests, configs: Introduce gem5 Vision to
resources
......................................................................

resources, tests, configs: Introduce gem5 Vision to resources

This patch makes changes to resources based on the gem5 Vision project.
Firstly, a MongoDB database is supported.
A JSON database's support is continued.
The data for these databases is stored in src/python
under "gem5-config.json".

An AbstractClient is an abstract class that implements
searching and sorting relevant to the databases.

Databases is an optional list that can be passed
while defining any Resource class and obtain_resource.
These databases can be defined in the config JSON.

Resource version is a new feature introduced.
It is a string and decouples a resource from the gem5 Version.
Example of a version is "1.0.0".
It is an optional field that can be passed while
defining any Resource class and obtain_resource.
By default, it picks the latest version compatible
with the gem5 Version of the user.

A gem5 resource schema now has additional fields.
These are:

  • source_url: Stores URL of GitHub Source of the resource.
  • license: License information of the resource.
  • tags: Words to identify a resource better,
    like hello for hello-world.
  • example_usage: How to use the resource in a simulation.
  • gem5_versions: List of gem5 versions that resource is
    compatible with.
  • resource_version: The version of the resource itself.
  • size: The load size of the resource, if it exists.
  • code_examples: List of objects.
    These objects contain the path to where a resource is
    used in gem5 example config scripts,
    and if the resource itself is used in tests or not.

Some fields have been renamed:

  • "name" is changed to "id"
  • "documentation" is changed to "description"

Besides these, the schema also supports
resource specialization.

It adds fields revant to a specific resource as specified in
src/python/gem5/resources/resource.py

These changes have been made to better present information
on the new gem5 Resources website.

But, they do not affect the way resources are used in gem5.

Also, refs in the tests have been changed to match this new schema.
Tests have been changed to work with the two clients.

Change-Id: I19d4fecd5bb68eb6ac851ea9584276ee328e8bd8
Co-authored-by: Parth Shah helloparthshah@gmail.com
Co-authored-by: Harshil Patel harshilp2107@gmail.com
Co-authored-by: aarsli arsli@ucdavis.edu

1 file changed, 3 insertions(+), 0 deletions(-)

--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/70859?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I19d4fecd5bb68eb6ac851ea9584276ee328e8bd8
Gerrit-Change-Number: 70859
Gerrit-PatchSet: 1
Gerrit-Owner: Kunal Pai kunpai@ucdavis.edu

Kunal Pai has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/70859?usp=email ) Change subject: resources, tests, configs: Introduce gem5 Vision to resources ...................................................................... resources, tests, configs: Introduce gem5 Vision to resources This patch makes changes to resources based on the gem5 Vision project. Firstly, a MongoDB database is supported. A JSON database's support is continued. The data for these databases is stored in src/python under "gem5-config.json". An AbstractClient is an abstract class that implements searching and sorting relevant to the databases. Databases is an optional list that can be passed while defining any Resource class and obtain_resource. These databases can be defined in the config JSON. Resource version is a new feature introduced. It is a string and decouples a resource from the gem5 Version. Example of a version is "1.0.0". It is an optional field that can be passed while defining any Resource class and obtain_resource. By default, it picks the latest version compatible with the gem5 Version of the user. A gem5 resource schema now has additional fields. These are: - source_url: Stores URL of GitHub Source of the resource. - license: License information of the resource. - tags: Words to identify a resource better, like hello for hello-world. - example_usage: How to use the resource in a simulation. - gem5_versions: List of gem5 versions that resource is compatible with. - resource_version: The version of the resource itself. - size: The load size of the resource, if it exists. - code_examples: List of objects. These objects contain the path to where a resource is used in gem5 example config scripts, and if the resource itself is used in tests or not. Some fields have been renamed: - "name" is changed to "id" - "documentation" is changed to "description" Besides these, the schema also supports resource specialization. It adds fields revant to a specific resource as specified in src/python/gem5/resources/resource.py These changes have been made to better present information on the new gem5 Resources website. But, they do not affect the way resources are used in gem5. Also, refs in the tests have been changed to match this new schema. Tests have been changed to work with the two clients. Change-Id: I19d4fecd5bb68eb6ac851ea9584276ee328e8bd8 Co-authored-by: Parth Shah <helloparthshah@gmail.com> Co-authored-by: Harshil Patel <harshilp2107@gmail.com> Co-authored-by: aarsli <arsli@ucdavis.edu> --- 1 file changed, 3 insertions(+), 0 deletions(-) -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/70859?usp=email To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: public/gem5 Gerrit-Branch: develop Gerrit-Change-Id: I19d4fecd5bb68eb6ac851ea9584276ee328e8bd8 Gerrit-Change-Number: 70859 Gerrit-PatchSet: 1 Gerrit-Owner: Kunal Pai <kunpai@ucdavis.edu>