Skip to content
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

Patch 12.6.2 #217

Merged
merged 2 commits into from
Nov 6, 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ cuda_bindings/cuda/bindings/_bindings/cydriver.pxd
cuda_bindings/cuda/bindings/_bindings/cydriver.pyx
cuda_bindings/cuda/bindings/_bindings/cynvrtc.pxd
cuda_bindings/cuda/bindings/_bindings/cynvrtc.pyx
cuda_bindings/cuda/bindings/_internal/nvjitlink.pyx
cuda_bindings/cuda/bindings/_lib/cyruntime/cyruntime.pxd
cuda_bindings/cuda/bindings/_lib/cyruntime/cyruntime.pyx
cuda_bindings/cuda/bindings/_lib/cyruntime/utils.pxd
Expand Down
5 changes: 5 additions & 0 deletions cuda_bindings/cuda/ccuda.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@ cdef extern from *:
#pragma message ( "The cuda.ccuda module is deprecated and will be removed in a future release, " \
"please switch to use the cuda.bindings.cydriver module instead." )
"""


from cuda.bindings import cydriver
__pyx_capi__ = cydriver.__pyx_capi__
del cydriver
5 changes: 5 additions & 0 deletions cuda_bindings/cuda/ccudart.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@ cdef extern from *:
#pragma message ( "The cuda.ccudart module is deprecated and will be removed in a future release, " \
"please switch to use the cuda.bindings.cyruntime module instead." )
"""


