Skip to content

Update RMM docs to use NVIDIA theme#2443

Open
bdice wants to merge 5 commits into
rapidsai:mainfrom
bdice:nvidia-docs-theme
Open

Update RMM docs to use NVIDIA theme#2443
bdice wants to merge 5 commits into
rapidsai:mainfrom
bdice:nvidia-docs-theme

Conversation

@bdice

@bdice bdice commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Description

Updates the RMM docs to use the NVIDIA Sphinx theme, removes the local RAPIDS custom CSS/JS includes that are injected by docs post-processing, disables Doxygen dot graph generation to avoid the Graphviz/GTK/Wayland dependency chain, and adds context to the C++ memory resources landing page.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Validation: ran make clean; make html from docs/; commit hooks passed.

@bdice bdice requested a review from a team as a code owner June 9, 2026 20:54
@bdice bdice requested a review from msarahan June 9, 2026 20:54
@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR migrates the documentation infrastructure from PyData Sphinx theme to NVIDIA Sphinx theme, removes Graphviz-based diagram generation across both Python and C++ documentation pipelines, updates the copyright year to 2026, and standardizes the project name capitalization.

Changes

Documentation Theme and Infrastructure Migration

Layer / File(s) Summary
Sphinx Configuration Migration
docs/conf.py
Sphinx configuration switches from pydata_sphinx_theme to nvidia_sphinx_theme, the copyright year extends to 2026, the project name changes to capitalized RMM, and external custom CSS/JS asset registration is removed.
Python Environment and Dependency Updates
dependencies.yaml, conda/environments/all_cuda-129_arch-aarch64.yaml, conda/environments/all_cuda-129_arch-x86_64.yaml, conda/environments/all_cuda-132_arch-aarch64.yaml, conda/environments/all_cuda-132_arch-x86_64.yaml
All dependency declarations consistently remove graphviz and pydata-sphinx-theme>=0.15.4, and add nvidia-sphinx-theme as a pip-installed package across four conda environment variants and the root dependency manifest.
C++ Documentation Infrastructure Adjustments
cpp/doxygen/Doxyfile, cpp/doxygen/header.html
Doxygen configuration disables HAVE_DOT to turn off Graphviz diagram generation, and the Doxygen header template removes external RAPIDS custom JavaScript and CSS includes.
Memory Resources Documentation
docs/cpp/memory_resources/index.md
Introductory content added describing RMM memory resources, their role in governing allocation/deallocation for different memory types, and how adaptors wrap upstream resources to modify behavior.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested labels

non-breaking, improvement

Suggested reviewers

  • msarahan
  • KyleFromNVIDIA
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The PR title 'Update RMM docs to use NVIDIA theme' accurately reflects the main change: switching the documentation theme from pydata-sphinx-theme to nvidia-sphinx-theme.
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.
Description check ✅ Passed The pull request description accurately describes the changeset, including theme migration, dependency removal, Doxygen configuration changes, and documentation improvements.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
dependencies.yaml (1)

349-350: ⚡ Quick win

Consider pinning nvidia-sphinx-theme version.

Installing nvidia-sphinx-theme without a version constraint could lead to unexpected breaking changes if the theme is updated. Consider adding a version range for stability.

📌 Suggested version constraint
           - pip:
-              - nvidia-sphinx-theme
+              - nvidia-sphinx-theme>=1.0,<2.0
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@dependencies.yaml` around lines 349 - 350, The pip dependency entry for
nvidia-sphinx-theme is unpinned; update the dependencies.yaml pip list entry for
nvidia-sphinx-theme to include an explicit version constraint (either a fixed
version like ==X.Y.Z or a safe range like >=X.Y,<X+1.0 or ~=X.Y) to prevent
accidental breaking changes; locate the nvidia-sphinx-theme item in the pip list
and replace the bare name with the chosen versioned specifier and run dependency
resolution to verify compatibility.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@dependencies.yaml`:
- Around line 349-350: The pip dependency entry for nvidia-sphinx-theme is
unpinned; update the dependencies.yaml pip list entry for nvidia-sphinx-theme to
include an explicit version constraint (either a fixed version like ==X.Y.Z or a
safe range like >=X.Y,<X+1.0 or ~=X.Y) to prevent accidental breaking changes;
locate the nvidia-sphinx-theme item in the pip list and replace the bare name
with the chosen versioned specifier and run dependency resolution to verify
compatibility.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 5e3a806b-1bb6-4190-8c0a-d864b8d0ad5e

📥 Commits

Reviewing files that changed from the base of the PR and between a66679d and 45856ef.

📒 Files selected for processing (9)
  • conda/environments/all_cuda-129_arch-aarch64.yaml
  • conda/environments/all_cuda-129_arch-x86_64.yaml
  • conda/environments/all_cuda-132_arch-aarch64.yaml
  • conda/environments/all_cuda-132_arch-x86_64.yaml
  • cpp/doxygen/Doxyfile
  • cpp/doxygen/header.html
  • dependencies.yaml
  • docs/conf.py
  • docs/cpp/memory_resources/index.md
💤 Files with no reviewable changes (1)
  • cpp/doxygen/header.html

@bdice bdice self-assigned this Jun 9, 2026
@bdice bdice added doc Documentation non-breaking Non-breaking change labels Jun 9, 2026
@bdice bdice moved this to In Progress in RMM Project Board Jun 9, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sphinx changes LGTM. Can't comment on the rest.


Memory resources implement allocation and deallocation for a kind of memory, for example CUDA device memory, managed memory, or pinned host memory. Resource adaptors wrap another memory resource and change its behavior, such as adding logging, tracking, limits, alignment, or prefetching, while delegating the actual allocation to the wrapped upstream resource.

Use the pages below to browse the core memory resource implementations and the adaptors that add behavior to an upstream resource.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I would probably remove this sentence.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc Documentation non-breaking Non-breaking change

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

3 participants