-
Notifications
You must be signed in to change notification settings - Fork 193
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
[RELEASE] rmm v24.06 #1571
Merged
Merged
[RELEASE] rmm v24.06 #1571
Conversation
This file contains 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
Forward-merge branch-24.04 into branch-24.06 [skip ci]
This PR enables running all pytests for `arm64` jobs. Authors: - GALI PREM SAGAR (https://github.com/galipremsagar) Approvers: - Jake Awe (https://github.com/AyodeAwe) - Mark Harris (https://github.com/harrism) - https://github.com/jakirkham URL: #1510
Previously we were relying on the C++ and Python-level device resources to agree. But this need not be the case. To avoid this, first get the current device resource and then use it when allocating the wrapped C++ device_buffer when creating DeviceBuffers. - Closes #1506 Authors: - Lawrence Mitchell (https://github.com/wence-) Approvers: - Mark Harris (https://github.com/harrism) URL: #1514
Fixes #1388 Fixes #1389 Fixes #1428 Fixes #1434 Removes the previously deprecated functions - `rmm::mr::device_memory_resource::supports_streams()` - `rmm::mr::device_memory_resource::supports_get_mem_info()` - `rmm::mr::device_memory_resource::get_mem_info()` Authors: - Mark Harris (https://github.com/harrism) Approvers: - Michael Schellenberger Costa (https://github.com/miscco) - Bradley Dice (https://github.com/bdice) - Vyas Ramasubramani (https://github.com/vyasr) URL: #1519
We removed using this file in : #1510, this pr deletes the file. Authors: - GALI PREM SAGAR (https://github.com/galipremsagar) Approvers: - https://github.com/jakirkham - Ray Douglass (https://github.com/raydouglass) URL: #1521
…e.md (#1513) This is a minor fix to reorder some of the C++ docs in README.md and fix heading levels. It also adds prompt characters to the pytorch allocator example in the Python guide.md to be consistent with other examples in the doc. Authors: - Mark Harris (https://github.com/harrism) Approvers: - Lawrence Mitchell (https://github.com/wence-) URL: #1513
Forward-merge branch-24.04 into branch-24.06
…#1524) Since #1370, the dtor for device_buffer ensures that the correct device is active when the deallocation occurs. We therefore update the example to discuss this. Since device_vector still requires the user to manage the active device correctly by hand, call this out explicitly in the documentation. - Closes #1523 Authors: - Lawrence Mitchell (https://github.com/wence-) Approvers: - Mark Harris (https://github.com/harrism) URL: #1524
This change is in preparation for #1512. Authors: - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - Bradley Dice (https://github.com/bdice) - Ray Douglass (https://github.com/raydouglass) URL: #1526
…hrust::optional parameters (#1535) Fixes #1534 Fixes #1530 Authors: - Mark Harris (https://github.com/harrism) Approvers: - Bradley Dice (https://github.com/bdice) - Michael Schellenberger Costa (https://github.com/miscco) URL: #1535
Previously, the user had to arrange that the device active when a thrust_allocator object was created was also active when allocate and deallocate was called. This is hard to manage if exceptions are thrown. Instead, save the active device on construction and ensure that it is active when calling deallocate and deallocate. This means that device_vector is safe to destruct with RAII semantics in a multi-device setting. Add tests of this facility, and correct the parameterization usage in the other thrust allocator tests such that we actually check the MRs we're parameterizing over. - Closes #1527 Authors: - Lawrence Mitchell (https://github.com/wence-) Approvers: - Rong Ou (https://github.com/rongou) - Mark Harris (https://github.com/harrism) URL: #1533
Removes the need for us to install GTest in our rmm CI containers. Authors: - Robert Maynard (https://github.com/robertmaynard) Approvers: - Bradley Dice (https://github.com/bdice) - Mark Harris (https://github.com/harrism) - Jake Awe (https://github.com/AyodeAwe) URL: #1532
Closes #1536 Authors: - Mark Harris (https://github.com/harrism) Approvers: - Lawrence Mitchell (https://github.com/wence-) - Vyas Ramasubramani (https://github.com/vyasr) - Ray Douglass (https://github.com/raydouglass) URL: #1537
This shouldn't update `build_docs.sh` as this file already reads the version from an updated file. Authors: - Jake Awe (https://github.com/AyodeAwe) - Bradley Dice (https://github.com/bdice) Approvers: - Bradley Dice (https://github.com/bdice) - Ray Douglass (https://github.com/raydouglass) URL: #1520
In #1526 we moved the location of the python package, so should also update the install instructions. - Closes #1546 Authors: - Lawrence Mitchell (https://github.com/wence-) Approvers: - Mark Harris (https://github.com/harrism) - Vyas Ramasubramani (https://github.com/vyasr) URL: #1547
`cuda-nvcc` is the CUDA 12 package name but was being included in the CUDA 11 dependencies, making the conda solve impossible. This PR uses the same nvcc matrix as defined in the build dependencies list. Authors: - Paul Taylor (https://github.com/trxcllnt) Approvers: - Jake Awe (https://github.com/AyodeAwe) URL: #1542
This PR removes usage of the only method in rmm's Cython that is not part of the Python limited API. Contributes to rapidsai/build-planning#42 Authors: - Vyas Ramasubramani (https://github.com/vyasr) - https://github.com/jakirkham Approvers: - https://github.com/jakirkham URL: #1545
This PR removes header existence tests from the librmm conda recipe to reduce friction when code is moved. Closes #1549. These changes are similar to rapidsai/cudf#14072. Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Mark Harris (https://github.com/harrism) - Lawrence Mitchell (https://github.com/wence-) - Ray Douglass (https://github.com/raydouglass) URL: #1550
As part of rapidsai/build-planning#26, warnings in Python tests will cause that test to fail. Authors: - Matthew Roeschke (https://github.com/mroeschke) - Lawrence Mitchell (https://github.com/wence-) Approvers: - Lawrence Mitchell (https://github.com/wence-) URL: #1551
This PR changes wheel building in RMM to create a separate C++ wheel that is then found from the Python wheel. The C++ wheel is now a hard dependency of the Python wheel. This allows Python packaging to more closely mirror the structure of our conda packaging, and the way we would normally wish to package these in any other manager. It also allows us to reduce package sizes by allowing better sharing of artifacts between different Python packages that rely on the same C++ components from other packages. Contributes to rapidsai/build-planning#33 Authors: - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - Lawrence Mitchell (https://github.com/wence-) - Ray Douglass (https://github.com/raydouglass) - Bradley Dice (https://github.com/bdice) URL: #1529
#1529 added new C++ wheels, but I forgot to update build.yaml there. Depends on rapidsai/shared-workflows#209. Authors: - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - AJ Schmidt (https://github.com/ajschmidt8) - Ray Douglass (https://github.com/raydouglass) URL: #1554
Contributes to rapidsai/build-planning#30. Proposes adding the RAPIDS `verify-copyright` pre-commit hook, which automatically updates copyright dates for modified files. This also fixes one date in a file from #1529. Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Bradley Dice (https://github.com/bdice) - Kyle Edwards (https://github.com/KyleFromNVIDIA) URL: #1553
The `sysroot*` syntax is getting phased out (conda-forge/conda-forge.github.io#2102). The recommendation is to move to `{{ stdlib("c") }}`. Ref rapidsai/build-planning#39 Authors: - Philip Hyunsu Cho (https://github.com/hcho3) - https://github.com/jakirkham Approvers: - Bradley Dice (https://github.com/bdice) - https://github.com/jakirkham - Ray Douglass (https://github.com/raydouglass) URL: #1543
Fixes #1540. Fixes #1453 by removing unused `polymorphic_allocator::resource()`. Authors: - Mark Harris (https://github.com/harrism) Approvers: - Michael Schellenberger Costa (https://github.com/miscco) - Rong Ou (https://github.com/rongou) URL: #1555
* Remove the devcontainer when the VSCode window closes * Adds a descriptive name to the running container: ```shell $ docker ps -a CONTAINER ID IMAGE ... NAMES 0dbb364fe544 vsc-rmm-... ... rapids-rmm-24.06-cuda12.2-conda $ docker rm -f rapids-rmm-24.06-cuda12.2-conda ``` Authors: - Paul Taylor (https://github.com/trxcllnt) Approvers: - Mark Harris (https://github.com/harrism) - Ray Douglass (https://github.com/raydouglass) URL: #1539
Clang doesn't know `-Wnon-template-friend`. Authors: - Aaron Siddhartha Mondal (https://github.com/aaronmondal) Approvers: - Mark Harris (https://github.com/harrism) - Michael Schellenberger Costa (https://github.com/miscco) URL: #1557
…hip requirements in Python/C++ interfacing (#1552) On the C++ side, device_buffers store raw pointers for the memory resource that was used in their allocation. Consequently, it is unsafe to take ownership of a device_buffer in Python unless we controlled the provenance of the memory resource that was used in its allocation. The only way to do that is to pass the memory resource from Python into C++ and then use it when constructing the DeviceBuffer. Add discussion of this with some examples and a section on pitfalls if only relying on get_current_device_resource and set_current_device_resource. To allow Python users of `DeviceBuffer` objects to follow best practices, introduce explicit (defaulting to the current device resource) `mr` arguments in both `c_from_unique_ptr` and the `DeviceBuffer` constructor. - Closes #1492 Authors: - Lawrence Mitchell (https://github.com/wence-) Approvers: - Mark Harris (https://github.com/harrism) - Vyas Ramasubramani (https://github.com/vyasr) URL: #1552
Cupy offers the `cupy.cuda.stream.ExternalStream` for utilizing external CUDA streams. Moreover, `cupy.cuda.get_current_stream()` will return an instance of `cupy.cuda.stream.ExternalStream` instead of `cupy.cuda.stream.Stream`, particularly when the current cuPy stream has been changed. Therefore, we must verify both types of instances to avoid errors. See details in the https://docs.cupy.dev/en/stable/user_guide/interoperability.html#cuda-stream-pointers Authors: - Lilo Huang (https://github.com/lilohuang) - Mark Harris (https://github.com/harrism) Approvers: - Mark Harris (https://github.com/harrism) - Leo Fang (https://github.com/leofang) URL: #1559
Updates some copyright dates. These were updated in 2024, but their copyright dates were not automatically modified because #1553 hadn't been merged yet. On each file, I made a trivial change to convince the `verify-copyright` pre-commit hook that the files have changed. Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Vyas Ramasubramani (https://github.com/vyasr) URL: #1564
Let's get RMM allocate/deallocates showing up in profiler timelines. Closes #495 Authors: - Mark Harris (https://github.com/harrism) - Bradley Dice (https://github.com/bdice) Approvers: - Lawrence Mitchell (https://github.com/wence-) - Vyas Ramasubramani (https://github.com/vyasr) URL: #1558
If nvtx3 is already installed on the system via rapids-cmake rmm fails to link since it uses the non-namespaced target names. Authors: - Robert Maynard (https://github.com/robertmaynard) Approvers: - Vyas Ramasubramani (https://github.com/vyasr) - Paul Taylor (https://github.com/trxcllnt) URL: #1569
github-actions
bot
added
CMake
Python
Related to RMM Python API
conda
cpp
Pertains to C++ code
ci
labels
May 24, 2024
galipremsagar
approved these changes
May 28, 2024
harrism
approved these changes
May 30, 2024
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.
❄️ Code freeze for
branch-24.06
and v24.06 releaseWhat does this mean?
Only critical/hotfix level issues should be merged into
branch-24.06
until release (merging of this PR).What is the purpose of this PR?
branch-24.06
intomain
for the release