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
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ CUDA Python is the home for accessing NVIDIA’s CUDA platform from Python. It c
* [cuda.pathfinder](https://nvidia.github.io/cuda-python/cuda-pathfinder/latest): Utilities for locating CUDA components installed in the user's Python environment
* [cuda.coop](https://nvidia.github.io/cccl/unstable/python/coop.html): A Python module providing CCCL's reusable block-wide and warp-wide *device* primitives for use within Numba CUDA kernels
* [cuda.compute](https://nvidia.github.io/cccl/unstable/python/compute/index.html): A Python module for easy access to CCCL's highly efficient and customizable parallel algorithms, like `sort`, `scan`, `reduce`, `transform`, etc. that are callable on the *host*
* [numba-cuda-mlir](https://nvidia.github.io/numba-cuda-mlir/): An evolution of Numba CUDA that improves upon its technical foundation and performance to provide the future of CUDA Python JIT compilation. It currently supports developing CUDA **SIMT** kernels in Python, providing Python bindings for accelerated device libraries, and serving as a compiler for user-defined functions in accelerated libraries.
* [numba.cuda](https://nvidia.github.io/numba-cuda/): A Python DSL that exposes CUDA **SIMT** programming model and compiles a restricted subset of Python code into CUDA kernels and device functions
* [cuda.tile](https://docs.nvidia.com/cuda/cutile-python/): A new Python DSL that exposes CUDA **Tile** programming model and allows users to write NumPy-like code in CUDA kernels
* [nvmath-python](https://docs.nvidia.com/cuda/nvmath-python/latest): Pythonic access to NVIDIA CPU & GPU Math Libraries, with [*host*](https://docs.nvidia.com/cuda/nvmath-python/latest/overview.html#host-apis), [*device*](https://docs.nvidia.com/cuda/nvmath-python/latest/overview.html#device-apis), and [*distributed*](https://docs.nvidia.com/cuda/nvmath-python/latest/distributed-apis/index.html) APIs. It also provides low-level Python bindings to host C APIs ([nvmath.bindings](https://docs.nvidia.com/cuda/nvmath-python/latest/bindings/index.html)).
Expand Down
3 changes: 2 additions & 1 deletion cuda_bindings/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@ dependencies = ["cuda-pathfinder >=1.4.2"]

[project.optional-dependencies]
all = [
"cuda-toolkit[nvrtc,nvjitlink,nvvm,nvfatbin,cudla]==13.*",
"cuda-toolkit[nvrtc,nvjitlink,nvvm,nvfatbin]==13.*",
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 noticed this change sneaked in from PR #2034. This is a bit problematic because cuDLA is not a universally available component in the CTK, and the majority of users cannot use it but they'd see this at install time:

WARNING: cuda-toolkit 13.1.2.0 does not provide the extra 'cudla'

We should just document that DLA users need to install cuDLA if they haven't already (which I suspect is not the case, because there should be a system CTK already installed on embedded devices).

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.

I approved this knowingly, after discovering that the meta package has the filters we need.

I missed that warning message though. If we want to get rid of it, we have do add the conditions similar to what we're doing under cuda_pathfinder/pyproject.toml:

    "nvidia-cudla; platform_system == 'Linux' and platform_machine == 'aarch64'",

"cuda-toolkit[cufile]==13.*; sys_platform == 'linux'",
"cuda-toolkit==13.*",
]

[dependency-groups]
Expand Down
4 changes: 2 additions & 2 deletions cuda_core/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ dependencies = [
]

[project.optional-dependencies]
cu12 = ["cuda-bindings[all]==12.*"]
cu13 = ["cuda-bindings[all]==13.*"]
cu12 = ["cuda-bindings[all]==12.*", "cuda-toolkit==12.*"]
cu13 = ["cuda-bindings[all]==13.*", "cuda-toolkit==13.*"]

[dependency-groups]
test = ["cython>=3.2,<3.3", "setuptools", "pytest>=6.2.4", "pytest-benchmark", "pytest-randomly", "pytest-repeat", "pytest-rerunfailures", "cloudpickle", "psutil", "cffi"]
Expand Down
1 change: 1 addition & 0 deletions cuda_python/DESCRIPTION.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ CUDA Python is the home for accessing NVIDIA's CUDA platform from Python. It con
* `cuda.pathfinder <https://nvidia.github.io/cuda-python/cuda-pathfinder/latest>`_: Utilities for locating CUDA components installed in the user's Python environment
* `cuda.coop <https://nvidia.github.io/cccl/unstable/python/coop.html>`_: A Python module providing CCCL's reusable block-wide and warp-wide *device* primitives for use within Numba CUDA kernels
* `cuda.compute <https://nvidia.github.io/cccl/unstable/python/compute/index.html>`_: A Python module for easy access to CCCL's highly efficient and customizable parallel algorithms, like ``sort``, ``scan``, ``reduce``, ``transform``, etc. that are callable on the *host*
* `numba-cuda-mlir <https://nvidia.github.io/numba-cuda-mlir/>`_: An evolution of Numba CUDA that improves upon its technical foundation and performance to provide the future of CUDA Python JIT compilation. It currently supports developing CUDA **SIMT** kernels in Python, providing Python bindings for accelerated device libraries, and serving as a compiler for user-defined functions in accelerated libraries.
* `numba.cuda <https://nvidia.github.io/numba-cuda/>`_: A Python DSL that exposes CUDA **SIMT** programming model and compiles a restricted subset of Python code into CUDA kernels and device functions
* `cuda.tile <https://docs.nvidia.com/cuda/cutile-python/>`_: A new Python DSL that exposes CUDA **Tile** programming model and allows users to write NumPy-like code in CUDA kernels
* `nvmath-python <https://docs.nvidia.com/cuda/nvmath-python/latest>`_: Pythonic access to NVIDIA CPU & GPU Math Libraries, with `host <https://docs.nvidia.com/cuda/nvmath-python/latest/overview.html#host-apis>`_, `device <https://docs.nvidia.com/cuda/nvmath-python/latest/overview.html#device-apis>`_, and `distributed <https://docs.nvidia.com/cuda/nvmath-python/latest/distributed-apis/index.html>`_ APIs. It also provides low-level Python bindings to host C APIs (`nvmath.bindings <https://docs.nvidia.com/cuda/nvmath-python/latest/bindings/index.html>`_).
Expand Down
3 changes: 3 additions & 0 deletions cuda_python/docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ multiple components:
- `cuda.pathfinder`_: Utilities for locating CUDA components installed in the user's Python environment
- `cuda.coop`_: A Python module providing CCCL's reusable block-wide and warp-wide *device* primitives for use within Numba CUDA kernels
- `cuda.compute`_: A Python module for easy access to CCCL's highly efficient and customizable parallel algorithms, like ``sort``, ``scan``, ``reduce``, ``transform``, etc. that are callable on the *host*
- `numba-cuda-mlir`_: An evolution of Numba CUDA that improves upon its technical foundation and performance to provide the future of CUDA Python JIT compilation. It currently supports developing CUDA **SIMT** kernels in Python, providing Python bindings for accelerated device libraries, and serving as a compiler for user-defined functions in accelerated libraries.
- `numba.cuda`_: A Python DSL that exposes CUDA **SIMT** programming model and compiles a restricted subset of Python code into CUDA kernels and device functions
- `cuda.tile`_: A new Python DSL that exposes CUDA **Tile** programming model and allows users to write NumPy-like code in CUDA kernels
- `nvmath-python`_: Pythonic access to NVIDIA CPU & GPU Math Libraries, with `host`_, `device`_, and `distributed`_ APIs. It also provides low-level Python bindings to host C APIs (`nvmath.bindings`_).
Expand All @@ -22,6 +23,7 @@ multiple components:

.. _cuda.coop: https://nvidia.github.io/cccl/unstable/python/coop.html
.. _cuda.compute: https://nvidia.github.io/cccl/unstable/python/compute/index.html
.. _numba-cuda-mlir: https://nvidia.github.io/numba-cuda-mlir/
.. _numba.cuda: https://nvidia.github.io/numba-cuda/
.. _cuda.tile: https://docs.nvidia.com/cuda/cutile-python/
.. _nvmath-python: https://docs.nvidia.com/cuda/nvmath-python/latest
Expand Down Expand Up @@ -52,6 +54,7 @@ be available, please refer to the `cuda.bindings`_ documentation for installatio
cuda.pathfinder <https://nvidia.github.io/cuda-python/cuda-pathfinder/latest>
cuda.coop <https://nvidia.github.io/cccl/unstable/python/coop.html>
cuda.compute <https://nvidia.github.io/cccl/unstable/python/compute/index.html>
numba-cuda-mlir <https://nvidia.github.io/numba-cuda-mlir/>
numba.cuda <https://nvidia.github.io/numba-cuda/>
cuda.tile <https://docs.nvidia.com/cuda/cutile-python/>
nvmath-python <https://docs.nvidia.com/cuda/nvmath-python/>
Expand Down
2 changes: 2 additions & 0 deletions cuda_python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
version=version,
install_requires=[
f"cuda-bindings{matcher}{version}",
"cuda-core~=1.0.0",
"cuda-cccl~=1.0.0",
"cuda-pathfinder~=1.1",
],
extras_require={
Expand Down