Skip to content

Commit

Permalink
Merge pull request #9 from compspec/separate-supercontainers
Browse files Browse the repository at this point in the history
refactor: separating supercontainers into resource types
  • Loading branch information
vsoch authored Mar 15, 2024
2 parents 204a4b9 + 6d98cb3 commit 70b23a1
Show file tree
Hide file tree
Showing 6 changed files with 223 additions and 170 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Compspec
# Compspec Schemas

This is a prototype repository for compatibility specifications that are being worked on by the [OCI compatibility working group](https://github.com/opencontainers/wg-image-compatibility). While that work is underway (and the structure and format of these metadata to be determined. For the time being we have defined two things:

Expand All @@ -14,7 +14,7 @@ Both of the above are based on proposals [C](https://github.com/opencontainers/w

## Organization

The different subdirectories of compatibility families (sets of metadata owned by different groups).
The different subdirectories of compatibility families (sets of metadata owned by different groups). We originally had a nested group under supercontainers, and these have been separated out to distinguish a family of attributes like MPI from another like gpu. The supercontainers is also removed for the time being to brand it as a generic kind of subsystem.

Likely these metadata can be moved to be owned properly by the group. They are all kept here for the time being for ease of access. Also for the time being, we have represented the entire set of labels (and smaller namespaces) for one compatibiilty family (e.g., supercontainers) in one JSON file, and of course this is subject to change.

Expand Down
79 changes: 79 additions & 0 deletions hardware/compspec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{
"graph": {
"id": "hardware",
"type": "compspec",
"label": "compatibilities",
"nodes": {
"hardware": {
"label": "hardware"
},
"hardware.gpu": {
"label": "gpu hardware"
},
"hardware.gpu.enabled": {
"label": "true if gpu is enabled"
},
"hardware.gpu.driver": {
"label": "gpu driver"
},
"hardware.gpu.architecture": {
"label": "gpu architecture"
},
"hardware.gpu.driver.version": {
"label": "gpu driver version"
},
"hardware.gpu.cuda": {
"label": "gpu cuda"
},
"hardware.gpu.cuda.version": {
"label": "cuda version"
}
},
"edges": [
{
"source": "hardware",
"target": "hardware.gpu",
"relation": "contains"
},
{
"source": "hardware.gpu",
"target": "hardware.gpu.enabled",
"relation": "contains"
},
{
"source": "hardware.gpu",
"target": "hardware.gpu.driver",
"relation": "contains"
},
{
"source": "hardware.gpu.driver",
"target": "hardware.gpu.driver.version",
"relation": "contains"
},
{
"source": "hardware.gpu",
"target": "hardware.gpu.architecture",
"relation": "contains"
},
{
"source": "hardware.gpu",
"target": "hardware.gpu.version",
"relation": "contains"
},
{
"source": "hardware.gpu",
"target": "hardware.gpu.cuda",
"relation": "contains"
},
{
"source": "hardware.gpu.cuda",
"target": "hardware.gpu.cuda.version",
"relation": "contains"
}
],
"metadata": {
"version": "0.0.0",
"source": "https://github.com/compspec/schemas"
}
}
}
58 changes: 58 additions & 0 deletions mpi/compspec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
"graph": {
"id": "mpi",
"type": "compspec",
"label": "compatibilities",
"nodes": {
"mpi": {
"label": "message passing interface (mpi)"
},
"mpi.implementation": {
"label": "mpi implementation"
},
"mpi.version": {
"label": "mpi version"
},
"mpi.portability": {
"label": "mpi portability attributes"
},
"mpi.portability.optimization": {
"label": "mpi portability optimization"
},
"mpi.portability.mode": {
"label": "mpi portability mode"
}
},
"edges": [
{
"source": "mpi",
"target": "mpi.version",
"relation": "contains"
},
{
"source": "mpi",
"target": "mpi.implementation",
"relation": "contains"
},
{
"source": "mpi",
"target": "mpi.portability",
"relation": "contains"
},
{
"source": "mpi.portability",
"target": "mpi.portability.optimization",
"relation": "contains"
},
{
"source": "mpi.portability",
"target": "mpi.portability.mode",
"relation": "contains"
}
],
"metadata": {
"version": "0.0.0",
"source": "https://github.com/compspec/schemas"
}
}
}
34 changes: 34 additions & 0 deletions network/compspec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"graph": {
"id": "network",
"type": "compspec",
"label": "compatibilities",
"nodes": {
"network": {
"label": "network"
},
"network.communication": {
"label": "communication"
},
"network.communication.framework": {
"label": "communication framework"
}
},
"edges": [
{
"source": "network",
"target": "network.communication",
"relation": "contains"
},
{
"source": "network.communication",
"target": "network.communication.framework",
"relation": "contains"
}
],
"metadata": {
"version": "0.0.0",
"source": "https://github.com/supercontainers/compspec"
}
}
}
50 changes: 50 additions & 0 deletions os/compspec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"graph": {
"id": "os",
"type": "compspec",
"label": "compatibilities",
"nodes": {
"os": {
"label": "operating system"
},
"os.name": {
"label": "operating system name"
},
"os.release": {
"label": "operating system release"
},
"os.vendor": {
"label": "operating system vendor"
},
"os.version": {
"label": "operating system version"
}
},
"edges": [
{
"source": "os",
"target": "os.name",
"relation": "contains"
},
{
"source": "os",
"target": "os.release",
"relation": "contains"
},
{
"source": "os",
"target": "os.vendor",
"relation": "contains"
},
{
"source": "os",
"target": "os.version",
"relation": "contains"
}
],
"metadata": {
"version": "0.0.0",
"source": "https://github.com/supercontainers/compspec"
}
}
}
Loading

0 comments on commit 70b23a1

Please sign in to comment.