diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml
index e1552ae83..6b90dbd53 100644
--- a/.github/actions/build/action.yml
+++ b/.github/actions/build/action.yml
@@ -44,6 +44,12 @@ runs:
$CHOWN -R $(whoami) ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
ls -lahR ${{ env.CUDA_CORE_ARTIFACTS_DIR }}
+ - name: Check cuda.core wheel
+ shell: bash --noprofile --norc -xeuo pipefail {0}
+ run: |
+ pip install twine
+ twine check ${{ env.CUDA_CORE_ARTIFACTS_DIR }}/*.whl
+
- name: Upload cuda.core build artifacts
uses: actions/upload-artifact@v4
with:
@@ -82,6 +88,12 @@ runs:
$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
+ # shell: bash --noprofile --norc -xeuo pipefail {0}
+ # run: |
+ # twine check ${{ env.CUDA_BINDINGS_ARTIFACTS_DIR }}/*.whl
+
- name: Upload cuda.bindings build artifacts
uses: actions/upload-artifact@v4
with:
diff --git a/cuda_core/DESCRIPTION.rst b/cuda_core/DESCRIPTION.rst
new file mode 100644
index 000000000..73f0b9069
--- /dev/null
+++ b/cuda_core/DESCRIPTION.rst
@@ -0,0 +1,27 @@
+*******************************************************
+cuda-core: Pythonic access to CUDA core functionalities
+*******************************************************
+
+`cuda.core `_ bridges Python's productivity
+with CUDA's performance through intuitive and pythonic APIs.
+The mission is to provide users full access to all of the core CUDA features in Python,
+such as runtime control, compiler and linker.
+
+* `Repository `_
+* `Documentation `_
+* `Examples `_
+* `Issue tracker `_
+
+`cuda.core` is currently under active development. Any feedbacks or suggestions are welcomed!
+
+
+Installation
+============
+
+.. code-block:: bash
+
+ pip install cuda-core[cu12]
+
+Please refer to the `installation instructions
+`_ for different
+ways of installing `cuda.core`, including building from source.
diff --git a/cuda_core/README.md b/cuda_core/README.md
index 6545eef77..f66d05e1b 100644
--- a/cuda_core/README.md
+++ b/cuda_core/README.md
@@ -1,6 +1,6 @@
# `cuda.core`: (experimental) pythonic CUDA module
-Currently under active developmen; see [the documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) for more details.
+Currently under active development; see [the documentation](https://nvidia.github.io/cuda-python/cuda-core/latest/) for more details.
## Installing
diff --git a/cuda_core/docs/source/install.md b/cuda_core/docs/source/install.md
index e13f37df2..42b78b73a 100644
--- a/cuda_core/docs/source/install.md
+++ b/cuda_core/docs/source/install.md
@@ -12,6 +12,16 @@ dependencies are as follows:
[^1]: Including `cuda-python`.
+## Installing from PyPI
+
+`cuda.core` works with `cuda.bindings` (part of `cuda-python`) 11 or 12. For example with CUDA 12:
+```console
+$ pip install cuda-core[cu12]
+```
+and likewise use `[cu11]` for CUDA 11.
+
+Note that using `cuda.core` with NVRTC or nvJitLink installed from PyPI via `pip install` is currently
+not supported. This will be fixed in a future release.
## Installing from Source
diff --git a/cuda_core/docs/source/release/0.1.1-notes.md b/cuda_core/docs/source/release/0.1.1-notes.md
index deb3fb0fa..56cdc161a 100644
--- a/cuda_core/docs/source/release/0.1.1-notes.md
+++ b/cuda_core/docs/source/release/0.1.1-notes.md
@@ -17,6 +17,8 @@ Released on Dec XX, 2024
- All APIs are currently *experimental* and subject to change without deprecation notice.
Please kindly share your feedbacks with us so that we can make `cuda.core` better!
+- Using `cuda.core` with NVRTC or nvJitLink installed from PyPI via `pip install` is currently
+ not supported. This will be fixed in a future release.
- Some `LinkerOptions` are only available when using a modern version of CUDA. When using CUDA <12,
the backend is the cuLink api which supports only a subset of the options that nvjitlink does.
Further, some options aren't available on CUDA versions <12.6
diff --git a/cuda_core/pyproject.toml b/cuda_core/pyproject.toml
index 6993825f3..6573d9118 100644
--- a/cuda_core/pyproject.toml
+++ b/cuda_core/pyproject.toml
@@ -20,7 +20,7 @@ authors = [
]
license = {text = "NVIDIA Software License"}
classifiers = [
- "Development Status :: 3 - Alpha",
+ "Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Intended Audience :: End Users/Desktop",
@@ -36,6 +36,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Environment :: GPU :: NVIDIA CUDA",
"Environment :: GPU :: NVIDIA CUDA :: 11",
@@ -43,18 +44,25 @@ classifiers = [
]
dependencies = [
"numpy",
- # TODO: change this once cuda-bindings is packaged, see NVIDIA/cuda-python#105
- "cuda-python <13",
]
+[project.optional-dependencies]
+# TODO: change this once cuda-bindings is packaged, see NVIDIA/cuda-python#105
+cu11 = ["cuda-python==11.8.*"]
+cu12 = ["cuda-python==12.*"]
+
+[project.urls]
+homepage = "https://nvidia.github.io/cuda-python/"
+documentation = "https://nvidia.github.io/cuda-python/cuda-core/"
+repository = "https://github.com/NVIDIA/cuda-python/tree/main/cuda_core"
+issues = "https://github.com/NVIDIA/cuda-python/issues/"
[tool.setuptools.packages.find]
include = ["cuda.core*"]
-
[tool.setuptools.dynamic]
version = { attr = "cuda.core._version.__version__" }
-readme = { file = ["README.md"], content-type = "text/markdown" }
+readme = { file = ["DESCRIPTION.rst"], content-type = "text/x-rst" }
[tool.ruff]
line-length = 120