From bf681602b22b8dbb15b456eb2bddcaee21844c5b Mon Sep 17 00:00:00 2001 From: Vladislav Zhurba Date: Wed, 15 Jan 2025 10:52:57 -0800 Subject: [PATCH 1/3] Add project description --- .github/workflows/build-and-test.yml | 7 +++---- README.md | 6 ++++++ cuda_bindings/DESCRIPTION.rst | 26 ++++++++++++++++++++++++++ cuda_bindings/README.md | 14 ++------------ cuda_bindings/pyproject.toml | 6 +++++- cuda_core/README.md | 2 +- 6 files changed, 43 insertions(+), 18 deletions(-) create mode 100644 cuda_bindings/DESCRIPTION.rst diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index b2b7e3b3..631ca972 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -158,10 +158,9 @@ jobs: $CHOWN -R $(whoami) ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }} ls -lahR ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }} - # TODO: enable this after NVIDIA/cuda-python#297 is resolved - # - name: Check cuda.bindings wheel - # run: | - # twine check ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl + - name: Check cuda.bindings wheel + run: | + twine check ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl - name: Upload cuda.bindings build artifacts uses: actions/upload-artifact@v4 diff --git a/README.md b/README.md index 3b7338a3..c736f5fa 100644 --- a/README.md +++ b/README.md @@ -37,3 +37,9 @@ The list of available interfaces are: * CUDA Runtime * NVRTC * nvJitLink + +## Supported Python Versions + +All `cuda-bindings` subpackages follows [NEP 29](https://numpy.org/neps/nep-0029-deprecation_policy.html) for supported Python version guarantee. + +Before dropping support, an issue will be raised for an advanced notice. diff --git a/cuda_bindings/DESCRIPTION.rst b/cuda_bindings/DESCRIPTION.rst new file mode 100644 index 00000000..a1a538f2 --- /dev/null +++ b/cuda_bindings/DESCRIPTION.rst @@ -0,0 +1,26 @@ +******************************************************* +cuda.bindings: Low-level CUDA interfaces +******************************************************* + +`cuda.bindings` is a standard set of low-level interfaces, providing full coverage of and access to the CUDA host APIs from Python. Checkout the [Overview](https://nvidia.github.io/cuda-python/cuda-bindings/latest/overview.html) for the workflow and performance results. + +Installation +============ + +`cuda.bindings` can be installed from: + +* PyPI +* Conda (conda-forge/nvidia channels) +* Source builds + +Differences between these options are described in [Installation](https://nvidia.github.io/cuda-python/cuda-bindings/latest/install.html) documentation. Each package guarantees minor version compatibility. + +Runtime Dependencies +==================== + +`cuda.bindings` is supported on all the same platforms as CUDA. Specific dependencies are as follows: + +* Driver: Linux (450.80.02 or later) Windows (456.38 or later) +* CUDA Toolkit 12.x + +Only the NVRTC and nvJitLink redistributable components are required from the CUDA Toolkit, which can be obtained via PyPI, Conda, or local installers (as described in the CUDA Toolkit [Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) and [Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) Installation Guides). diff --git a/cuda_bindings/README.md b/cuda_bindings/README.md index 3ece5667..ca3b1cfd 100644 --- a/cuda_bindings/README.md +++ b/cuda_bindings/README.md @@ -6,7 +6,7 @@ ## Installing -CUDA Python can be installed from: +`cuda.bindings` can be installed from: * PyPI * Conda (conda-forge/nvidia channels) @@ -16,23 +16,13 @@ Differences between these options are described in [Installation](https://nvidia ## Runtime Dependencies -CUDA Python is supported on all platforms that CUDA is supported. Specific dependencies are as follows: +`cuda.bindings` is supported on all the same platforms as CUDA. Specific dependencies are as follows: * Driver: Linux (450.80.02 or later) Windows (456.38 or later) * CUDA Toolkit 12.x Only the NVRTC and nvJitLink redistributable components are required from the CUDA Toolkit, which can be obtained via PyPI, Conda, or local installers (as described in the CUDA Toolkit [Windows](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) and [Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) Installation Guides). -### Supported Python Versions - -CUDA Python follows [NEP 29](https://numpy.org/neps/nep-0029-deprecation_policy.html) for supported Python version guarantee. - -Before dropping support, an issue will be raised to look for feedback. - -Source builds work for multiple Python versions, however pre-build PyPI and Conda packages are only provided for a subset: - -* Python 3.9 to 3.12 - ## Developing We use `pre-commit` to manage various tools to help development and ensure consistency. diff --git a/cuda_bindings/pyproject.toml b/cuda_bindings/pyproject.toml index 6357b406..7965448b 100644 --- a/cuda_bindings/pyproject.toml +++ b/cuda_bindings/pyproject.toml @@ -27,7 +27,10 @@ classifiers = [ "Programming Language :: Python :: 3.12", "Environment :: GPU :: NVIDIA CUDA", ] -dynamic = ["version"] +dynamic = [ + "version", + "readme", +] dependencies = [ "pywin32; sys_platform == 'win32'", ] @@ -47,6 +50,7 @@ include = ["cuda*"] [tool.setuptools.dynamic] version = { attr = "cuda.bindings._version.__version__" } +readme = { file = ["DESCRIPTION.rst"], content-type = "text/x-rst" } [tool.ruff] line-length = 120 diff --git a/cuda_core/README.md b/cuda_core/README.md index de68bc9e..534cdb8f 100644 --- a/cuda_core/README.md +++ b/cuda_core/README.md @@ -4,7 +4,7 @@ Currently under active development; see [the documentation](https://nvidia.githu ## Installing -TO build from source, just do: +To build from source, just do: ```shell $ git clone https://github.com/NVIDIA/cuda-python $ cd cuda-python/cuda_core # move to the directory where this README locates From b90f2df58e9dccfd5aa549e90cff5f590320f712 Mon Sep 17 00:00:00 2001 From: Vladislav Zhurba Date: Wed, 15 Jan 2025 11:06:24 -0800 Subject: [PATCH 2/3] Replace wrong name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c736f5fa..813ed5f4 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,6 @@ The list of available interfaces are: ## Supported Python Versions -All `cuda-bindings` subpackages follows [NEP 29](https://numpy.org/neps/nep-0029-deprecation_policy.html) for supported Python version guarantee. +All `cuda-python` subpackages follows [NEP 29](https://numpy.org/neps/nep-0029-deprecation_policy.html) for supported Python version guarantee. Before dropping support, an issue will be raised for an advanced notice. From 051255027e0a8b1f2f6516fdd6aaba3faa817a78 Mon Sep 17 00:00:00 2001 From: Vladislav Zhurba Date: Wed, 15 Jan 2025 12:00:01 -0800 Subject: [PATCH 3/3] Update that support is for CPython EOL schedule --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 813ed5f4..79200a13 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,6 @@ The list of available interfaces are: ## Supported Python Versions -All `cuda-python` subpackages follows [NEP 29](https://numpy.org/neps/nep-0029-deprecation_policy.html) for supported Python version guarantee. +All `cuda-python` subpackages follows CPython [End-Of-Life](https://devguide.python.org/versions/) schedule for supported Python version guarantee. -Before dropping support, an issue will be raised for an advanced notice. +Before dropping support there will be an issue raised as a notice.