Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ thirdparty/googletest/

## Documentation
cpp/doxygen/html
cpp/doxygen/latex
cpp/doxygen/xml
docs/_build

Expand Down
4 changes: 3 additions & 1 deletion conda/environments/all_cuda-129_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dependencies:
- identify>=2.5.20
- ipython
- make
- myst-parser
- nbsphinx
- ninja
- numba-cuda>=0.19.1,<0.20.0a0
Expand All @@ -30,6 +31,7 @@ dependencies:
- numpydoc
- packaging
- pre-commit
- pydata-sphinx-theme>=0.15.4
- pytest-cov
- pytest<9.0.0a0
- python>=3.10,<3.14
Expand All @@ -39,6 +41,6 @@ dependencies:
- sphinx
- sphinx-copybutton
- sphinx-markdown-tables
- sphinx_rtd_theme
- sphinxcontrib-jquery
- sysroot_linux-aarch64==2.28
name: all_cuda-129_arch-aarch64
4 changes: 3 additions & 1 deletion conda/environments/all_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dependencies:
- identify>=2.5.20
- ipython
- make
- myst-parser
- nbsphinx
- ninja
- numba-cuda>=0.19.1,<0.20.0a0
Expand All @@ -30,6 +31,7 @@ dependencies:
- numpydoc
- packaging
- pre-commit
- pydata-sphinx-theme>=0.15.4
- pytest-cov
- pytest<9.0.0a0
- python>=3.10,<3.14
Expand All @@ -39,6 +41,6 @@ dependencies:
- sphinx
- sphinx-copybutton
- sphinx-markdown-tables
- sphinx_rtd_theme
- sphinxcontrib-jquery
- sysroot_linux-64==2.28
name: all_cuda-129_arch-x86_64
4 changes: 3 additions & 1 deletion conda/environments/all_cuda-130_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dependencies:
- identify>=2.5.20
- ipython
- make
- myst-parser
- nbsphinx
- ninja
- numba-cuda>=0.19.1,<0.20.0a0
Expand All @@ -30,6 +31,7 @@ dependencies:
- numpydoc
- packaging
- pre-commit
- pydata-sphinx-theme>=0.15.4
- pytest-cov
- pytest<9.0.0a0
- python>=3.10,<3.14
Expand All @@ -39,6 +41,6 @@ dependencies:
- sphinx
- sphinx-copybutton
- sphinx-markdown-tables
- sphinx_rtd_theme
- sphinxcontrib-jquery
- sysroot_linux-aarch64==2.28
name: all_cuda-130_arch-aarch64
4 changes: 3 additions & 1 deletion conda/environments/all_cuda-130_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dependencies:
- identify>=2.5.20
- ipython
- make
- myst-parser
- nbsphinx
- ninja
- numba-cuda>=0.19.1,<0.20.0a0
Expand All @@ -30,6 +31,7 @@ dependencies:
- numpydoc
- packaging
- pre-commit
- pydata-sphinx-theme>=0.15.4
- pytest-cov
- pytest<9.0.0a0
- python>=3.10,<3.14
Expand All @@ -39,6 +41,6 @@ dependencies:
- sphinx
- sphinx-copybutton
- sphinx-markdown-tables
- sphinx_rtd_theme
- sphinxcontrib-jquery
- sysroot_linux-64==2.28
name: all_cuda-130_arch-x86_64
22 changes: 21 additions & 1 deletion cpp/include/doxygen_groups.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION.
* SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION.
* SPDX-License-Identifier: Apache-2.0
*/

Expand All @@ -17,6 +17,26 @@
// @ingroup tag to the API's doxygen comment.
// Add a new group by first specifying in the hierarchy below.

/**
* @namespace rmm
* @brief RAPIDS Memory Manager - The top-level namespace for all RMM functionality
*
* The rmm namespace provides a comprehensive set of memory management
* utilities for CUDA applications, including memory resources, CUDA stream
* management, device-side data containers, and memory allocation utilities.
*/

/**
* @namespace rmm::mr
* @brief Memory Resource classes and adaptors
*
* The rmm::mr namespace contains all base memory resource classes that
* implement various CUDA memory allocation strategies, adaptors for
* suballocation such as pool and arena adaptors, and adaptors that add
* functionality such as logging, alignment, and statistics tracking to
* existing memory resources.
*/

