* Backport PRs #3201, #3523, #3547, #3580 to the 2.8.x branch. (#3536)
* [FEA]: Introduce Python module with CCCL headers (#3201)
* Add cccl/python/cuda_cccl directory and use from cuda_parallel, cuda_cooperative
* Run `copy_cccl_headers_to_aude_include()` before `setup()`
* Create python/cuda_cccl/cuda/_include/__init__.py, then simply import cuda._include to find the include path.
* Add cuda.cccl._version exactly as for cuda.cooperative and cuda.parallel
* Bug fix: cuda/_include only exists after shutil.copytree() ran.
* Use `f"cuda-cccl @ file://{cccl_path}/python/cuda_cccl"` in setup.py
* Remove CustomBuildCommand, CustomWheelBuild in cuda_parallel/setup.py (they are equivalent to the default functions)
* Replace := operator (needs Python 3.8+)
* Fix oversights: remove `pip3 install ./cuda_cccl` lines from README.md
* Restore original README.md: `pip3 install -e` now works on first pass.
* cuda_cccl/README.md: FOR INTERNAL USE ONLY
* Remove `$pymajor.$pyminor.` prefix in cuda_cccl _version.py (as suggested under #3201 (comment))
Command used: ci/update_version.sh 2 8 0
* Modernize pyproject.toml, setup.py
Trigger for this change:
* #3201 (comment)
* #3201 (comment)
* Install CCCL headers under cuda.cccl.include
Trigger for this change:
* #3201 (comment)
Unexpected accidental discovery: cuda.cooperative unit tests pass without CCCL headers entirely.
* Factor out cuda_cccl/cuda/cccl/include_paths.py
* Reuse cuda_cccl/cuda/cccl/include_paths.py from cuda_cooperative
* Add missing Copyright notice.
* Add missing __init__.py (cuda.cccl)
* Add `"cuda.cccl"` to `autodoc.mock_imports`
* Move cuda.cccl.include_paths into function where it is used. (Attempt to resolve Build and Verify Docs failure.)
* Add # TODO: move this to a module-level import
* Modernize cuda_cooperative/pyproject.toml, setup.py
* Convert cuda_cooperative to use hatchling as build backend.
* Revert "Convert cuda_cooperative to use hatchling as build backend."
This reverts commit 61637d6.
* Move numpy from [build-system] requires -> [project] dependencies
* Move pyproject.toml [project] dependencies -> setup.py install_requires, to be able to use CCCL_PATH
* Remove copy_license() and use license_files=["../../LICENSE"] instead.
* Further modernize cuda_cccl/setup.py to use pathlib
* Trivial simplifications in cuda_cccl/pyproject.toml
* Further simplify cuda_cccl/pyproject.toml, setup.py: remove inconsequential code
* Make cuda_cooperative/pyproject.toml more similar to cuda_cccl/pyproject.toml
* Add taplo-pre-commit to .pre-commit-config.yaml
* taplo-pre-commit auto-fixes
* Use pathlib in cuda_cooperative/setup.py
* CCCL_PYTHON_PATH in cuda_cooperative/setup.py
* Modernize cuda_parallel/pyproject.toml, setup.py
* Use pathlib in cuda_parallel/setup.py
* Add `# TOML lint & format` comment.
* Replace MANIFEST.in with `[tool.setuptools.package-data]` section in pyproject.toml
* Use pathlib in cuda/cccl/include_paths.py
* pre-commit autoupdate (EXCEPT clang-format, which was manually restored)
* Fixes after git merge main
* Resolve warning: AttributeError: '_Reduce' object has no attribute 'build_result'
```
=========================================================================== warnings summary ===========================================================================
tests/test_reduce.py::test_reduce_non_contiguous
/home/coder/cccl/python/devenv/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored in: <function _Reduce.__del__ at 0x7bf123139080>
Traceback (most recent call last):
File "/home/coder/cccl/python/cuda_parallel/cuda/parallel/experimental/algorithms/reduce.py", line 132, in __del__
bindings.cccl_device_reduce_cleanup(ctypes.byref(self.build_result))
^^^^^^^^^^^^^^^^^
AttributeError: '_Reduce' object has no attribute 'build_result'
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================================= 1 passed, 93 deselected, 1 warning in 0.44s ==============================================================
```
* Move `copy_cccl_headers_to_cuda_cccl_include()` functionality to `class CustomBuildPy`
* Introduce cuda_cooperative/constraints.txt
* Also add cuda_parallel/constraints.txt
* Add `--constraint constraints.txt` in ci/test_python.sh
* Update Copyright dates
* Switch to https://github.com/ComPWA/taplo-pre-commit (the other repo has been archived by the owner on Jul 1, 2024)
For completeness: The other repo took a long time to install into the pre-commit cache; so long it lead to timeouts in the CCCL CI.
* Remove unused cuda_parallel jinja2 dependency (noticed by chance).
* Remove constraints.txt files, advertise running `pip install cuda-cccl` first instead.
* Make cuda_cooperative, cuda_parallel testing completely independent.
* Run only test_python.sh [skip-rapids][skip-matx][skip-docs][skip-vdc]
* Try using another runner (because V100 runners seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]
* Fix sign-compare warning (#3408) [skip-rapids][skip-matx][skip-docs][skip-vdc]
* Revert "Try using another runner (because V100 runners seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]"
This reverts commit ea33a21.
Error message: #3201 (comment)
* Try using A100 runner (because V100 runners still seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]
* Also show cuda-cooperative site-packages, cuda-parallel site-packages (after pip install) [skip-rapids][skip-matx][skip-docs][skip-vdc]
* Try using l4 runner (because V100 runners still seem to be stuck) [skip-rapids][skip-matx][skip-docs][skip-vdc]
* Restore original ci/matrix.yaml [skip-rapids]
* Use for loop in test_python.sh to avoid code duplication.
* Run only test_python.sh [skip-rapids][skip-matx][skip-docs][skip-vdc][skip pre-commit.ci]
* Comment out taplo-lint in pre-commit config [skip-rapids][skip-matx][skip-docs][skip-vdc]
* Revert "Run only test_python.sh [skip-rapids][skip-matx][skip-docs][skip-vdc][skip pre-commit.ci]"
This reverts commit ec206fd.
* Implement suggestion by @shwina (#3201 (review))
* Address feedback by @leofang
---------
Co-authored-by: Bernhard Manfred Gruber <bernhardmgruber@gmail.com>
* cuda.parallel: invoke pytest directly rather than via `python -m pytest` (#3523)
Co-authored-by: Ashwin Srinath <shwina@users.noreply.github.com>
* Copy file from PR #3547 (bugfix/drop_pipe_in_lit by @wmaxey)
* Revert "cuda.parallel: invoke pytest directly rather than via `python -m pytest` (#3523)"
This reverts commit a2e21cb.
* Replace pipes.quote with shlex.quote in lit config (#3547)
* Replace pipes.quote with shlex.quote
* Drop TBB run on windows to unblock CI
* Update ci/matrix.yaml
Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com>
Co-authored-by: Bernhard Manfred Gruber <bernhardmgruber@gmail.com>
* Remove nvks runners from testing pool. (#3580)
---------
Co-authored-by: Bernhard Manfred Gruber <bernhardmgruber@gmail.com>
Co-authored-by: Ashwin Srinath <3190405+shwina@users.noreply.github.com>
Co-authored-by: Ashwin Srinath <shwina@users.noreply.github.com>
Co-authored-by: Wesley Maxey <71408887+wmaxey@users.noreply.github.com>
Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com>
Co-authored-by: Allison Piper <alliepiper16@gmail.com>
* Suppress execution checks for vocabulary types (#3578)
* Suppress execution checks for optional
* Suppress execution checks for `expected`
* Suppress execution checks for `pair`
* Suppress execution checks for `variant`
* Remove some jobs
* Disable sampls in old CI
* Fix compiler detection
* Disable tests for unsupported standard modes
* Fix compiler detection
* Fix compiler detection more
* Fix matrix
* Also suppress for swap
* Fix formatting
* Use the internal function fopr MSVC
* Try adding import?
* Revert all changes to python module
* Fix formatting
* Update `upload-pages-artifact`
* Update RAPIDS to 25.02. (#2967)
* Update RAPIDS to 25.02.
* Remove RAFT BUILD_ANN_BENCH option.
* Rename KvikIO to kvikio.
* Add back cugraph-ops until it's completely purged from RAPIDS upstream dependencies.
* Update devcontainers.
* Use the 24.10 image for cccl CI
* Drop gugraph ops
* Also drop cugraph-gnn for now
---------
Co-authored-by: Bernhard Manfred Gruber <bernhardmgruber@gmail.com>
Co-authored-by: Ashwin Srinath <3190405+shwina@users.noreply.github.com>
Co-authored-by: Ashwin Srinath <shwina@users.noreply.github.com>
Co-authored-by: Wesley Maxey <71408887+wmaxey@users.noreply.github.com>
Co-authored-by: Allison Piper <alliepiper16@gmail.com>
Co-authored-by: Bradley Dice <bdice@bradleydice.com>
Description
This PR updates RAPIDS to 25.02 and updates the RAPIDS dependency tree used for CI testing.
Checklist