Skip to content
Draft
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
107 changes: 106 additions & 1 deletion context7.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,109 @@
{
"$schema": "https://context7.com/schema/context7.json",
"url": "https://context7.com/nvidia/cuda-python",
"public_key": "pk_gupaHhsdvsuT1j3BZpb7i"
"public_key": "pk_gupaHhsdvsuT1j3BZpb7i",
"projectTitle": "CUDA Python",
"description": "Access NVIDIA's CUDA platform from Python through CUDA Python components including cuda.core, cuda.bindings, and cuda.pathfinder.",
"branch": "main",
"folders": [
"cuda_python/docs/source",
"cuda_bindings/docs/source",
"cuda_bindings/examples",
"cuda_core/docs/source",
"cuda_core/examples",
"cuda_pathfinder/docs/source"
],
"excludeFolders": [
"**/_templates"
],
"excludeFiles": [
"CHANGELOG.md",
"changelog.md",
"LICENSE",
"LICENSE.md",
"license.md",
"CODE_OF_CONDUCT.md",
"code_of_conduct.md",
"api_private.rst",
"conduct.rst",
"contribute.rst",
"license.rst",
"conf.py",
"main.html"
],
"rules": [
"Treat CUDA Python documentation as version-sensitive; prefer the user's installed package version when available.",
"Use cuda.core for Pythonic access to CUDA Runtime and other core functionality.",
"Use cuda.bindings for low-level Python bindings to CUDA C APIs.",
"Use cuda.pathfinder for locating CUDA components installed in the user's Python environment.",
"Prefer documented modules, examples, and release notes before recommending APIs or code changes.",
"Check relevant cuda-python, cuda-bindings, cuda-core, cuda-pathfinder, CUDA driver, and CUDA Toolkit versions when compatibility matters.",
"Use separate linked documentation for CUDA Python ecosystem projects instead of treating them as cuda-python APIs."
],
"previousVersions": [
{
"tag": "v13.3.1",
"title": "CUDA Python 13.3.1"
},
{
"tag": "v13.3.0",
"title": "CUDA Python 13.3.0"
},
{
"tag": "v13.2.0",
"title": "CUDA Python 13.2.0"
},
{
"tag": "v13.1.1",
"title": "CUDA Python 13.1.1"
},
{
"tag": "v13.0.3",
"title": "CUDA Python 13.0.3"
},
{
"tag": "v12.9.7",
"title": "CUDA Python 12.9.7"
},
{
"tag": "v12.9.6",
"title": "CUDA Python 12.9.6"
},
{
"tag": "v12.9.0",
"title": "CUDA Python 12.9.0"
},
{
"tag": "v12.8.0",
"title": "CUDA Python 12.8.0"
},
{
"tag": "v12.6.2",
"title": "CUDA Python 12.6.2"
},
{
"tag": "cuda-core-v1.0.1",
"title": "cuda.core 1.0.1"
},
{
"tag": "cuda-core-v1.0.0",
"title": "cuda.core 1.0.0"
},
{
"tag": "cuda-core-v0.7.0",
"title": "cuda.core 0.7.0"
},
{
"tag": "cuda-pathfinder-v1.5.6",
"title": "cuda-pathfinder 1.5.6"
},
{
"tag": "cuda-pathfinder-v1.4.4",
"title": "cuda-pathfinder 1.4.4"
},
{
"tag": "cuda-pathfinder-v1.2.3",
"title": "cuda-pathfinder 1.2.3"
}
]
}
2 changes: 1 addition & 1 deletion cuda_core/cuda/core/_device.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -654,7 +654,7 @@ class Device:
def to_system_device(self) -> 'cuda.core.system.Device':
"""
Get the corresponding :class:`cuda.core.system.Device` (which is used
for NVIDIA Machine Library (NVML) access) for this
for NVIDIA Management Library (NVML) access) for this
:class:`cuda.core.Device` (which is used for CUDA access).

The devices are mapped to one another by their UUID.
Expand Down
4 changes: 2 additions & 2 deletions cuda_core/cuda/core/_device.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -1016,7 +1016,7 @@ class Device:
def to_system_device(self) -> 'cuda.core.system.Device':
"""
Get the corresponding :class:`cuda.core.system.Device` (which is used
for NVIDIA Machine Library (NVML) access) for this
for NVIDIA Management Library (NVML) access) for this
:class:`cuda.core.Device` (which is used for CUDA access).

