Repository navigation
cuda-core experimental namespace deprecation (attempt v1) - #1377
Merged
leofang merged 30 commits intoDec 17, 2025
Merged
Conversation
This commit migrates all code from cuda.core.experimental to cuda.core, completing the deprecation of the experimental namespace. Changes: - Move all files from cuda/core/experimental/ to cuda/core/ - Move include/ directory to _include/ (with leading underscore for implementation detail) - Update all imports from cuda.core.experimental.* to cuda.core.* - Update build_hooks.py to use cuda.core instead of cuda.core.experimental - Update pyproject.toml package-data paths - Update cuda/core/__init__.py to export all symbols - Update cuda/core/experimental/__init__.py for backward compatibility with deprecation warnings - Update Cython extern declarations to use _include/ instead of include/ - Fix import paths for _memory_pool (cuda.core._memory._memory_pool) - Update test files and test helpers to use new import paths All tests pass (1499 passed, 79 skipped).
Update all example files and test Cython files to use cuda.core instead of cuda.core.experimental: - Update all example imports from cuda.core.experimental.* to cuda.core.* - Update example utils imports from cuda.core.experimental.utils to cuda.core.utils - Update test Cython file imports - Update build_tests.sh include path from experimental/include to _include All example files now use the non-experimental import paths.
Update all documentation files to reference cuda.core instead of cuda.core.experimental: - api.rst: Change module from cuda.core.experimental to cuda.core - getting-started.rst: Update currentmodule and example imports - interoperability.rst: Update currentmodule - api_private.rst: Update currentmodule - conf.py: Update system import paths and excluded_dirs paths All documentation now reflects the new non-experimental API paths. Release notes files are left unchanged as they are historical.
Update GitHub issue templates and wheel merge script to reference cuda.core instead of cuda.core.experimental: - bug_report.yml: Update example references from cuda.core.experimental to cuda.core - feature_request.yml: Update example references from cuda.core.experimental to cuda.core - merge_cuda_core_wheels.py: Update to merge cuda/core/ instead of cuda/core/experimental/, and adopt logic that copies only binaries into versioned subdirectories while keeping Python modules in cuda/core/
Contributor
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Contributor
Author
|
/ok to test |
leofang
reviewed
Dec 16, 2025
Contributor
|
/ok to test |
Contributor
|
/ok to test |
Contributor
|
/ok to test |
Contributor
|
/ok to test |
This comment has been minimized.
This comment has been minimized.
- Combine all test functions into test_experimental_backward_compatibility() to avoid race conditions when tests run in parallel - Add defensive sys.modules cleanup at start of test function - Remove test for underscored module access (not needed per reviewer feedback)
Remove StridedMemoryView and args_viewable_as_strided_memory from experimental namespace. These should be imported from cuda.core.utils instead.
Contributor
Author
|
The original Cursor-generated test wasn't compatible with parallel test execution. Fixed in commit 0090325 |
Update deprecation warning and docstring to specify that the experimental namespace will be removed in v1.0.0, rather than the vague 'future release'. This provides users with a clear timeline for migration.
leofang
reviewed
Dec 17, 2025
leofang
reviewed
Dec 17, 2025
leofang
approved these changes
Dec 17, 2025
Member
|
pre-commit.ci autofix |
Contributor
Member
|
pre-commit.ci autofix |
Member
|
/ok to test 69a83bc |
leofang
marked this pull request as ready for review
December 17, 2025 17:56
leofang
enabled auto-merge (squash)
December 17, 2025 17:56
Member
|
/ok to test e45c9d9 |
Collaborator
|
We need to update the release notes to capture this change as well. Do we want to do it in this PR or in a follow up? |
Member
|
Ah, so #1392 was merged. I'll follow-up. |
leofang
disabled auto-merge
December 17, 2025 19:32
Member
|
We have a test that can hang randomly. I have raised a thread internally to discuss this. Let me admin-merge in the meanwhile, since I've been retrying but to no avail. |
Contributor
|
This was referenced Dec 17, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Result of starting over fresh based on experience gathered under #1298
This PR adds
print_wheel_directory_structure()inci/tools/merge_cuda_core_wheels.py, which helped greatly figuring out the required changes to that script. The output of the function is likely to be useful for troubleshooting in the future.Questions:
cuda/core/_includeorcuda/core/inclulde? — Currently it is_include, based on this feedback under #1298.cuda/core/__init__.pyxin the wheels (it does not seem to be needed)? — Keep or revert commit a63913cTODO:
Restorecuda_core/tests/test_experimental_backward_compat.pyfrom cuda-core experimental namespace deprecation (attempt v0) #1298 (it somehow got lost).cuda_core/tests/. The original tests should still pass. — See QA for #1377: do the original cuda_core/tests/ still work? #1394