Skip to content

docs(evidence): add VR200/RKE2 training and inference-dynamo evidence - #2573

Open
yuanchen8911 wants to merge 2 commits into
NVIDIA:mainfrom
yuanchen8911:evidence/aks-h100-training-inference
Open

docs(evidence): add VR200/RKE2 training and inference-dynamo evidence#2573
yuanchen8911 wants to merge 2 commits into
NVIDIA:mainfrom
yuanchen8911:evidence/aks-h100-training-inference

Conversation

@yuanchen8911

Copy link
Copy Markdown
Contributor

Summary

Adds signed recipe-evidence pointers for two VR200/RKE2 leaves, both validated end to end on real VR200 NVL72 hardware.

Recipe Deployment Conformance Performance
vr200-rke2-ubuntu-training 4/4 8/8 1/1 — NCCL NVLS all-reduce 744.63 GB/s vs a >= 600 GB/s floor
vr200-rke2-ubuntu-inference-dynamo 4/4 10/10 n/a — the recipe defers inference-perf

Two files, both machine-generated pointers under the existing allowlisted community source 5bf9e82f0e90a11528ac85f4bcb866c8.

Motivation / Context

The VR200/RKE2 leaves had no evidence covering the compiled NVLS performance path. This records a hardware run of it.

The NCCL result is the notable part: with nccl-benchmark-runtime-ref dropped, customRuntime is empty and the validator provisions the ComputeDomain into the per-run namespace itself. That is the mechanism that makes the benchmark work after #2443 moved each run into aicr-nccl-perf-<variant>-<runID>, and this run exercises it on hardware.

Related: #2520 (adds the VR200/RKE2 recipes and the rke2/vr200 NVLS promotion), #2569 (the runtime-ref namespace defect).

Type of Change

  • Documentation update

Component(s) Affected

  • Docs/examples (docs/, examples/)

Implementation Notes

Environment: vr200-aicr-cluster-2, 2 GPU workers x 4 GPUs (8 total), RKE2 v1.35.6+rke2r1, Ubuntu 26.04, BOS 64k-page kernel, GPU operator v26.7.0.

Generated with the standard fork flow: aicr validate --emit-attestation, then aicr evidence publish --push ghcr.io/yuanchen8911/aicr-evidence --no-sign, then the fork's Recipe Evidence: Sign workflow signed each pointer with ambient GitHub Actions OIDC and relocated it from its flat path to recipes/evidence/<recipe>/<source>/<digest>.yaml.

Signing is CI-ambient rather than local keyless, so the signer identity is the workflow — no personal identity is written to the public Rekor log. The source slug is the already-allowlisted 5bf9e82f..., so allowlist.yaml needs no change.

Evidence pointer YAMLs are machine-generated and carry no license header, consistent with every previously merged pointer.

Testing

Doc/data-only change — two generated pointer files, no Go, YAML config, or CI logic touched — so scoped checks rather than a full make qualify:

  • aicr evidence verify on both pointers: exit 0 on each, which predicts the "Enforce per-source pointer contract" gate passing.
  • The evidence itself is the test: deployment, conformance, and performance phases all passed on hardware, with the results in the table above.
  • Three independent NCCL runs measured 744.15, 744.44, and 744.63 GB/s, all well above the 600 GB/s floor.

One transient failure is worth recording for reviewers: an earlier run had dra-support fail with a dial timeout to the kube API service IP during DRA API discovery. It passed on retry, and DRA was demonstrably healthy throughout (the following performance phase provisioned ComputeDomains and completed NCCL). That run's bundle was discarded rather than submitted; the evidence here comes only from clean all-pass runs.

Risk Assessment

  • Low — Isolated change, well-tested, easy to revert

Rollout notes: Additive data only. No code paths change. On merge, Evidence: Ingest publishes to GCS and the dashboard refreshes.

yuanchen8911 and others added 2 commits September 3, 2026 18:45
Hardware-validated on a VR200 NVL72 RKE2 cluster (2 GPU workers, 4 GPUs each):

  vr200-rke2-ubuntu-training         deployment 4/4, conformance 8/8,
                                     performance 1/1 (NCCL NVLS all-reduce
                                     744.63 GB/s against a >= 600 GB/s floor)
  vr200-rke2-ubuntu-inference-dynamo deployment 4/4, conformance 10/10