from cuda.bindings import cyruntime
__pyx_capi__ = cyruntime.__pyx_capi__
del cyruntime
5 changes: 5 additions & 0 deletions cuda_bindings/cuda/cnvrtc.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@ cdef extern from *:
#pragma message ( "The cuda.cnvrtc module is deprecated and will be removed in a future release, " \
"please switch to use the cuda.bindings.cynvrtc module instead." )
"""


from cuda.bindings import cynvrtc
__pyx_capi__ = cynvrtc.__pyx_capi__
del cynvrtc
2 changes: 2 additions & 0 deletions cuda_bindings/docs/source/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
maxdepth: 3
---

12.6.2 <release/12.6.2-notes>
12.6.1 <release/12.6.1-notes>
12.6.0 <release/12.6.0-notes>
12.5.0 <release/12.5.0-notes>
Expand All @@ -14,6 +15,7 @@ maxdepth: 3
12.2.0 <release/12.2.0-notes>
12.1.0 <release/12.1.0-notes>
12.0.0 <release/12.0.0-notes>
11.8.5 <release/11.8.5-notes>
11.8.4 <release/11.8.4-notes>
11.8.3 <release/11.8.3-notes>
11.8.2 <release/11.8.2-notes>
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.4.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on August 16, 2021

## Hightlights
## Highlights
- Initial EA release for CUDA Python
- Supports all platforms that CUDA is supported
- Supports all CUDA 11.x releases
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.5.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on October 18, 2021

## Hightlights
## Highlights
- PyPi support
- Conda support
- GA release for CUDA Python
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.6.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on Januray 12, 2022

## Hightlights
## Highlights
- Support CUDA Toolkit 11.6
- Support Profiler APIs
- Support Graphic APIs (EGL, GL, VDPAU)
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.6.1-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on March 18, 2022

## Hightlights
## Highlights
- Fix string decomposition for WSL library load

## Limitations
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.7.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on May 11, 2022

## Hightlights
## Highlights
- Support CUDA Toolkit 11.7

## Limitations
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.7.1-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on June 29, 2022

## Hightlights
## Highlights
- Fix error propagation in CUDA Runtime bindings
- Resolves [issue #22](https://github.com/NVIDIA/cuda-python/issues/22)

Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.8.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on October 3, 2022

## Hightlights
## Highlights
- Support CUDA Toolkit 11.8
- Source builds allow for missing types and APIs
- Resolves source builds for mobile platforms
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.8.1-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on November 4, 2022

## Hightlights
## Highlights
- Resolves [issue #27](https://github.com/NVIDIA/cuda-python/issues/27)
- Update install instructions to use latest CTK

Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.8.2-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on May 18, 2023

## Hightlights
## Highlights
- Open libcuda.so.1 instead of libcuda.so

## Limitations
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/11.8.3-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on October 23, 2023

## Hightlights
## Highlights
- Compatability with Cython 3
- New API cudart.getLocalRuntimeVersion()
- Modernize build config
Expand Down
24 changes: 23 additions & 1 deletion cuda_bindings/docs/source/release/11.8.4-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,34 @@

Released on October 7, 2024

## Hightlights
## Highlights
- Resolve [Issue #89](https://github.com/NVIDIA/cuda-python/issues/89): Fix getLocalRuntimeVersion searching for wrong libcudart version
- Resolve [Issue #90](https://github.com/NVIDIA/cuda-python/issues/90): Use new layout in preperation for cuda-python becoming a metapackage

## CUDA namespace cleanup with a new module layout

[Issue #75](https://github.com/NVIDIA/cuda-python/issues/75) explains in detail what the new module layout is, what problem it fixes and how it impacts the users. However for the sake of completeness, this release notes will highlight key points of this change.

Before this change, `cuda-python` was tightly coupled to CUDA Toolkit releases and all new features would inherit this coupling regardless of their applicability. As we develop new features, this coupling was becoming overly restrictive and motivated a new solution: Convert `cuda-python` into a metapackage where we use `cuda` as a namespace with existing bindings code moved to a `cuda_bindings` subpackage.

This patch release applies the new module layout for the bindings as follows:
- `cuda.cuda` -> `cuda.bindings.driver`
- `cuda.ccuda` -> `cuda.bindings.cydriver`
- `cuda.cudart` -> `cuda.bindings.runtime`
- `cuda.ccudart` -> `cuda.bindings.cyruntime`
- `cuda.nvrtc` -> `cuda.bindings.nvrtc`
- `cuda.cnvrtc` -> `cuda.bindings.cynvrtc`

Deprecation warnings are turned on as a notice to switch to the new module layout.

```{note} This is non-breaking, backwards compatible change. All old module path will continue work as they "forward" user calls towards the new layout.
```

## Limitations

### Know issues
- [Issue #215](https://github.com/NVIDIA/cuda-python/issues/215)

### CUDA Functions Not Supported in this Release

- Symbol APIs
Expand Down
31 changes: 31 additions & 0 deletions cuda_bindings/docs/source/release/11.8.5-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# CUDA Python 11.8.5 Release notes

Released on November 5, 2024

## Highlights
- Resolve [Issue #215](https://github.com/NVIDIA/cuda-python/issues/215): module 'cuda.ccudart' has no attribute '__pyx_capi__'

## Limitations

### CUDA Functions Not Supported in this Release

- Symbol APIs
- cudaGraphExecMemcpyNodeSetParamsFromSymbol
- cudaGraphExecMemcpyNodeSetParamsToSymbol
- cudaGraphAddMemcpyNodeToSymbol
- cudaGraphAddMemcpyNodeFromSymbol
- cudaGraphMemcpyNodeSetParamsToSymbol
- cudaGraphMemcpyNodeSetParamsFromSymbol
- cudaMemcpyToSymbol
- cudaMemcpyFromSymbol
- cudaMemcpyToSymbolAsync
- cudaMemcpyFromSymbolAsync
- cudaGetSymbolAddress
- cudaGetSymbolSize
- cudaGetFuncBySymbol
- Launch Options
- cudaLaunchKernel
- cudaLaunchCooperativeKernel
- cudaLaunchCooperativeKernelMultiDevice
- cudaSetValidDevices
- cudaVDPAUSetVDPAUDevice
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/12.0.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on December 8, 2022

## Hightlights
## Highlights
- Rebase to CUDA Toolkit 12.0
- Fix example from [MR28](https://github.com/NVIDIA/cuda-python/pull/28)
- Apply [MR35](https://github.com/NVIDIA/cuda-python/pull/35)
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/12.1.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on February 28, 2023

## Hightlights
## Highlights
- Rebase to CUDA Toolkit 12.1
- Resolve [Issue #41](https://github.com/NVIDIA/cuda-python/issues/41): Add support for Python 3.11
- Resolve [Issue #42](https://github.com/NVIDIA/cuda-python/issues/42): Dropping Python 3.7
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/12.2.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on June 28, 2023

## Hightlights
## Highlights
- Rebase to CUDA Toolkit 12.2
- Resolve [Issue #44](https://github.com/NVIDIA/cuda-python/issues/44): nogil must be at the end of the function signature line
- Resolve [Issue #45](https://github.com/NVIDIA/cuda-python/issues/45): Error with pyparsing when no CUDA is found
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/12.2.1-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on January 8, 2024

## Hightlights
## Highlights
- Compatibility with Cython 3

## Limitations
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/12.3.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on October 19, 2023

## Hightlights
## Highlights
- Rebase to CUDA Toolkit 12.3
- Resolve [Issue #16](https://github.com/NVIDIA/cuda-python/issues/16): cuda.cudart.cudaRuntimeGetVersion() hard-codes the runtime version, rather than querying the runtime
- New API cudart.getLocalRuntimeVersion()
Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/12.4.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on March 5, 2024

## Hightlights
## Highlights
- Rebase to CUDA Toolkit 12.4
- Add PyPI/Conda support for Python 12

Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/12.5.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on May 21, 2024

## Hightlights
## Highlights
- Rebase to CUDA Toolkit 12.5
- Resolve [Issue #58](https://github.com/NVIDIA/cuda-python/issues/58): Interop between CUdeviceptr and Runtime

Expand Down
2 changes: 1 addition & 1 deletion cuda_bindings/docs/source/release/12.6.0-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on August 1, 2024

## Hightlights
## Highlights
- Rebase to CUDA Toolkit 12.6
- Resolve [Issue #32](https://github.com/NVIDIA/cuda-python/issues/32): Add 'pywin32' as Windows requirement
- Resolve [Issue #72](https://github.com/NVIDIA/cuda-python/issues/72): Allow both lists and tuples as parameter
Expand Down
5 changes: 4 additions & 1 deletion cuda_bindings/docs/source/release/12.6.1-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Released on October 7, 2024

## Hightlights
## Highlights
- Resolve [Issue #90](https://github.com/NVIDIA/cuda-python/issues/90): Use new layout in preparation for cuda-python becoming a metapackage
- Resolve [Issue #75](https://github.com/NVIDIA/cuda-python/issues/75): CUDA namespace cleanup

Expand All @@ -27,6 +27,9 @@ Deprecation warnings are turned on as a notice to switch to the new module layou

## Limitations

### Know issues
- [Issue #215](https://github.com/NVIDIA/cuda-python/issues/215)

### CUDA Functions Not Supported in this Release

- Symbol APIs
Expand Down
33 changes: 33 additions & 0 deletions cuda_bindings/docs/source/release/12.6.2-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# CUDA Python 12.6.2 Release notes

Released on November 5, 2024

## Highlights
- Resolve [Issue #215](https://github.com/NVIDIA/cuda-python/issues/215): module 'cuda.ccudart' has no attribute '__pyx_capi__'

## Limitations

### CUDA Functions Not Supported in this Release

- Symbol APIs
- cudaGraphExecMemcpyNodeSetParamsFromSymbol
- cudaGraphExecMemcpyNodeSetParamsToSymbol
- cudaGraphAddMemcpyNodeToSymbol
- cudaGraphAddMemcpyNodeFromSymbol
- cudaGraphMemcpyNodeSetParamsToSymbol
- cudaGraphMemcpyNodeSetParamsFromSymbol
- cudaMemcpyToSymbol
- cudaMemcpyFromSymbol
- cudaMemcpyToSymbolAsync
- cudaMemcpyFromSymbolAsync
- cudaGetSymbolAddress
- cudaGetSymbolSize
- cudaGetFuncBySymbol
- Launch Options
- cudaLaunchKernel
- cudaLaunchCooperativeKernel
- cudaLaunchCooperativeKernelMultiDevice
- cudaSetValidDevices
- cudaVDPAUSetVDPAUDevice
- cudaFuncGetName
- cudaFuncGetParamInfo
6 changes: 2 additions & 4 deletions cuda_bindings/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,8 +269,6 @@ def do_cythonize(extensions):
["cuda/bindings/*.pyx"],
# public (deprecated, to be removed)
["cuda/*.pyx"],
# tests
["tests/*.pyx"],
# interal files used by generated bindings
['cuda/bindings/_internal/nvjitlink.pyx'],
['cuda/bindings/_internal/utils.pyx'],
Expand Down Expand Up @@ -304,9 +302,9 @@ def finalize_options(self):
setup(
version=versioneer.get_version(),
ext_modules=do_cythonize(extensions),
packages=find_packages(include=["cuda.cuda", "cuda.cuda.*", "cuda.cuda.bindings", "cuda.cuda.bindings._bindings", "cuda.cuda.bindings._lib", "cuda.cuda.bindings._lib.cyruntime", "cuda.cuda.bindings._internal", "tests"]),
packages=find_packages(include=["cuda", "cuda.*", "cuda.bindings", "cuda.bindings._bindings", "cuda.bindings._lib", "cuda.bindings._lib.cyruntime", "cuda.bindings._internal"]),
package_data=dict.fromkeys(
find_packages(include=["cuda.cuda", "cuda.cuda.*", "cuda.cuda.bindings", "cuda.cuda.bindings._bindings", "cuda.cuda.bindings._lib", "cuda.cuda.bindings._lib.cyruntime", "cuda.cuda.bindings._internal", "tests"]),
find_packages(include=["cuda", "cuda.*", "cuda.bindings", "cuda.bindings._bindings", "cuda.bindings._lib", "cuda.bindings._lib.cyruntime", "cuda.bindings._internal"]),
["*.pxd", "*.pyx", "*.py", "*.h", "*.cpp"],
),
Comment on lines 302 to 309
Copy link
Member

Choose a reason for hiding this comment

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

@vzhurba01 I guess I missed this during review -- were these changes needed as part of the hot fix?

In any case, I think this might have to do with the package_data issue that you hit in #215 (comment). I had a similar observation for cuda.core, and the solution was highlighted here: #171 (comment). I think we have two ways:

  1. Revert the changes in setup.py (given that it built fine in the previous patch release)
  2. Apply the same treatment in cuda.core here.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

(1) isn't quite true. While that build did work, the posted Windows packages for 11.8.4 and 12.6.1 are both missing all the wildcard files.

(2) Thanks for the pointer. I tried an iteration of something similar, but with whatever I tried I couldn't quite get it to stick. It wasn't identical to what you have there, so I'll try again as soon as I get the chance! 🙏

cmdclass=cmdclass,
Expand Down