Skip to content

Commit 3429cba

Browse files
Prepare for cuda_bindings 3.15 release (#3368)
* git merge --squash forge/ctk-next-public-main-prs/gha-41760261196-1/merge-pr; preserve excluded paths (NO MANUAL CHANGES) * Update versions * Update generated files for CTK 3.15 * Update versions of the CTK * Update release notes * Revert cuda-core cuda-bindings floor update * Make the transition of updating the bindings floor work * Fix type of constants to prevent overflow * Fix cyclical imports * Also fix same bug in CUDA_EGL_INFINITE_TIMEOUT * Update NVML docs --------- Co-authored-by: cuda-python-private-automation[bot] <cuda-python-private-automation[bot]@users.noreply.github.com>
1 parent f707a1f commit 3429cba

93 files changed

Lines changed: 6659 additions & 675 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/test-wheel-linux.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ jobs:
203203

204204
- name: Download cuda.bindings build artifacts
205205
if: ${{ (env.TEST_BINDINGS == 'true' || env.TEST_CORE == 'true' || env.TEST_PYTHON == 'true') &&
206-
env.BINDINGS_SOURCE == 'main' }}
206+
(env.BINDINGS_SOURCE == 'main' || (env.BINDINGS_SOURCE == 'floor' && env.TEST_CORE == 'true')) }}
207207
uses: $/.github/actions/download-artifact-retry
208208
with:
209209
name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}

‎.github/workflows/test-wheel-windows.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ jobs:
194194

195195
- name: Download cuda.bindings build artifacts
196196
if: ${{ (env.TEST_BINDINGS == 'true' || env.TEST_CORE == 'true' || env.TEST_PYTHON == 'true') &&
197-
env.BINDINGS_SOURCE == 'main' }}
197+
(env.BINDINGS_SOURCE == 'main' || (env.BINDINGS_SOURCE == 'floor' && env.TEST_CORE == 'true')) }}
198198
uses: $/.github/actions/download-artifact-retry
199199
with:
200200
name: ${{ env.CUDA_BINDINGS_ARTIFACT_NAME }}

‎.gitignore‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ __pycache__/
88

99
# CUDA Python specific
1010
.cache/
11-
.cython-stdlib
12-
.cython-bindings
11+
.cython-stdlib*
12+
.cython-bindings*
1313
.lycheecache
1414
.lychee-rendered/
1515
.pytest_cache/

‎.pre-commit-config.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ repos:
162162
rev: "3e8a8703264a2f4a69428a0aa4dcb512790b2c8c" # frozen: v6.0.0
163163
hooks:
164164
- id: check-added-large-files
165-
exclude: '^(?:cuda_bindings_13/cuda/bindings/(?:nvml\.pyx|_v2/driver\.pyx)|cuda_bindings_12/cuda/bindings/(?:driver\.pyx|runtime\.pyx\.in|nvml\.pyx))$'
165+
exclude: '^(?:cuda_bindings_13/cuda/bindings/(?:nvml\.pyx|_v2/driver\.pyx)|cuda_bindings_12/cuda/bindings/(?:driver\.pyx|runtime\.pyx\.in|nvml\.pyx)|qa/.*\.svg)$'
166166
- id: check-case-conflict
167167
- id: check-docstring-first
168168
- id: check-merge-conflict

‎.spdx-ignore‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,5 @@ cuda_core/third_party/**
2222
# Generated by stubgen-pyx; regenerated on every commit so a header would be lost
2323
cuda_core/cuda/**/*.pyi
2424

