Skip to content

Releases: RWTH-HPC/USIS

USIS v0.1.0 (ProTools26 artifact)

Choose a tag to compare

@burakSemih burakSemih released this 23 Sep 21:18

First release of the Unified Semantic Interface Specification: one JSON schema describing the API surface of parallel programming models, and the documents generated with it.

This release is the artifact of the ProTools26 paper. The tag protools26 points at the same commit.

Downloads

One document per programming model, each validated against the schema of this release (schema_version: "v0.1.0"):

Model Families Entries Files
MPI 571 571 final-mpi-api.json, provenance-mpi.json
OpenSHMEM 295 1846 final-shmem-api.json, provenance-shmem.json
NCCL 63 63 final-nccl-api.json, provenance-nccl.json
NVSHMEM 93 979 final-nvshmem-api.json, provenance-nvshmem.json
OpenMP (experimental) 122 122 final-openmp-api.json, provenance-openmp.json
CUDA runtime (experimental) 331 331 final-cuda-api.json, provenance-cuda.json

A family is one authored description; type-generic families (e.g. shmem_{T}_put) expand to one entry per type.

  • final-<ppm>-api.json: the entries, keyed model:function_key.
  • provenance-<ppm>.json: for every value, how it was obtained (read from a declaration, taken from a standard's text, or model-assisted) and whether it has been approved.
  • provenance-report.json, validate-report.json: the same reports over all six models. All 3912 entries validate against the strict schema, with no consistency findings.

Schema

curated/schemas/api-schema.json, $id https://raw.githubusercontent.com/RWTH-HPC/USIS/v0.1.0/curated/schemas/api-schema.json. For a browsable view, open docs/viz/spec_explorer.html from the source archive. The schema is pre-1.0: the vocabulary will still grow, and each change bumps the minor version (see docs/schema/schema-versioning.md).

Known limitations

  • None of the 2,528 model-assisted values has been reviewed yet; the review records in curated/review/ show their state.
  • Fields that no source states in machine-readable form (e.g. semantics.memory) are filled only for the families the curated supplement covers, and are an explicit null elsewhere.
  • OpenMP and CUDA are covered in runtime-API scope and are experimental.

Rebuilding

The documents are generated deterministically from this tag: python3 workflow/fetch/fetch.py once for the NVIDIA inputs that are not redistributed, then python3 workflow/build.py. See README.md and workflow/README.md.