Pointers are committed unsigned and flat; the fork signing workflow signs them
with ambient OIDC and relocates each to its per-source path.

Signed-off-by: Yuan Chen <yuanchen97@gmail.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@yuanchen8911 yuanchen8911 added the theme/supply-chain SLSA, SBOM, Sigstore, and provenance verification label Sep 4, 2026
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Recipe evidence check

Orphan evidence pointers

Added or modified, but with no matching leaf overlay (recipes/overlays/<slug>.yaml).
This gate keys evidence to a recipe by its directory slug, so an orphan pointer is never
verified — usually a typo'd slug or evidence left behind for a retired recipe. Move it under
the directory of an existing recipe, or remove it.

Recipe slug Issue
recipes/evidence/vr200-rke2-ubuntu-inference-dynamo/ ⚠️ no recipes/overlays/vr200-rke2-ubuntu-inference-dynamo.yaml
recipes/evidence/vr200-rke2-ubuntu-training/ ⚠️ no recipes/overlays/vr200-rke2-ubuntu-training.yaml

How to refresh evidence

Run on a cluster matching the recipe's criteria:

aicr snapshot -o snapshot.yaml
# Profiled families (AKS/GKE gpuStack): hydrate the recipe with the
# pointer's recorded 'profile:' selection first — validating the raw
# overlay resolves only the declaration default, and 'aicr validate'
# has no --profile flag. AKS additionally needs the pool projection
# (GKE uses the plain snapshot above):
#   az aks nodepool list -g <rg> --cluster-name <cluster> -o json > pools.json
#   aicr snapshot --aks-gpu-pools pools.json -o snapshot.yaml
#   aicr recipe -s snapshot.yaml --intent <intent> [--platform <platform>] \
#     --profile <name>=<value> -o recipe.yaml
# State the target leaf's intent/platform explicitly (the snapshot
# fingerprint supplies service/accelerator/OS but intent and platform
# default to 'any') and pass -r recipe.yaml below instead of the raw
# overlay.
aicr validate \
  -r recipes/overlays/<slug>.yaml \
  -s snapshot.yaml \
  --emit-attestation ./out \
  --push ghcr.io/<your-fork>/aicr-evidence
# Copy to the per-source path printed in the emit 'copyTo' hint:
#   recipes/evidence/<slug>/<source>/<bundle-digest>.yaml

This gate is warning-only and never blocks merge. See ADR-007 for the trust model.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 73c43e84-6a40-4b9b-a0b3-52cb3c8501a3

📥 Commits

Reviewing files that changed from the base of the PR and between 5cda08f and 21a431b.

📒 Files selected for processing (2)
  • recipes/evidence/vr200-rke2-ubuntu-inference-dynamo/5bf9e82f0e90a11528ac85f4bcb866c8/sha256-84bbc65b3e8c7944078298a2969fbe33775e02d2f9fed3d33021dae85cd32a0c.yaml
  • recipes/evidence/vr200-rke2-ubuntu-training/5bf9e82f0e90a11528ac85f4bcb866c8/sha256-2790d0d0be9e622a96422bf93db10ef0841dd9d6b5f79f9dde226686d9133bf6.yaml

Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review.


📝 Walkthrough

Walkthrough

Added attestation metadata for the vr200-rke2-ubuntu-inference-dynamo and vr200-rke2-ubuntu-training recipe evidence bundles. The records include bundle digests, OCI references, predicate types, signer identities, issuers, timestamps, Rekor log indexes, recipe names, and schema versions.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 21a43

This change publishes signed evidence pointers for the VR200 training and inference recipes without altering runtime code, configuration, or CI behavior. No current merge-blocking risk remains.

Suggested reviewers: arangogutierrez

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the documentation change and names both VR200/RKE2 evidence targets: training and inference-dynamo.
Description check ✅ Passed The description directly explains the two signed evidence pointers, hardware validation results, generated files, testing, and rollout impact.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@yuanchen8911
yuanchen8911 marked this pull request as ready for review September 4, 2026 02:28
@yuanchen8911
yuanchen8911 requested a review from a team as a code owner September 4, 2026 02:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/recipes size/S theme/supply-chain SLSA, SBOM, Sigstore, and provenance verification

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant