Skip to content

doc: point shared host crates and cuda-oxide at the cuda-rust home; root CI badges - #1395

Merged
elibol merged 2 commits into
NVIDIA:mainfrom
elibol:doc/host-crates-home-links
Oct 8, 2026
Merged

elibol merged 2 commits into
NVIDIA:mainfrom
elibol:doc/host-crates-home-links

Conversation

@elibol

@elibol elibol commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

Companion to #1394: the references outside cutile-rs/ that still pointed at the old NVlabs/cutile-rs home.

  • repository field of cuda-bindings, cuda-core, cuda-core-derive, and cuda-async (crates.io and docs.rs read it).
  • cuda-oxide glossary, VMM page, cuda-host README, scaffold template, and doctor comments now say the shared host crates live at the repository root; the four rows in dependency-licenses.csv record them as 0.4.0 path dependencies instead of 0.3.1 from crates.io.
  • Root README gets CI badges, one per pipeline, plus a docs badge. A single combined badge is proposed separately in ci: one status workflow so the README can carry a single CI badge #1457.

The cuda-oxide book builds warning-free, and the source-reference, host-API-path, and pin-parity guards pass.

@elibol
elibol force-pushed the doc/host-crates-home-links branch 2 times, most recently from 8519c73 to 4a38f63 Compare October 7, 2026 19:40
elibol added a commit that referenced this pull request Oct 7, 2026
…#1394)

cuTile Rust lives under `cutile-rs/` in this repository now, and its
book is at https://nvidia.github.io/cuda-rust/cutile/. This updates
everything in the `cutile-rs/` tree that still pointed at the old
NVlabs/cutile-rs repository or the nvlabs.github.io site: the
workspace's `repository` field, the README, the book's GitHub links and
version-switcher default, the example and benchmark deep links, the
interoperability guide's description of cuda-oxide, the DGX Spark
tutorial, the defaults in `build_versioned_book.sh`, the CONTRIBUTING
issue link, and a changelog entry recording the move. Nothing outside
`cutile-rs/` is touched; the shared host crates, the cuda-oxide
references, and the root README badges are in #1395.

Two things worth knowing. The README is also the crates.io README for
`cutile`, and crates.io resolves relative links against the package
directory, so the logo and relative links were already broken there;
they are absolute now. The build and docs badges move to the root README
in #1395, and the crates.io badge stays here since it belongs to the
crate.

The DGX Spark tutorial now clones the `cutile-rs/v0.4.0` tag of this
repository and symlinks `cutile-rs` next to Grout, so Grout's pinned
`[patch.crates-io]` paths still resolve. At that tag the host crates are
still under `cutile-rs/`.

The Tile book builds with `-W --keep-going` on the pinned requirements,
`cargo check -p cutile` passes, and every new deep link, including the
two heading anchors, resolves on the deployed site.

Signed-off-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
Co-authored-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
elibol added 2 commits October 7, 2026 15:13
…badges

cuda-bindings, cuda-core, cuda-core-derive and cuda-async still named
NVlabs/cutile-rs as their repository, which crates.io and docs.rs display.
They are maintained here now.

The root README gets the CI badges: one for ci.yml, which covers cuda-oxide
and the shared crates, one for cutile-rs.yml, and one linking to the docs
site. The cutile-rs README drops its own copies separately.

Signed-off-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
…cutile-rs

The glossary, the VMM page, the cuda-host README, the cargo oxide scaffold
template and the doctor doc comments all said the shared host crates were
published from NVlabs/cutile-rs or linked their sources there. They live at
the root of this repository and are used by path, so say that and link here.

dependency-licenses.csv listed the four crates as 0.3.1 from crates.io. They
are 0.4.0 path dependencies now. The checker only compares names, so the
rows stay valid.

Signed-off-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
elibol added a commit that referenced this pull request Oct 8, 2026
…1458)

Puts the book badge back in `cutile-rs/README.md`, next to the crates.io
badge. #1394 moved both badges to the repository root, but the crates.io
page renders this README and a visitor there wants the book link more
than anything else on it. The build badge stays at the root with the
other CI badges (#1395), which matches how package READMEs in other
monorepos carry package-level badges while the root carries CI status.

Signed-off-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
Co-authored-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
@elibol
elibol merged commit 4e0918d into NVIDIA:main Oct 8, 2026
62 checks passed
elibol added a commit that referenced this pull request Oct 8, 2026
)

Stacked on #1395; only the last commit is new, and the diff shrinks to
it once #1395 merges.

Badges are per workflow file, and the SIMT and Tile pipelines have to
stay separate (the Tile lanes run on self-hosted runners and cannot
trigger on pull_request), so the root README ends up with two CI badges.
`ci-status.yml` runs whenever `CI` or `cutile-rs-pr` completes on
`main`, takes the newest completed push run of each pipeline that
actually executed jobs, and fails if either failed. The README then
carries one CI badge pointing at it.