The devices are mapped to one another by their UUID.
Expand All @@ -1030,7 +1030,7 @@ class Device:

if not CUDA_BINDINGS_NVML_IS_COMPATIBLE:
raise RuntimeError(
"cuda.core.system.Device requires cuda_bindings 13.1.2+ or 12.9.6+"
"cuda.core.system.Device requires cuda-bindings 12.9.6+ for CUDA 12.x, or cuda-bindings 13.2.0+ for CUDA 13.x"
)

from cuda.core.system import Device as SystemDevice
Expand Down
2 changes: 1 addition & 1 deletion cuda_core/cuda/core/system/_device.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -1382,7 +1382,7 @@ class Device:
"""
Get the corresponding :class:`cuda.core.Device` (which is used for CUDA
access) for this :class:`cuda.core.system.Device` (which is used for
NVIDIA machine library (NVML) access).
NVIDIA Management Library (NVML) access).
The devices are mapped to one another by their UUID.
Expand Down
2 changes: 1 addition & 1 deletion cuda_core/cuda/core/system/_device.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ cdef class Device:
"""
Get the corresponding :class:`cuda.core.Device` (which is used for CUDA
access) for this :class:`cuda.core.system.Device` (which is used for
NVIDIA machine library (NVML) access).
NVIDIA Management Library (NVML) access).

The devices are mapped to one another by their UUID.

Expand Down
2 changes: 1 addition & 1 deletion cuda_core/cuda/core/system/_nvml_context.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ cpdef void _initialize() except *

cpdef inline initialize():
"""
Initializes Nvidia Management Library (NVML), ensuring it only happens once per process.
Initializes NVIDIA Management Library (NVML), ensuring it only happens once per process.
"""
if _NVML_STATE == _NVMLState.DISABLED_LIBRARY_NOT_FOUND or (
_NVML_STATE == _NVMLState.INITIALIZED and getpid() == _NVML_OWNER_PID
Expand Down
2 changes: 1 addition & 1 deletion cuda_core/cuda/core/system/_nvml_context.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ _lock = threading.Lock()

def _initialize() -> None:
"""
Initializes Nvidia Management Library (NVML), ensuring it only happens once per process.
Initializes NVIDIA Management Library (NVML), ensuring it only happens once per process.
"""

def validate() -> None:
Expand Down
2 changes: 1 addition & 1 deletion cuda_core/cuda/core/system/_nvml_context.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def _get_nvml_state() -> _NVMLState:

cpdef void _initialize() except *:
"""
Initializes Nvidia Management Library (NVML), ensuring it only happens once per process.
Initializes NVIDIA Management Library (NVML), ensuring it only happens once per process.
"""
global _NVML_STATE, _NVML_OWNER_PID

Expand Down
2 changes: 1 addition & 1 deletion cuda_core/docs/source/api_nvml.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This is the API reference for Pythonic access to CUDA system information,
through the NVIDIA Management Library (NVML).

.. note::
``cuda.core.system`` support requires ``cuda_bindings`` 12.9.6 or later, or 13.2.0 or later.
``cuda.core.system`` support requires ``cuda-bindings`` 12.9.6 or later for CUDA 12.x, or ``cuda-bindings`` 13.2.0 or later for CUDA 13.x.

Basic functions
---------------
Expand Down
2 changes: 1 addition & 1 deletion cuda_core/tests/system/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

skip_if_nvml_unsupported = pytest.mark.skipif(
SHOULD_SKIP_NVML_TESTS,
reason="NVML support requires cuda.bindings version 12.9.6+ or 13.1.2+, and hardware that supports NVML",
reason="NVML support requires cuda.bindings version 12.9.6+ for CUDA 12.x or 13.2.0+ for CUDA 13.x, and hardware that supports NVML",
)


Expand Down
2 changes: 1 addition & 1 deletion cuda_core/tests/test_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def test_to_system_device(deinit_cuda):
if not _system.CUDA_BINDINGS_NVML_IS_COMPATIBLE:
with pytest.raises(RuntimeError):
device.to_system_device()
pytest.skip("NVML support requires cuda.bindings version 12.9.6+ or 13.1.2+")
pytest.skip("NVML support requires cuda.bindings version 12.9.6+ for CUDA 12.x or 13.2.0+ for CUDA 13.x")

from cuda.bindings._test_helpers.arch_check import hardware_supports_nvml

Expand Down