Skip to content

Allow opaque CUDA objects to compare equal if the underlying address is the same #769

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
Jul 23, 2025

Conversation

leofang
Copy link
Member

@leofang leofang commented Jul 21, 2025

Description

closes #465

merge after #768

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@leofang leofang self-assigned this Jul 21, 2025
@github-project-automation github-project-automation bot moved this to Todo in CCCL Jul 21, 2025
Copy link
Contributor

copy-pr-bot bot commented Jul 21, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@leofang leofang added this to the cuda-python 12-next, 11-next milestone Jul 21, 2025
@leofang leofang added enhancement Any code-related improvements P1 Medium priority - Should do cuda.bindings Everything related to the cuda.bindings module labels Jul 21, 2025
@leofang leofang requested review from oleksandr-pavlyk and rwgk July 22, 2025 02:47
@leofang
Copy link
Member Author

leofang commented Jul 22, 2025

/ok to test 2dd757f

@leofang leofang marked this pull request as ready for review July 22, 2025 02:48

This comment has been minimized.

@leofang
Copy link
Member Author

leofang commented Jul 23, 2025

/ok to test 4db82a9

@leofang
Copy link
Member Author

leofang commented Jul 23, 2025

/ok to test 8219161

Copy link
Contributor

@oleksandr-pavlyk oleksandr-pavlyk left a comment

Choose a reason for hiding this comment

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

LGTM!

@github-project-automation github-project-automation bot moved this from Todo to In Review in CCCL Jul 23, 2025
@kkraus14 kkraus14 merged commit 173733b into NVIDIA:main Jul 23, 2025
102 of 103 checks passed
@github-project-automation github-project-automation bot moved this from In Review to Done in CCCL Jul 23, 2025
Copy link

Doc Preview CI
Preview removed because the pull request was closed or merged.

leofang pushed a commit to leofang/cuda-python that referenced this pull request Aug 4, 2025
leofang added a commit that referenced this pull request Aug 6, 2025
* Propagate generated path finder changes

* Rebase to 13.0 RC14

* Update license headers on examples

* Regenerate after merging upstream

* Update benchmarks and run pre-commit

* cython-gen output, NO manual changes

* Bump cuda/bindings/_version.py → 13.0.0

