docs(skills): add GPU vendor toolkit interface spec - #971
docs(skills): add GPU vendor toolkit interface spec#971kubestellar-hive[bot] wants to merge 2 commits into
Conversation
castrojo
left a comment
There was a problem hiding this comment.
Thanks — the six-capability interface and the AMD PR gate checklist directly implement the recommendation in #963, and the concept is right. Two blocking issues:
1. CI is red (pre-commit). validate / Run pre-commit fails: docs/skills/gpu-toolkit-interface.md description is 278 chars (max 256). Shorten the front-matter description: to ≤256 chars.
2. The "NVIDIA reference implementation" claims don't match this repo. The doc gates future AMD PRs against the NVIDIA layout, so it must be accurate:
kargs.d/00-nvidia.toml— does not exist anywhere in the projectbluefin org under that name.nvidia-cdi-refresh.{service,path}and80-nvidia-container-toolkit.preset— not insystem_files/nvidia/here.system_files/nvidia/in common ships onlyublue-nvidia-flatpak-runtime-syncand its.service(nosystem-preset/dir at all). The cdi-refresh units and preset live inbluefin-lts(system_files_overrides/nvidia/usr/lib/systemd/system-preset/80-nvidia-container-toolkit.preset) and dakota (elements/bluefin-nvidia/nvidia-container-toolkit-preset.bst).- The directory-layout diagram showing "CDI refresh service + path" under
system_files/nvidia/usr/lib/systemd/system/is therefore wrong for common. - Link
docs/skills/oem-hardware-hooks.mdis a 404 — actual path isdocs/skills/oem-hardware-hooks/SKILL.md.
Note docs/skills/nvidia/references/architecture.md makes some of the same claims, so this may have been inherited — but the new spec should describe where the reference implementation actually lives per repo (common vs bluefin build scripts vs bluefin-lts overrides vs dakota .bst elements), not assert files that aren't in the tree.
Defines the six-capability interface that any GPU vendor integration must satisfy before merging into common. NVIDIA currently implements the reference; AMD (common#277) must satisfy this interface first. ## The six capabilities 1. Kernel argument management (kargs.d/ declarative, no runtime mutation) 2. CDI spec generation (service + path unit + 80-series preset) 3. Container runtime toolkit (base package only, rootless config) 4. Flatpak GPU extension management (driver-version-matched, idempotent) 5. First-boot hook pair (check + sync, idempotent) 6. SELinux policy (tracked but non-blocking for initial merge) ## Why this matters Without an interface definition, AMD support will duplicate the NVIDIA path ad-hoc, creating two independently maintained parallel paths for kargs, CDI, runtime hooks, and Flatpak GL. Every future GPU vendor adds a third path. With this interface, vendor layers are specializations of a shared contract — review, testing, and onboarding scale linearly. ## Gating A PR checklist is included. AMD PR reviewers check six items; if any are missing, the AMD PR is not ready. The directory layout convention (system_files/amd/) is specified. Addresses common#963 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Trim gpu-toolkit-interface front-matter description to <=256 chars (CI validate limit) - Correct NVIDIA reference implementation pointers: kargs.d/00-nvidia.toml, nvidia-cdi-refresh units, and 80-nvidia-container-toolkit.preset live in the downstream NVIDIA layers of bluefin-lts and dakota, not in common. Common's system_files/nvidia/ carries only the Flatpak runtime sync. - Use allowed front-matter category 'meta' (schema: ci-ops|test-authoring|meta) - Add skill link to docs/SKILL.md and regenerate index.json/index.md Assisted-by: Kimi K3 via GitHub Copilot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
6e22a4a to
0f84e7b
Compare
|
Review findings addressed in 0f84e7b (rebased onto latest main, conflict in docs/SKILL.md resolved):
Also fixed during rebase: category changed to |
Architecture artifact
Defines the vendor-agnostic GPU toolkit interface that any GPU vendor integration must satisfy before merging into
common. This directly addresses the fragmentation risk identified in #963.Context
A feature request (common#277) asks for AMD Container Toolkit support. If AMD is added by copying the NVIDIA pattern ad-hoc, the result is two independent paths for kargs, CDI, runtime hooks, and Flatpak GL — one per vendor. Each future GPU vendor adds a third path.
What this adds
docs/skills/gpu-toolkit-interface.md— the vendor-agnostic interface that NVIDIA currently implements and AMD must implement before merging:kargs.d/00-nvidia.tomlnvidia-cdi-refresh.{service,path}amd-cdi-refresh.*needednvidia-container-toolkit-baseamdgpu-ctkbaseublue-nvidia-flatpak-runtime-syncA PR checklist is included so AMD PR reviewers have a clear gate.
The document also specifies the directory layout convention (
system_files/amd/) and the pattern for adding a third vendor (Intel Arc, etc.).Addresses #963
Filed by architect agent (ACMM L5)
— hive: agent=architect backend=copilot model=claude-opus-5 copilot=1.0.59