Files
gem5/tests/pyunit/stdlib/resources/refs/resource-specialization.json
Bobby R. Bruce aff1e7b64c stdlib: Refactor gem5 Vision/gem5-resources code
This patch includes several changes to the gem5 tools interface to the
gem5-resources infrastructure. These are:

* The old download and JSON query functions have been removed from the
  downloader module. These functions were used for directly downloading
  and inspecting the resource JSON file, hosted at
  https://resources.gem5.org/resources. This information is now obtained
  via `gem5.client`. If a resources JSON file is specified as a client,
  it should conform to the new schema:
  https//resources.gem5.org/gem5-resources-schema.json. The old schema
  (pre-v23.0) is no longer valid. Tests have been updated to reflect
  this change. Those which tested these old functions have been removed.
* Unused imports have been removed.
* For the resource query functions, and those tasked with obtaining the
  resources, the parameter `gem5_version` has been added. In all cases
  it does the same thing:
    * It will filter results based on compatibility to the
      `gem5_version` specified. If no resources are compatible the
      latest version of that resource is chosen (though a warning is
      thrown).
    * By default it is set to the current gem5 version.
    * It is optional. If `None`, this filtering functionality is not
      carried out.
    * Tests have been updated to fix the version to “develop” so the
      they do not break between versions.
* The `gem5_version` parameters will filter using a logic which will
  base compatibility on the specificity of the gem5-version specified in
  a resource’s data. If a resource has a compatible gem5-version of
  “v18.4” it will be compatible with any minor/hotfix version within the
  v18.4 release (this can be seen as matching on “v18.4.*.*”.) Likewise,
  if a resource has a compatible gem5-version of “v18.4.1” then it’s
  only compatible with the v18.4.1 release but any of it’s hot fix
  releases (“v18.4.1.*”).
* The ‘list_resources’ function has been updated to use the
  “gem5.client” APIs to get resource information from the clients
  (MongoDB or a JSON file). This has been designed to remain backwards
  compatible to as much as is possible, though, due to schema changes,
  the function does search across all versions of gem5.
* `get_resources` function was added to the `AbstractClient`. This is a
   more general function than `get_resource_by_id`. It was
  primarily created to handle the `list_resources` update but is a
  useful update to the API. The `get_resource_by_id` function has been
  altered to function as a wrapped to the `get_resources` function.
* Removed “GEM5_RESOURCE_JSON” code has been removed. This is no longer
  used.
* Tests have been cleaned up a little bit to be easier to read.
* Some docstrings have been updated.

Things that are left TODO with this code:

* The client_wrapper/client/abstract_client abstractions are rather
  pointless. In particular the client_wrapper and client classes could
  be merged.
* The downloader module no longer does much and should have its
  functions merged into other modules.
* With the addition of the `get_resources` function, much of the code in
  the `AbstractClient` could be simplified.

Change-Id: I0ce48e88b93a2b9db53d4749861fa0b5f9472053
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/71506
Reviewed-by: Kunal Pai <kunpai@ucdavis.edu>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
(cherry picked from commit 82587ce71b)
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/71739
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
2023-06-16 16:43:58 +00:00

194 lines
5.9 KiB
JSON

[
{
"category": "kernel",
"id": "kernel-example",
"description": "kernel-example documentation.",
"architecture": "RISCV",
"is_zipped": false,
"md5sum": "60a53c7d47d7057436bf4b9df707a841",
"url": "http://dist.gem5.org/dist/develop/kernels/x86/static/vmlinux-5.4.49",
"source": "src/linux-kernel",
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "disk-image",
"id": "disk-image-example",
"description": "disk-image documentation.",
"architecture": "X86",
"is_zipped": true,
"md5sum": "90e363abf0ddf22eefa2c7c5c9391c49",
"url": "http://dist.gem5.org/dist/develop/images/x86/ubuntu-18-04/x86-ubuntu.img.gz",
"source": "src/x86-ubuntu",
"root_partition": "1",
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "binary",
"id": "binary-example",
"description": "binary-example documentation.",
"architecture": "ARM",
"is_zipped": false,
"md5sum": "71b2cb004fe2cda4556f0b1a38638af6",
"url": "http://dist.gem5.org/dist/develop/test-progs/hello/bin/arm/linux/hello64-static",
"source": "src/simple",
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "bootloader",
"id": "bootloader-example",
"description": "bootloader documentation.",
"is_zipped": false,
"md5sum": "71b2cb004fe2cda4556f0b1a38638af6",
"url": "http://dist.gem5.org/dist/develop/test-progs/hello/bin/arm/linux/hello64-static",
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "checkpoint",
"id": "checkpoint-example",
"description": "checkpoint-example documentation.",
"architecture": "RISCV",
"is_zipped": false,
"md5sum": "3a57c1bb1077176c4587b8a3bf4f8ace",
"source": null,
"is_tar_archive": true,
"url": "http://dist.gem5.org/dist/develop/checkpoints/riscv-hello-example-checkpoint.tar",
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "git",
"id": "git-example",
"description": null,
"is_zipped": false,
"is_tar_archive": true,
"md5sum": "3a57c1bb1077176c4587b8a3bf4f8ace",
"url": "http://dist.gem5.org/dist/develop/checkpoints/riscv-hello-example-checkpoint.tar",
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "file",
"id": "file-example",
"description": null,
"is_zipped": false,
"md5sum": "2efd144c11829ab18d54eae6371e120a",
"url": "http://dist.gem5.org/dist/develop/checkpoints/riscv-hello-example-checkpoint.tar",
"source": null,
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "directory",
"id": "directory-example",
"description": "directory-example documentation.",
"is_zipped": false,
"md5sum": "3a57c1bb1077176c4587b8a3bf4f8ace",
"source": null,
"is_tar_archive": true,
"url": "http://dist.gem5.org/dist/develop/checkpoints/riscv-hello-example-checkpoint.tar",
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "simpoint-directory",
"id": "simpoint-directory-example",
"description": "simpoint directory documentation.",
"is_zipped": false,
"md5sum": "3fcffe3956c8a95e3fb82e232e2b41fb",
"source": null,
"is_tar_archive": true,
"url": "http://dist.gem5.org/dist/develop/simpoints/x86-print-this-15000-simpoints-20221013.tar",
"simpoint_interval": 1000000,
"warmup_interval": 1000000,
"simpoint_file": "simpoint.simpt",
"weight_file": "simpoint.weight",
"workload_name": "Example Workload",
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "simpoint",
"id": "simpoint-example",
"description": "simpoint documentation.",
"simpoint_interval": 1000000,
"warmup_interval": 23445,
"simpoint_list": [
2,
3,
4,
15
],
"weight_list": [
0.1,
0.2,
0.4,
0.3
],
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "looppoint-pinpoint-csv",
"id": "looppoint-pinpoint-csv-resource",
"description": "A looppoint pinpoints csv file.",
"is_zipped": false,
"md5sum": "199ab22dd463dc70ee2d034bfe045082",
"url": "http://dist.gem5.org/dist/develop/pinpoints/x86-matrix-multiply-omp-100-8-global-pinpoints-20230127",
"source": null,
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
},
{
"category": "looppoint-json",
"id": "looppoint-json-restore-resource-region-1",
"description": "A looppoint json file resource.",
"is_zipped": false,
"region_id": "1",
"md5sum": "efb85ebdf90c5cee655bf2e05ae7692a",
"url": "http://dist.gem5.org/dist/develop/looppoints/x86-matrix-multiply-omp-100-8-looppoint-json-20230128",
"source": null,
"resource_version": "1.0.0",
"gem5_versions": [
"develop",
"23.0"
]
}
]