* `path_finder` and cybind updates for CTK 13.0 (#81)

* Update SUPPORTED_WINDOWS_DLLS: kitpicks/cuda-r13-0/13.0.0/013/local_installers/cuda_13.0.0_windows.exe

* Update SUPPORTED_LINUX_SONAMES: kitpicks/cuda-r13-0/13.0.0/013/local_installers/cuda_13.0.0_580.31_linux.run

* 013 → 014: SUPPORTED_LINUX_SONAMES unchanged

* 013 → 014: SUPPORTED_WINDOWS_DLLS unchanged

* cybind update with 13.0.0 headers (014)

* Bump cuda/bindings/_version.py → 13.0.0

* test_nvjitlink.py: remove sm_60, add sm_100

* Updates from cybind after removing all 11.x headers (affects "automatically generated" comments only).

* Add new toolshed/reformat_cuda_enums_as_py.py (reads cuda.h, driver_types.h headers directly).

* Use new toolshed/reformat_cuda_enums_as_py.py to regenerate driver_cu_result_explanations.py, runtime_cuda_error_explanations.py

* Use `driver.cuDeviceGetUuid()` instead of `driver.cuDeviceGetUuid_v2()` with CTK 13.

* Adjustments for locating nvvm directory in CTK 13 installations.

* Fixes from windows testing (#89)

* Add missing error handling (tests/test_nvjitlink.py)

* Add missing `const` in cudaMemcpyBatchAsync call (cuda/bindings/runtime.pyx.in)

* Add qa/13.0.0/01_linux.sh

* Remove qa/13.0.0/01_linux.sh after it was moved to a new upstream qa branch.

* Strictly correct casts for cudaMemcpyBatchAsync (generated by cython_gen).

* Pragmatic minimal fix for cudaMemcpyBatchAsync casts (works with Linux and
Windows). (generated with cython-gen)

* print *prog pointers in nvrtcCreateProgram, nvrtcCompileProgram bindings

* Remove stray `"nvrtc64_*_0.alt.dll"` entries in `SUPPORTED_WINDOWS_DLLS`

* Revert "print *prog pointers in nvrtcCreateProgram, nvrtcCompileProgram bindings"

This reverts commit 104abbd.

* _find_lib_dir_using_cuda_home(): Windows CTK 13 → bin\x64

* getLocalRuntimeVersion(): Search for libcudart.so.13

* SUPPORTED_LINUX_SONAMES: Add CTK 13 soname values

* Update path_finder/supported_libs.py from kitpicks 13.0.0/025 (#96)

* Linux update from cuda_13.0.0_580.46_kitpicks025_linux.run: no-op b/o NVIDIA/cuda-python-private#95

* Windows update from cuda_13.0.0_kitpicks025_windows.exe

* This trivial change should have been included in PR #81, but was overlooked. Direct commit for simplicity.

* cuda_core forward compatibility changes (private development branch) (#94)

* CCCL_INCLUDE_PATH fixes in test_event.py, test_launcher.py

* Add new file (accidentally missing in a prior commit).

* Fix pre-commit errors in new tests/helpers.py

* 12→13 compatibility fixes in cuda/core/experimental/_graph.py

* CTK 12 compatibility (tests/test_cuda_utils.py)

* Make the cuda/core/experimental/_graph.py changes backwards compatible.

* Do not try to hide `13` in cuda_core/tests/test_cuda_utils.py

* More elegant handling of `CCCL_INCLUDE_PATHS` in cuda_core/tests/helpers.py

* Remove stray empty line (cuda_core/tests/conftest.py).

* Fix logic error computing CCCL_INCLUDE_PATHS in cuda_core/tests/helpers.py

* Fix `cuda_bindings` and `cuda_core` examples  (#98)

* Unmask globalToShmemAsyncCopy_test.py error: explicit pytest_skipif_cuda_include_not_found(), pytest_skipif_compute_capability_too_low()

* Update cuda_bindings/examples/common/common.py for CTK 13 compatibility, to fix globalToShmemAsyncCopy_test.py

* Update cuda_core/examples/thread_block_cluster.py for CTK 13 compatibility.

* Update driver_cu_result_explanations.py, runtime_cuda_error_explanations.py (#100)

* kitpicks/cuda-r13-0/13.0.0/033: CUDA_HOME=/usr/local/cuda python cython_gen.py --target-lib driver runtime nvrtc --out ../unreleased-13.0 (#107)

* Update cuda_pathfinder supported_nvidia_libs.py from kitpicks 13.0.0/036 (NO CHANGES compared to 025)

* Update driver_cu_result_explanations.py, runtime_cuda_error_explanations.py from kitpicks 13.0.0/036 (NO CHANGES compared to 025)

* Update cuda_pathfinder supported_nvidia_libs.py EXPECTED_LIB_SYMBOLS for libnpp*

The newly chosen symbols appear in all CTK 12.x releases and 13.0.0:

https://gitlab-master.nvidia.com/rgrossekunst/rwgk_config_nvidia/-/blob/a1c2f29decd9b93fc7af9611bdc60565446b0cd3/bin/check_libnpp_symbols.sh

* cython-gen changes due to PR #101 (#115)

* cython-gen changes due to release_gil_revert_leos_commits_fix_cast_error (#116)

* cython-gen changes due to cython-gen PR #118 (#120)

* test_cufile.py: pytest.skip("NEEDS DEBUGGING (unreleased-13.0)")

* cython-gen changes on top of `git merge world-main -X ours` product.

* Add missing imports (related to #769). These got lost due to merging with `-X ours`

* Revert obsolete aec7d10

Made obsolete by #778

* Remove cuda_bindings/site-packages entirely.

* Change test_batch_io_large_operations to avoid a flood of output (`assert read_data == expected_data` failure).

* Remove `(scope="module")` from `cufile_env_json` fixture: resolves test_batch_io_large_operations failure.

* [unreleased-13.0] `test_cufile.py`: Remove fallback to `/etc/cufile.json` (#126)

* test_cufile.py: NEVER USE /etc/cufile.json

* Remove /etc/cufile.json code entirely.

* update win driver to 580.88

* change backport branch to 12.9.x

* update build ver to 13.0.0

* crt headers are now split from cudart (or nvcc?)

* remove the outdated cufile skip condition (it was buggy anyway)

* remove 11.8 CI and add 13.0 CI

* update cuda-bindings optional dependencies

* update release notes

* update cuda-bindings docs

* update cuda-python docs

* libnvvm is also split out

* ensure using sanitizer from the latest release of the same major ver

* Remove -cu12 suffixes and add nvidia-nvvm in cuda_pathfinder/pyproject.toml. Make related changes in .github/workflows

* fix backport branch's ci name

* restore nvidia_wheels_cu12

* remove tests

* always test 12.9.x with the latest driver

* ensure fetch_ctk works with 12.x

* Fix Linux libnvvm site-packages search for CTK 13

CTK 12: site-packages/nvidia/cuda_nvcc/nvvm/lib64/libnvvm.so
CTK 13: site-packages/nvidia/cu13/lib/libnvvm.so.4

* update docs

* add PTX ISA 9.0 to utils

* sync 13.0.0 docs

* Fix Windows site-packages search for CTK 13

* Also add "nvidia-nvvm~=13.0" in cuda_bindings/pyproject.toml

* Add _work_around_known_bugs() in load_dl_linux.py

To resolve this issue: #792 (comment)

* driver_cu_result_explanations.py, runtime_cuda_error_explanations.py refresh (no-op)

* SUPPORTED_LINUX_SONAMES refresh (no-op)

* SUPPORTED_WINDOWS_DLLS refresh (no-op)

* Update generated files: nvjitlink, nvvm (trivial changes, functional no-op)

* update release dates

---------

Co-authored-by: Vladislav Zhurba <[email protected]>
Co-authored-by: Vladislav Zhurba <[email protected]>
Co-authored-by: Ralf W. Grosse-Kunstleve <[email protected]>
Co-authored-by: Ralf W. Grosse-Kunstleve <[email protected]>
Co-authored-by: Robert Maynard <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cuda.bindings Everything related to the cuda.bindings module enhancement Any code-related improvements P1 Medium priority - Should do
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

CUstream does not compare when the underlying pointer is the same
4 participants