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
38 changes: 35 additions & 3 deletions cuda_bindings/docs/source/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,43 @@ For example:

Tegra users can install the cuDLA conda package from conda-forge through ``conda install -c conda-forge libcudla cuda-version=13``, if it does not already exist on the system.

Development environment
-----------------------

The sections above cover end-user installation. The section below focuses on
a repeatable *development* workflow (editable installs and running tests).

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.

What are the advantages of an editable install when it's almost 100% compiled code? Personally, I find them more confusing/trouble than a regular install, since you have to recompile for virtually every change anyway.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

For many Cython-based projects like CuPy, editable install works the same as pure Python projects, in that if a Cython module is not touched, it would not get re-compiled and local development is fast. However, my impression has been that it doesn't quite work for cuda-bindings for whatever reason. I am hoping that dropping Tempita might be the solution, but we'll see.


Installing the latest nightly (top-of-tree builds)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

These are useful for users looking to test new features or bug fixes prior to
their inclusion in a release.

CI publishes wheels as GitHub Actions artifacts on every push to ``main``. To
obtain the most recent build, use the following commands:

.. code-block:: console

$ # Find the latest successful CI run on main:
$ RUN_ID=$(gh run list -R NVIDIA/cuda-python -w ci.yml -b main -s success -L1 --json databaseId -q '.[0].databaseId')

$ # Download the wheel (pick your Python version and platform):
$ gh run download "$RUN_ID" -R NVIDIA/cuda-python -p "cuda-bindings-python312-cuda13*-linux-64-*"

$ # Install the downloaded wheel:
$ pip install cuda-bindings-python312-cuda13*-linux-64-*/cuda_bindings*.whl[all]
Comment on lines +100 to +107

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.

It would be great to put these three lines in a script in toolshed. Something like toolshed/install-latest-wheel cuda_bindings.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I thought we do not want to document anything from toolshed?


Replace ``python312`` with your Python version (e.g. ``python310``, ``python311``,
``python313``, ``python314``, ``python314t``). For aarch64, replace ``linux-64``
with ``linux-aarch64``; for Windows, use ``win-64``. Only the current CUDA
major version is built on ``main``; wheels for the prior CUDA major are
published from the corresponding backport branch.

Installing from Source
----------------------
~~~~~~~~~~~~~~~~~~~~~~

Requirements
~~~~~~~~~~~~
^^^^^^^^^^^^

* CUDA Toolkit headers[^1]
* CUDA Runtime static library[^2]
Expand All @@ -106,7 +138,7 @@ See :doc:`Environment Variables <environment_variables>` for a description of ot
Only ``cydriver``, ``cyruntime`` and ``cynvrtc`` are impacted by the header requirement.

Editable Install
~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^

You can use:

Expand Down
4 changes: 2 additions & 2 deletions cuda_core/docs/source/install.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
.. SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
.. SPDX-License-Identifier: Apache-2.0

Installation
Expand Down Expand Up @@ -147,7 +147,7 @@ Use ``-e cu12`` to test against CUDA 12 instead.
.. _pixi: https://pixi.sh/

Installing from Source
----------------------
~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: console

Expand Down
3 changes: 2 additions & 1 deletion cuda_pathfinder/docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
.. SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
.. SPDX-License-Identifier: Apache-2.0

``cuda.pathfinder``: Utilities for locating CUDA components
Expand All @@ -8,6 +8,7 @@
:maxdepth: 2
:caption: Contents:

install
api
contribute
license
Expand Down
70 changes: 70 additions & 0 deletions cuda_pathfinder/docs/source/install.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
.. SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
.. SPDX-License-Identifier: Apache-2.0

Installation
============

Runtime Requirements
--------------------

``cuda.pathfinder`` is a pure-Python package with no runtime dependencies:

* Linux (x86-64, arm64) and Windows (x86-64)
* Python 3.10 - 3.14

Installing from PyPI
--------------------

.. code-block:: console

$ pip install -U cuda-pathfinder

Installing from Conda (conda-forge)
-----------------------------------

.. code-block:: console

$ conda install -c conda-forge cuda-pathfinder

Development environment
-----------------------

The sections above cover end-user installation. The section below focuses on
a repeatable *development* workflow (editable installs and running tests).

Installing the latest nightly (top-of-tree builds)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

These are useful for users looking to test new features or bug fixes prior to
their inclusion in a release.

CI publishes the wheel as a GitHub Actions artifact on every push to ``main``.
Because ``cuda.pathfinder`` is pure Python, a single wheel covers every
supported Python version and platform. To obtain the most recent build, use
the following commands:

.. code-block:: console

$ # Find the latest successful CI run on main:
$ RUN_ID=$(gh run list -R NVIDIA/cuda-python -w ci.yml -b main -s success -L1 --json databaseId -q '.[0].databaseId')

$ # Download the wheel:
$ gh run download "$RUN_ID" -R NVIDIA/cuda-python -p "cuda-pathfinder-wheel"

$ # Install the downloaded wheel:
$ pip install cuda-pathfinder-wheel/*.whl

Installing from Source
~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: console

$ git clone https://github.com/NVIDIA/cuda-python
$ cd cuda-python/cuda_pathfinder
$ pip install .

For an editable install (e.g. when developing ``cuda.pathfinder`` itself):

.. code-block:: console

$ pip install -v -e .
Loading