25-
qa/ctk-next.drawio.svg
26-
2725
# Third-party eMudhra disclosure data, kept byte-identical to the published files
2826
ci/tools/runner_trust_probe_chains/**

‎ci/test-matrix.yml‎

Lines changed: 39 additions & 39 deletions
Large diffs are not rendered by default.

‎ci/tools/env-vars‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ elif [[ "${1}" == "test" ]]; then
132132
echo "SKIP_CYTHON_TEST=${SKIP_CYTHON_TEST}"
133133
echo "TEST_CUDA_MAJOR=${TEST_CUDA_MAJOR}"
134134
echo "TEST_CUDA_MINOR=${TEST_CUDA_MINOR}"
135+
echo "BUILD_CUDA_MAJOR=${BUILD_CUDA_MAJOR}"
136+
echo "BUILD_CUDA_MINOR=${BUILD_CUDA_MINOR}"
135137
} >> $GITHUB_ENV
136138
fi
137139

‎ci/tools/run-tests‎

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,24 @@ elif [[ "${test_module}" == "core" || "${test_module}" == nightly-* ]]; then
9898
CORE_WHL_FOR_FLOOR=("${CUDA_CORE_ARTIFACTS_DIR}"/*.whl)
9999
BINDINGS_FLOOR="$(python ci/tools/cuda_core_bindings_floor.py --wheel "${CORE_WHL_FOR_FLOOR[0]}" --major "${TEST_CUDA_MAJOR}")"
100100
echo "cuda-bindings floor of ${CORE_WHL_FOR_FLOOR[0]##*/} for CUDA ${TEST_CUDA_MAJOR}: ${BINDINGS_FLOOR}"
101-
BINDINGS_ARGS+=("cuda-bindings==${BINDINGS_FLOOR}")
101+
BINDINGS_FLOOR_MINOR="$(cut -d '.' -f 2 <<< "${BINDINGS_FLOOR}")"
102+
if [[ "${test_module}" == "core" && "${TEST_CUDA_MAJOR}" == "${BUILD_CUDA_MAJOR}" && "${BINDINGS_FLOOR_MINOR}" -lt "${BUILD_CUDA_MINOR}" ]]; then
103+
# Every CTK minor bump (see "CUDA Toolkit minor bumps" in
104+
# cuda_core/AGENTS.md) opens a window in which the floor's minor is below
105+
# the minor the wheel was compiled against. No released cuda-bindings
106+
# at the floor can pass cuda.core's header check then, because it was
107+
# generated from older headers. Use the cuda-bindings built from this
108+
# commit instead. The branch is taken exactly while that window is open
109+
# and stops being taken once the floor is bumped to the new minor, so it
110+
# needs no per-release edit or revert.
111+
echo "Floor ${BINDINGS_FLOOR} predates CUDA ${BUILD_CUDA_MAJOR}.${BUILD_CUDA_MINOR} headers; using the just-built cuda-bindings wheel"
112+
BINDINGS_ARGS=("${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl)
113+
if [[ "${LOCAL_CTK}" != 1 ]]; then
114+
BINDINGS_ARGS=("${BINDINGS_ARGS[0]}[all]")
115+
fi
116+
else
117+
BINDINGS_ARGS+=("cuda-bindings==${BINDINGS_FLOOR}")
118+
fi
102119
else
103120
BINDINGS_ARGS=("${CUDA_BINDINGS_ARTIFACTS_DIR}"/*.whl)
104121
if [[ "${LOCAL_CTK}" != 1 ]]; then
@@ -128,7 +145,14 @@ elif [[ "${test_module}" == "core" || "${test_module}" == nightly-* ]]; then
128145
echo "Installing core wheel"
129146
# Constrain cuda-toolkit to the requested CTK version to avoid
130147
# pip pulling in a newer nvidia-cuda-runtime that conflicts with it.
131-
pip install "${CORE_WHL[@]}" --group "test-cu${TEST_CUDA_MAJOR}" "${TEST_FT_GROUP[@]}" "cuda-toolkit==${TEST_CUDA_MAJOR_MINOR}.*"
148+
# Skip the constraint for a local CTK of the build's own (newest) minor:
149+
# its toolkit wheels may not be on PyPI yet, and the local CTK is what the
150+
# job tests.
151+
TOOLKIT_PIN=("cuda-toolkit==${TEST_CUDA_MAJOR_MINOR}.*")
152+
if [[ "${LOCAL_CTK}" == 1 && "${TEST_CUDA_MAJOR}" == "${BUILD_CUDA_MAJOR}" && "${TEST_CUDA_MINOR}" == "${BUILD_CUDA_MINOR}" ]]; then
153+
TOOLKIT_PIN=()
154+
fi
155+
pip install "${CORE_WHL[@]}" --group "test-cu${TEST_CUDA_MAJOR}" "${TEST_FT_GROUP[@]}" "${TOOLKIT_PIN[@]}"
132156
# Optional deps needed by some cuda.core samples exercised in this suite.
133157
# CuPy already comes from the
134158
# test-cuXX group; install the rest best-effort so those samples run

‎ci/versions.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ backport_branch: "12.9.x" # keep in sync with target-branch in .github/dependab
88
# solely determined by git tags via setuptools_scm.
99
cuda:
1010
build:
11-
version: "13.4.2"
11+
version: "13.5.0"
1212
prev_build:
1313
version: "12.9.1"
1414

‎cuda_bindings_13/cuda/bindings/_internal/cudla.pxd‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# SPDX-FileCopyrightText: Copyright (c) 2024-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
# This code was automatically generated across versions from 1.5.0 to 13.4.1. Do not modify it directly.
5-
# CYTHON-BINDINGS-GENERATED-DO-NOT-MODIFY-THIS-FILE: format=1; content-sha256=6866708da9b12dc99b597cd56196b66a1f2645198821b572326bb0858b5906d3
4+
# This code was automatically generated across versions from 1.5.0 to 13.5.0. Do not modify it directly.
5+
# CYTHON-BINDINGS-GENERATED-DO-NOT-MODIFY-THIS-FILE: format=1; content-sha256=3e8adcab381ef60e6cce3139d67c8430f058bd1f9d5fedd28ab42f1897113bef
66

77

88
# <<<< PREAMBLE CONTENT >>>>

0 commit comments

Comments
 (0)