Runs whose jobs were all skipped (the Tile `changes` gate on a non-Tile
push) and cancelled runs are skipped over, so a later no-op run cannot
turn the badge green while the last real run was red. The logic was
dry-run against this repo's run history. The badge reads "no status"
until the first run after merge.

The badge row is centered, matching the component READMEs.

---------

Signed-off-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
Co-authored-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
nihalpasham pushed a commit that referenced this pull request Oct 15, 2026
…NVIDIA/cuda-rust (#1490)

## What this adds

The SIMT tree still named the pre-rename repository in its Cargo
metadata, its license inventory and the device-codegen ICE message,
while the four host crates already pointed at `NVIDIA/cuda-rust`
(#1395). This change moves the SIMT tree to the same home: one inherited
`[workspace.package] repository` line for the 26 workspace members,
explicit fields on the two first-party crates outside that workspace, 29
inventory rows and the ICE text. The only compiled change is the string
in that diagnostic.

```text
cargo metadata `repository`, 28 SIMT crates   before: https://github.com/NVlabs/cuda-oxide.git   after: https://github.com/NVIDIA/cuda-rust (one value)
first-party inventory rows at the old URL      before: 29 of 33                                   after: 0 of 33
ICE text                                       before: ...Please file at https://github.com/NVlabs/cuda-oxide/issues
                                               after:  ...Please file at https://github.com/NVIDIA/cuda-rust/issues
```

```rust
// The only compiled change: the diagnostic printed when device codegen panics.
tcx.dcx().fatal(format!(
    "[rustc_codegen_cuda] Internal compiler error in device codegen: {msg}. \
     This is a bug in cuda-oxide. Please file at https://github.com/NVIDIA/cuda-rust/issues"
));
```

## What we fixed

- `cuda-oxide/Cargo.toml` `[workspace.package] repository`, inherited by
every `repository.workspace = true` member (26 crates).
- `rustc-codegen-cuda/Cargo.toml` and
`examples/mathdx_ffi_test/libmathdx-sys/Cargo.toml`, the two first-party
manifests that cannot inherit the workspace field.
- 29 of the 33 first-party rows of `cuda-oxide/dependency-licenses.csv`;
the four git-root host rows already carried the new URL.
- The fatal internal-compiler-error message in `rustc_codegen_cuda` now
names `https://github.com/NVIDIA/cuda-rust/issues`.

<details><summary>Implementation</summary>

- The URL form matches the host crates
(`https://github.com/NVIDIA/cuda-rust`, no `.git` suffix).
- `repository` is not part of `Cargo.lock` and nothing in the tree reads
it, so no lockfile, symbol or PTX changes.
- The inventory guard compares crate names only; the rows are
hand-maintained, so the URL column was edited directly.
- The remaining old-URL sites under `cuda-oxide/` are the cargo-oxide
clone and scaffold constants (#1489), the book and crate README links
(#1491), and issue and pull permalinks that keep their historical form.

</details>

## Verification

Checked at `dad294fd` (merged with `main` at `bc46b1ff`):

- ✅ `git grep NVlabs/cuda-oxide` over the three manifests, the inventory
and `lib.rs`: 1, 1, 1, 1, 29 hits on `main`, 0 after the change.
- ✅ `cargo metadata --locked --offline --no-deps` in the SIMT workspace
(26 members), the backend crate workspace and the `mathdx_ffi_test`
workspace: one `repository` value,
`https://github.com/NVIDIA/cuda-rust`; `git status` clean afterwards.
- ✅ `strings` on the rebuilt `librustc_codegen_cuda.so`: `Please file at
https://github.com/NVIDIA/cuda-rust/issues` once, the old URL zero
times; `main`'s backend still shows the old URL.
- ✅ `cargo oxide run vecadd` and `cargo oxide run mathdx_ffi_test
--emit-nvvm-ir --arch=sm_120` on an RTX 5090 through the rebuilt
backend: `SUCCESS` and `Passed: 9 / Failed: 0`; compute-sanitizer
memcheck 0 errors on both; `vecadd` PTX identical to `main` modulo
symbol hashes.
- ✅ All 18 `scripts/check-*.sh` guards, `sync-example-locks.sh --check`,
`cargo deny check` for cargo-oxide, rustc-codegen-cuda, the device-only
fixture and the root workspace, `cargo oxide fmt --check`, clippy with
`-D warnings`, and the unit, doc and rustdoc suites (5479 tests passed,
0 failed).
- ✅ No file in this PR appears in #1489 or #1491.

## Caveats

- The `oxide-artifacts` inventory row now names the current home; the
published 0.2.1 crate still declares the old URL until the next publish
from `crates/oxide-artifacts`.
- No test reaches the ICE message; the string change is confirmed by
compilation and the dylib strings only.
- Clone and scaffold URLs in cargo-oxide and the book and README links
are left to #1489 and #1491.

Signed-off-by: Alejandro Soto Franco <sotofranco.eng@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants