Skip to content

docs(cuda-oxide): update remaining nightly references and doctor check for 1.99.1 - #1617

Merged
nihalpasham merged 4 commits into
NVIDIA:mainfrom
nihalpasham:docs/fix-remaining-nightly-references
Oct 23, 2026
Merged

nihalpasham merged 4 commits into
NVIDIA:mainfrom
nihalpasham:docs/fix-remaining-nightly-references

Conversation

@nihalpasham

@nihalpasham nihalpasham commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Update remaining references to a pinned nightly toolchain across the root README.md, umbrella docs/index.md, cuda-oxide-book, crate READMEs, and comments, and fix cargo oxide doctor step 1 so it does not reject stable rustc 1.99.1:

Before: README.md / docs/index.md / crate READMEs say "Pinned nightly";
        `cargo oxide doctor` fails step 1 with "expected nightly, got: rustc 1.99.1"
After:  Docs and comments reflect the pinned stable Rust toolchain (`1.99.1`);
        `cargo oxide doctor` passes step 1 and verifies the pin in step 2

Changes

  • Root & umbrella documentation (README.md, docs/index.md, Cargo.toml, rust-toolchain.toml):
    • Update the "Picking a model" table, SIMT overview, and Contributing section from Pinned nightly to Pinned stable Rust (1.99.1), managed by cargo oxide.
  • cuda-oxide book & crate READMEs:
    • Update appendix/building-from-source.md, gpu-programming/error-handling-and-debugging.md, crates/cargo-oxide/README.md, crates/cuda-oxide-codegen/README.md, and cute-rs-preview/{cute-rs,ctm-rs,cute-layout}/README.md.
  • cargo oxide doctor (crates/cargo-oxide/src/commands/doctor.rs, src/backend.rs):
    • Drop the version.contains("nightly") gate in doctor step 1 (step 2's doctor_report_toolchain_pin already checks that the active toolchain matches rust-toolchain.toml and has all required components), and update the mismatch string in backend.rs.
  • Comments (cuda-oxide/Cargo.toml, rustc-codegen-cuda/Cargo.toml, cuda-host/src/lib.rs, cuda-oxide-codegen/src/lib.rs, CI workflows, and scripts):
    • Replace leftover "pinned nightly" comments with "pinned toolchain".

Validation

  • cargo run -p cargo-oxide -- doctor
  • cargo test -p cargo-oxide
  • just fmt-check
  • just check-guards
  • just book

Checklist

  • All commits signed off (git commit -s)

Python reference environment (cute-rs examples and models)

One setup for every CuTeDSL comparison, the same three lines in each README:

cargo oxide toolchain install cutlass
python3 -m venv cute-rs-preview/.venv
cute-rs-preview/.venv/bin/pip install -r cute-rs-preview/requirements.txt
  • cute-rs-preview/requirements.txt: shared pins for the DSL 4.7.0 family; the per-example requirements.txt files include it. The blockscale references keep their own DSL pins.
  • Runners: one lookup order everywhere: --python where it exists, CUDA_OXIDE_CUTE_PYTHON, the example's .venv, the shared cute-rs-preview/.venv, then python3. The SM100 runners no longer look for the fp16_gemm venv; fp16_gemm's automatic setup now creates the shared environment.
  • Fail fast: each compare.py checks for numpy, torch, cutlass and cuda before any GPU work and prints the setup commands instead of a traceback after the Rust build.
  • READMEs: every example and model README names its setup inline; the Rust-only ones name cargo oxide toolchain install cutlass. The devcontainer installs python3-venv.

Validation: cargo fmt --check, cargo clippy --all-targets -- -D warnings and cargo test for the three edited example crates; python3 -m unittest public_reference.test_setup; the status-guard scripts.

…k for 1.99.1

- Update the root `README.md`, umbrella `docs/index.md`, `building-from-source.md`,
  `error-handling-and-debugging.md`, crate READMEs (`cargo-oxide`,
  `cuda-oxide-codegen`, `cute-rs`, `ctm-rs`, `cute-layout`), workspace
  manifests, and CI/script comments to describe the pinned stable `1.99.1`
  toolchain rather than a nightly pin.
- Update `cargo oxide doctor` (`doctor.rs`) so step 1 checks `rustc --version`
  without requiring the string `"nightly"` (step 2 already verifies the active
  toolchain against `rust-toolchain.toml`).

Signed-off-by: nihalpasham <nihalp@nvidia.com>
@nihalpasham nihalpasham added the documentation Improvements or additions to documentation label Oct 23, 2026
@nihalpasham
nihalpasham requested a review from cryos as a code owner October 23, 2026 07:40
@nihalpasham nihalpasham added cargo-oxide The `cargo oxide` subcommand and build automation cuda-oxide SIMT programming model: rustc backend, cargo oxide, cuda-device, cuda-host, book labels Oct 23, 2026
@nihalpasham
nihalpasham requested a review from roivanov as a code owner October 23, 2026 07:40
@copy-pr-bot

copy-pr-bot Bot commented Oct 23, 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.

Every cute-rs README that runs a CuTeDSL comparison now gives the same
three-line setup: install the CUTLASS compiler, create cute-rs-preview/.venv,
and install cute-rs-preview/requirements.txt. The per-example requirements
files include the shared one, so the DSL 4.7.0 family (SM120a prefill and
decode, SM100 FMHA prefill, SM100 MLA decode, fp16_gemm) shares a single
environment. The blockscale references keep their own pins.

The runners agree on where to look: --python where it exists,
CUDA_OXIDE_CUTE_PYTHON, the example's .venv, the shared cute-rs-preview/.venv,
then python3. The SM100 runners no longer fall back to the fp16_gemm venv, and
fp16_gemm's automatic setup creates the shared environment instead of a local
one. Each comparison script checks for numpy, torch, cutlass and cuda before
any GPU work and prints the setup commands when they are missing, instead of a
traceback after the Rust build.

The Rust-only READMEs name the `cargo oxide toolchain install cutlass` step
inline, and the devcontainer installs python3-venv so the setup works there.

Signed-off-by: nihalpasham <nihalp@nvidia.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@nihalpasham
nihalpasham force-pushed the docs/fix-remaining-nightly-references branch from 54c775a to 4f41232 Compare October 23, 2026 08:50
nihalpasham and others added 2 commits October 23, 2026 08:54
2.14.1 is what a fresh install resolves today and runs the SM120a
comparisons. The recorded B200 results used 2.13.0+cu130; the SM100
reference notes keep that record.

Signed-off-by: nihalpasham <nihalp@nvidia.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ntu-26.04

GitHub Actions migrated `ubuntu-latest` to `ubuntu-26.04`, and NVIDIA's
`developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64` repository
only publishes CUDA 13.3 and 13.4 (`cuda-nvcc-13-3`, `cuda-nvcc-13-4`).
Requesting `cuda: "13.1.1"` caused `apt` to miss NVIDIA's CDN and fall back to
Ubuntu's regional `resolute/multiverse` mirror (`http://azure.archive.ubuntu.com`),
which times out in `westus3` and stalls toolkit installation for >70 minutes.

Bump `Jimver/cuda-toolkit` to `v0.2.36` (`0ca15bb027...`) and `cuda` to `13.3.1`
across `clippy.yml`, `docs.yml`, `examples-compile.yml`, and `unit-tests.yml` so
`apt` pulls CUDA packages directly from NVIDIA's global CDN on both `ubuntu-24.04`
and `ubuntu-26.04`.

Signed-off-by: nihalpasham <nihalp@nvidia.com>
@nihalpasham nihalpasham added the ci GitHub Actions workflows, runners, and CI configuration label Oct 23, 2026
@nihalpasham
nihalpasham merged commit ad0a42c into NVIDIA:main Oct 23, 2026
63 checks passed
@nihalpasham
nihalpasham deleted the docs/fix-remaining-nightly-references branch October 23, 2026 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cargo-oxide The `cargo oxide` subcommand and build automation ci GitHub Actions workflows, runners, and CI configuration cuda-oxide SIMT programming model: rustc backend, cargo oxide, cuda-device, cuda-host, book documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant