Umbrella readme - #1376
Open
cryos wants to merge 11 commits into
Open
Umbrella readme#1376cryos wants to merge 11 commits into
cryos wants to merge 11 commits into
Conversation
- Root README.md becomes the umbrella hub: one paragraph per component,
a table for picking between the SIMT and Tile models, and a per-component
license table. Modelled on NVIDIA/cuda-python's root README.
- cuda-oxide's existing README moves to cuda-oxide/README.md unchanged.
- docs/index.md is the published landing page. Its toctree links out to the
component books by absolute URL, which is how cuda-python gets one
navigation sidebar across independently built sites.
- docs/build_all_docs.sh builds the umbrella page, then each component book,
and stitches the output into build/html/{,cuda-oxide/,cutile/}. Neither
book moves. This produces the URL layout issue NVIDIA#2 asks for without
relocating any sources or conflicting with NVIDIA#1.
- .gitignore no longer ignores /docs/. It was ignored for out-of-band design
notes; only the build output is ignored now.
All three Sphinx builds pass under `-W --keep-going`.
URLs use https://nvlabs.github.io/cuda-rust/ as a placeholder; the public
umbrella repository does not exist yet.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Rob Parolin <rparolin@nvidia.com>
Issue NVIDIA#2 asks for an agent file at the repository root. There was none, and there could not be: .gitignore ignored AGENTS.md outright. That entry sat with .codex/, .agents/ and .mcp/ -- local agent scratch state -- but a committed, repository-wide agent file is a different thing, so the entry goes and the file lands. AGENTS.md covers what applies everywhere: the component map and how the workspace globs pick crates up, `just` as the entry point for checks rather than raw cargo, the pinned nightly, DCO sign-off and SPDX headers, and never pushing to the canonical upstream. It states that a subdirectory's own AGENTS.md wins for component-specific conventions, which is what keeps the file useful once cutile arrives. CLAUDE.md is a symlink to it so the two cannot drift. Also repoints CONTRIBUTING.md's toolchain link at cuda-oxide/README.md. It said "see the README", which since the component move resolves to the umbrella README, where the setup instructions no longer live. Verified: every recipe and path the file cites resolves, and all ten guard scripts still pass. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Rob Parolin <rparolin@nvidia.com>
The file was written before the split and two of its statements are now false.
It says the members glob lives in the root Cargo.toml, which has no members at
all, and it points at a root rust-toolchain.toml that does not exist.
The larger problem was an omission. Nothing said there are two workspaces, and
the way that fails is quiet:
$ cargo test # from the repository root
error: the workspace has no members
$ echo $?
0
cargo test, build and clippy all report success at the root having compiled
nothing, and an agent reads that as tests passing. That is the same mistake that
broke cuda-intrinsics-gen, three guard scripts and smoketest.sh across three CI
rounds, so it now leads the file instead of being absent from it.
Also added, each a line or two:
- rustup resolves the toolchain from the working directory, so --manifest-path
does not move it. This is why the recipes and scripts cd rather than pass a
path, and it is not obvious from reading either.
- cargo deny's split invocation: policy at the root, lockfile in the component.
- Which four CI lanes carry paths filters and which four inherit through
ci.yml, so a lane that did not run is not mistaken for broken CI.
- Two things that look like bugs and are not: the 13 issue and pull request
permalinks that deliberately still point at NVlabs/cuda-oxide, and the 10
trybuild .stderr files whose $WORKSPACE-relative paths any crate move
rewrites -- with the warning that TRYBUILD=overwrite will bless a real
regression as readily as a path change.
Verified: every path, recipe and count the file cites resolves against the tree.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Rob Parolin <rparolin@nvidia.com>
…ils for cutle-rs + runtime.
elibol
force-pushed
the
umbrella-readme
branch
from
October 2, 2026 19:09
7fb827a to
1e7633e
Compare
elibol
requested review from
kkraus14,
nihalpasham and
roivanov
as code owners
October 2, 2026 19:09
elibol
reviewed
Oct 2, 2026
elibol
left a comment
Collaborator
There was a problem hiding this comment.
I rebased to address conflict with main in this repo and updated the link to THIRD_PARTY_NOTICES, since that's currently under cuda-oxide. @cryos is that something we want at the top-level? If so let's move it there and update the README. Otherwise LGTM!
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes for high level README.md etc for the new repository layout.