diff --git a/README.md b/README.md index fc86df0..e8fe87a 100644 --- a/README.md +++ b/README.md @@ -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: @@ -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. diff --git a/hardware/compspec.json b/hardware/compspec.json new file mode 100644 index 0000000..543790c --- /dev/null +++ b/hardware/compspec.json @@ -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" + } + } +} diff --git a/mpi/compspec.json b/mpi/compspec.json new file mode 100644 index 0000000..254de21 --- /dev/null +++ b/mpi/compspec.json @@ -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" + } + } +} diff --git a/network/compspec.json b/network/compspec.json new file mode 100644 index 0000000..f722ade --- /dev/null +++ b/network/compspec.json @@ -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" + } + } +} diff --git a/os/compspec.json b/os/compspec.json new file mode 100644 index 0000000..6b43d00 --- /dev/null +++ b/os/compspec.json @@ -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" + } + } +} diff --git a/supercontainers/compspec.json b/supercontainers/compspec.json deleted file mode 100644 index 0474b6c..0000000 --- a/supercontainers/compspec.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "graph": { - "id": "org.supercontainers", - "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" - }, - "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" - }, - "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" - }, - "communication": { - "label": "communication" - }, - "communication.framework": { - "label": "communication framework" - } - }, - "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" - }, - { - "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" - }, - { - "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" - }, - { - "source": "communication", - "target": "communication.framework", - "relation": "contains" - } - ], - "metadata": { - "version": "0.0.0", - "source": "https://github.com/supercontainers/compspec" - } - } -}