Repository navigation
Conversation
📝 Summary
Priority: ➖ Normal Change: Other Merge Risk: 🟡 Moderate · up to
|
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository: NVIDIA/cuda-python/.coderabbit.yaml
- Review profile: CHILL
- Plan: Enterprise
- Run ID:
71519d4f-cb36-4799-aa1a-f1d7eac9d187
📒 Files selected for processing: 77
.github/actions/check-doc-links/action.yml.github/workflows/build-wheel.yml.github/workflows/test-wheel-linux.yml.github/workflows/test-wheel-windows.ymlci/ci-pipeline.mmdci/tools/download-wheelscuda_bindings/pixi.tomlcuda_bindings/pyproject.tomlcuda_core/AGENTS.mdcuda_core/cuda/core/_cpp/rt/DESIGN.mdcuda_core/cuda/core/_memory/_copy_enums.pycuda_core/cuda/core/_utils/cuda_utils.pyxcuda_core/cuda/core/_utils/pycompat.pycuda_core/cuda/core/system/typing.pycuda_core/pixi.tomlcuda_core/tests/graph/test_graph_builder.pycuda_core/tests/test_enum_coverage.pycuda_core/tests/test_error_handling.pycuda_python_test_helpers/pyproject.tomlsamples/cuda_bindings/0_Introduction/clockNvrtc/README.mdsamples/cuda_bindings/0_Introduction/simpleCubemapTexture/README.mdsamples/cuda_bindings/0_Introduction/systemWideAtomics/README.mdsamples/cuda_bindings/0_Introduction/vectorAddDriverApi/README.mdsamples/cuda_bindings/0_Introduction/vectorAddMmap/README.mdsamples/cuda_bindings/2_Concepts_and_Techniques/streamOrderedAllocation/README.mdsamples/cuda_bindings/3_CUDA_Features/cudaGraphsManualNodes/README.mdsamples/cuda_bindings/3_CUDA_Features/globalToShmemAsyncCopy/README.mdsamples/cuda_bindings/4_CUDA_Libraries/conjugateGradientMultiBlockCG/README.mdsamples/cuda_bindings/4_CUDA_Libraries/nvidiaSmi/README.mdsamples/cuda_bindings/extra/isoFdModelling/README.mdsamples/cuda_bindings/extra/jitProgram/README.mdsamples/cuda_core/binarySearch/README.mdsamples/cuda_core/blockwiseSum/README.mdsamples/cuda_core/blurImageUnifiedMemory/README.mdsamples/cuda_core/copyImageArraytoGPU/README.mdsamples/cuda_core/cudaComputeLambdas/README.mdsamples/cuda_core/cudaGraphs/README.mdsamples/cuda_core/customPyTorchKernel/README.mdsamples/cuda_core/customTensorFlowKernel/README.mdsamples/cuda_core/deviceQuery/README.mdsamples/cuda_core/fftSignalAnalysis/README.mdsamples/cuda_core/glInteropFluid/README.mdsamples/cuda_core/glInteropMipmapLod/README.mdsamples/cuda_core/glInteropPlasma/README.mdsamples/cuda_core/greenContext/README.mdsamples/cuda_core/ipcMemoryPool/README.mdsamples/cuda_core/jitLtoLinking/README.mdsamples/cuda_core/kernelNsysProfile/README.mdsamples/cuda_core/launchConfigTuning/README.mdsamples/cuda_core/launchConfigTuning/requirements.txtsamples/cuda_core/matrixMulSharedMem/README.mdsamples/cuda_core/memoryResources/README.mdsamples/cuda_core/multiGPUGradientAverage/README.mdsamples/cuda_core/pageRank/README.mdsamples/cuda_core/parallelHistogram/README.mdsamples/cuda_core/parallelHistogram/requirements.txtsamples/cuda_core/parallelReduction/README.mdsamples/cuda_core/persistentProgramCache/README.mdsamples/cuda_core/prefixSum/README.mdsamples/cuda_core/prefixSum/requirements.txtsamples/cuda_core/processCheckpoint/README.mdsamples/cuda_core/reduction/README.mdsamples/cuda_core/reductionMultiBlockCG/README.mdsamples/cuda_core/simpleMultiGpu/README.mdsamples/cuda_core/simpleP2P/README.mdsamples/cuda_core/simplePrint/README.mdsamples/cuda_core/simpleZeroCopy/README.mdsamples/cuda_core/streamingCopyComputeOverlap/README.mdsamples/cuda_core/streamingCopyComputeOverlap/requirements.txtsamples/cuda_core/stridedMemoryViewConstructors/README.mdsamples/cuda_core/stridedMemoryViewCpu/README.mdsamples/cuda_core/stridedMemoryViewGpu/README.mdsamples/cuda_core/systemInfo/README.mdsamples/cuda_core/textureSample/README.mdsamples/cuda_core/threadBlockCluster/README.mdsamples/cuda_core/tmaTensorMap/README.mdsamples/cuda_core/vectorAdd/README.md
💤 Files with no reviewable changes: 5
- cuda_bindings/pixi.toml
- cuda_core/tests/test_enum_coverage.py
- cuda_core/pixi.toml
- cuda_bindings/pyproject.toml
- cuda_python_test_helpers/pyproject.toml
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository: NVIDIA/cuda-python/.coderabbit.yaml
- Review profile: CHILL
- Plan: Enterprise
- Run ID:
d221f98e-9aed-411f-9400-ef784dabcbf3
📒 Files selected for processing: 7
.github/workflows/test-wheel-linux.yml.github/workflows/test-wheel-windows.ymlcuda_bindings/pyproject.tomlcuda_core/pyproject.tomlcuda_pathfinder/pyproject.tomlcuda_pathfinder/tests/test_find_nvidia_headers.pycuda_python/pyproject.toml
💤 Files with no reviewable changes: 2
- .github/workflows/test-wheel-linux.yml
- .github/workflows/test-wheel-windows.yml
🚧 Files skipped from review as they are similar to previous changes: 1
- cuda_bindings/pyproject.toml
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 8 remain after this review.
| "pyglet==2.1.14", | ||
| # TODO: remove the Python 3.15 guard once 3.15 is officially supported | ||
| "cffi==2.0.0; python_version < '3.15'", | ||
| "cffi==2.0.0", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
set -eu
printf '%s\n' '--- pyproject dependency context ---'
nl -ba cuda_core/pyproject.toml | sed -n '1,125p'
printf '%s\n' '--- Python 3.15 and cffi references ---'
rg -n -F --glob '!**/.git/**' -e '3.15' -e 'cffi' . || test "$?" -eq 1
printf '%s\n' '--- diff against supplied merge base ---'
git diff --unified=20 1cd41eabda2bc83e76cbf32ee82495352d08417c 189ae81a2ea6a1272342bb2490cd08084b3dc5c1 -- cuda_core/pyproject.tomlRepository: NVIDIA/cuda-python
Length of output: 24480
🌐 Web query:
official CFFI 2.0.0 Python 3.15 support release documentation
💡 Result:
**CFFI 2.0.0 does not list Python 3.15 support.** Its official release notes say it supports Python 3.14 and free-threaded Python; Python 3.15 support was added in **CFFI 2.1.0**. ([cffi.readthedocs.io](https://cffi.readthedocs.io/en/latest/whatsnew.html))
Official documentation: the [CFFI “What’s New” release notes](https://cffi.readthedocs.io/en/latest/whatsnew.html). The current docs say CFFI is tested with Python 3.10–3.15, but that describes the newer documentation version—not 2.0.0. ([cffi.readthedocs.io](https://cffi.readthedocs.io/en/stable/installation.html))
Citations:
- 1: https://cffi.readthedocs.io/en/latest/whatsnew.html
- 2: https://cffi.readthedocs.io/en/stable/installation.html
important: Use a Python 3.15-compatible CFFI pin.
The test group applies cffi==2.0.0 to the Python 3.15 environments. CFFI 2.0.0 supports Python 3.14, but Python 3.15 support starts with CFFI 2.1.0. The current pin can make dependency installation or CFFI-based tests fail.
Suggested fix
--- "a/cuda_core/pyproject.toml"
+++ "b/cuda_core/pyproject.toml"
@@ -79,7 +79,7 @@
"docutils==0.23",
# Required by tests/test_graphics.py; pinned to match cuda_bindings.
"pyglet==2.1.14",
- "cffi==2.0.0",
+ "cffi==2.1.0",
]
# TODO: drop the Windows 3.15 guard once ml-dtypes publishes cp315 Windows wheels
ml-dtypes = ["ml-dtypes>=0.5.4,<0.6.0; sys_platform != 'win32' or python_version < '3.15'"]📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "cffi==2.0.0", | |
| "cffi==2.1.0", |
This is a follow-on with a bunch of things that got missed in #3080.