/**
* @defgroup memory_resources Memory Resources
* @{
Expand Down
4 changes: 3 additions & 1 deletion dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -259,14 +259,16 @@ dependencies:
- graphviz
- ipython
- make
- myst-parser
- nbsphinx
- &numba numba>=0.60.0,<0.62.0a0
- &numba_cuda numba-cuda>=0.19.1,<0.20.0a0
- numpydoc
- pydata-sphinx-theme>=0.15.4
- sphinx
- sphinx_rtd_theme
- sphinx-copybutton
- sphinx-markdown-tables
- sphinxcontrib-jquery
py_version:
specific:
- output_types: conda
Expand Down
Binary file added docs/_static/RAPIDS-logo-purple.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
59 changes: 37 additions & 22 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,18 +46,18 @@
# ones.

extensions = [
"sphinxcontrib.jquery",
"sphinx.ext.intersphinx",
"IPython.sphinxext.ipython_console_highlighting",
"IPython.sphinxext.ipython_directive",
"breathe",
"myst_parser",
"nbsphinx",
"numpydoc",
"sphinx.ext.autodoc",
"sphinx.ext.autosummary",
"sphinx.ext.intersphinx",
"sphinx_copybutton",
"numpydoc",
"sphinx_markdown_tables",
"IPython.sphinxext.ipython_console_highlighting",
"IPython.sphinxext.ipython_directive",
"nbsphinx",
"recommonmark",
"breathe",
"sphinxcontrib.jquery",
]

# Breathe Configuration
Expand Down Expand Up @@ -95,14 +95,14 @@
# List of warnings to suppress
suppress_warnings = []

# if the file deprecated.xml does not exist in the doxygen xml output,
# breathe will fail to build the docs, so we conditionally add
# "deprecated.rst" to the exclude_patterns list
# If the file deprecated.xml does not exist in the Doxygen XML output,
# Breathe's deprecated page will fail. Conditionally exclude that page
# and suppress the resulting toctree warning.
if not os.path.exists(
os.path.join(breathe_projects["librmm"], "deprecated.xml")
):
exclude_patterns.append("librmm_docs/deprecated.rst")
suppress_warnings.append("toc.excluded")
exclude_patterns.append("cpp/deprecated.md")
suppress_warnings.append("toc.not_readable")

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = "sphinx"
Expand All @@ -117,18 +117,34 @@
# a list of builtin themes.
#

html_theme = "sphinx_rtd_theme"

# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}
html_theme = "pydata_sphinx_theme"
html_logo = "_static/RAPIDS-logo-purple.png"

html_theme_options = {
"external_links": [],
"icon_links": [
{
"name": "GitHub",
"url": "https://github.com/rapidsai/rmm",
"icon": "fa-brands fa-github",
"type": "fontawesome",
},
{
"name": "X",
"url": "https://x.com/rapidsai",
"icon": "fa-brands fa-x-twitter",
"type": "fontawesome",
},
],
"show_toc_level": 1,
"navbar_align": "right",
"navigation_with_keys": True,
}

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = []
html_static_path = ["_static"]


# -- Options for HTMLHelp output ------------------------------------------
Expand Down Expand Up @@ -300,7 +316,6 @@ def on_missing_reference(app, env, node, contnode):


def setup(app):
app.add_js_file("copybutton_pydocs.js")
app.add_css_file("https://docs.rapids.ai/assets/css/custom.css")
app.add_js_file(
"https://docs.rapids.ai/assets/js/custom.js", loading_method="defer"
Expand Down
8 changes: 0 additions & 8 deletions docs/cpp.rst

This file was deleted.

6 changes: 6 additions & 0 deletions docs/cpp/cuda_device_management.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# CUDA Device Management

```{doxygengroup} cuda_device_management
:members:
:content-only:
```
6 changes: 6 additions & 0 deletions docs/cpp/cuda_streams.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# CUDA Streams

```{doxygengroup} cuda_streams
:members:
:content-only:
```
6 changes: 6 additions & 0 deletions docs/cpp/data_containers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Data Containers

```{doxygengroup} data_containers
:members:
:content-only:
```
6 changes: 6 additions & 0 deletions docs/cpp/errors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Errors

```{doxygengroup} errors
:members:
:content-only:
```
21 changes: 21 additions & 0 deletions docs/cpp/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# C++ API

This page documents the C++ API for RMM, also called `librmm`.

```{toctree}
:maxdepth: 2

memory_resources/index
data_containers
thrust_integrations
cuda_device_management
cuda_streams
errors
utilities
rmm_namespace
```

## Indices and tables

- {ref}`genindex`
- {ref}`search`
7 changes: 7 additions & 0 deletions docs/cpp/memory_resources/device_memory_resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Device Memory Resources

```{doxygengroup} device_memory_resources
:members:
:undoc-members:
:content-only:
```
6 changes: 6 additions & 0 deletions docs/cpp/memory_resources/device_resource_adaptors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Device Resource Adaptors

```{doxygengroup} device_resource_adaptors
:members:
:content-only:
```
9 changes: 9 additions & 0 deletions docs/cpp/memory_resources/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Memory Resources

```{toctree}
:maxdepth: 1

memory_resources
device_memory_resources
device_resource_adaptors
```
6 changes: 6 additions & 0 deletions docs/cpp/memory_resources/memory_resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Memory Resources

```{doxygengroup} memory_resources
:members:
:content-only:
```
9 changes: 9 additions & 0 deletions docs/cpp/rmm_namespace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Namespaces

```{doxygennamespace} rmm
:desc-only:
```

```{doxygennamespace} rmm::mr
:desc-only:
```
6 changes: 6 additions & 0 deletions docs/cpp/thrust_integrations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Thrust Integrations

```{doxygengroup} thrust_integrations
:members:
:content-only:
```
6 changes: 6 additions & 0 deletions docs/cpp/utilities.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Utilities

```{doxygengroup} utilities
:members:
:content-only:
```
8 changes: 0 additions & 8 deletions docs/cpp_api.rst

This file was deleted.

12 changes: 12 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# RMM: RAPIDS Memory Manager

RMM (RAPIDS Memory Manager) is a library for allocating and managing GPU memory in C++ and Python.

```{toctree}
:maxdepth: 2
:caption: Contents

user_guide/guide
cpp/index
python/index
```
Loading