Skip to content

docs(book): show how an inline request reaches the GPU - #1551

Merged
nihalpasham merged 2 commits into
NVIDIA:mainfrom
nihalpasham:docs/inline-intent-figure
Oct 19, 2026
Merged

nihalpasham merged 2 commits into
NVIDIA:mainfrom
nihalpasham:docs/inline-intent-figure

Conversation

@nihalpasham

Copy link
Copy Markdown
Collaborator

What this adds

The book page on kernels and device functions gets an "Inlining helpers" subsection and a one-page figure for the inline intent mapping that #1511 landed: #[inline] as inlinehint, #[inline(always)] as alwaysinline, #[inline(never)] as noinline, and the collector-boundary exception for generic #[device] helpers. Every quoted line in the figure comes from the inline_intent example built on an RTX 5090.

before: the page explains #[kernel] and #[device] and says a helper is "typically inlined"; nothing about #[inline]
after:  a short subsection with the three mappings, the one exception, and the figure below

How an inline request reaches the GPU

What we fixed

Verification

Checked at 128e5c478 (main 717432490 plus these two commits):

  • ✅ just book builds with warnings as errors (the {figure} directive resolves; Sphinx reports no warning).
  • ✅ The SVG renders in light and dark through headless Chrome; no line overflows its panel; no em or en dash in the file.
  • ✅ scripts/sync-example-locks.sh --check: 240 example locks agree on one version per crate, and the inline_intent lock now lists the same packages as vecadd's apart from the two example crates themselves.

Caveats

  • Docs and a lockfile only; no compiler code changes.

A one-page figure and a short subsection on the device-functions page for
the inline intent mapping that NVIDIA#1511 adds: #[inline] as inlinehint,
#[inline(always)] as alwaysinline, #[inline(never)] as noinline, and the
collector-boundary exception for generic #[device] helpers. Every quoted
line comes from the inline_intent example built on an RTX 5090.

Signed-off-by: nihalpasham <[email protected]>
…ples

The lock committed with NVIDIA#1511 predates the NVIDIA#1545 re-alignment, so the first
build of the example added itoa, oxide-tile-export, serde_json and zmij and
left the tree dirty. A resolve with the existing lock adds the four entries
at the versions the other 239 locks carry.

Signed-off-by: nihalpasham <[email protected]>
@nihalpasham nihalpasham added documentation Improvements or additions to documentation examples Example kernels and host harnesses under crates/rustc-codegen-cuda/examples cuda-oxide SIMT programming model: rustc backend, cargo oxide, cuda-device, cuda-host, book labels Oct 19, 2026
@nihalpasham

Copy link
Copy Markdown
Collaborator Author

/ok to test 128e5c4

@nihalpasham
nihalpasham merged commit b64e790 into NVIDIA:main Oct 19, 2026
64 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cuda-oxide SIMT programming model: rustc backend, cargo oxide, cuda-device, cuda-host, book documentation Improvements or additions to documentation examples Example kernels and host harnesses under crates/rustc-codegen-cuda/examples

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant