Skip to content

Prepare for wheel release + populate PyPI page information #296

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Dec 13, 2024
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
12 changes: 12 additions & 0 deletions .github/actions/build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
27 changes: 27 additions & 0 deletions cuda_core/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
*******************************************************
cuda-core: Pythonic access to CUDA core functionalities
*******************************************************

`cuda.core <https://nvidia.github.io/cuda-python/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 <https://github.com/NVIDIA/cuda-python/tree/main/cuda_core>`_
* `Documentation <https://nvidia.github.io/cuda-python/cuda-core/>`_
* `Examples <https://github.com/NVIDIA/cuda-python/tree/main/cuda_core/examples>`_
* `Issue tracker <https://github.com/NVIDIA/cuda-python/issues/>`_

`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
<https://nvidia.github.io/cuda-python/cuda-core/latest/install.html>`_ for different
ways of installing `cuda.core`, including building from source.
2 changes: 1 addition & 1 deletion cuda_core/README.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down
10 changes: 10 additions & 0 deletions cuda_core/docs/source/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 2 additions & 0 deletions cuda_core/docs/source/release/0.1.1-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
18 changes: 13 additions & 5 deletions cuda_core/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -36,25 +36,33 @@ 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",
"Environment :: GPU :: NVIDIA CUDA :: 12",
]
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
Expand Down
Loading