build(cudf): Update cudf dependency to 26.02#15937
build(cudf): Update cudf dependency to 26.02#15937bdice wants to merge 3 commits intofacebookincubator:mainfrom
Conversation
✅ Deploy Preview for meta-velox canceled.
|
|
@bdice what is the minimum GCC version required for cudf 26.02? Can we add a check for this version? |
|
@majetideepak since you added a comment after accepting, I'm going to remove the ready-to-merge tag, if it's addressed or you didn't intend it to block landing please feel free to add it back |
|
The minimum GCC version isn't changing -- still 13.3. I'll open a separate PR with that build-time check. |
|
@majetideepak @kevinwilfong I opened this PR with a CMake check for cuDF GCC version. #15986 Since this PR didn't change the compiler requirements, I think it should be safe to merge as-is. |
|
@kevinwilfong This PR can land as-is, as @bdice mentioned. |
|
@kevinwilfong has imported this pull request. If you are a Meta employee, you can view this in D90518369. |
|
@kevinwilfong merged this pull request in 2cf3756. |
…16026) Summary: Updates the expected hash values in `CudfFilterProjectTest.hashWithSeed` and `CudfFilterProjectTest.hashWithSeedMultiColumns` tests to match the new output from cudf 26.02. ## Problem After the cudf dependency was upgraded from 25.12 to 26.02 in commit 2cf3756 (#15937), the `velox_cudf_spark_filter_project_test` started failing: [ FAILED ] CudfFilterProjectTest.hashWithSeed [ FAILED ] CudfFilterProjectTest.hashWithSeedMultiColumns The `cudf::hashing::murmurhash3_x86_32()` function now produces different hash values for the same inputs, causing the hardcoded expected values in the tests to no longer match. ## Root Cause The cudf 26.02 upgrade changed the behavior of the MurmurHash3 x86 32-bit hash function. This is likely an intentional change or bug fix in the upstream cudf library. ## Changes Updated the expected hash values in `FilterProjectTest.cpp`: | Test | Index | Old Value | New Value | |------|-------|-----------|-----------| | `hashWithSeed` | 0 | 1049813396 | -1604625029 | | `hashWithSeed` | 1 | 1800792340 | -853646085 | | `hashWithSeedMultiColumns` | 0 | -864217843 | -572895191 | | `hashWithSeedMultiColumns` | 1 | 821064941 | 724095561 | ## Testing - [x] `velox_cudf_spark_filter_project_test` passes with updated values ## Checklist - [x] Tests pass locally - [x] No new warnings introduced Pull Request resolved: #16026 Reviewed By: mbasmanova Differential Revision: D91045880 Pulled By: kgpai fbshipit-source-id: 1b05a687907ce39844f04413ceb7be6786e29669
…acebookincubator#16026) Summary: Updates the expected hash values in `CudfFilterProjectTest.hashWithSeed` and `CudfFilterProjectTest.hashWithSeedMultiColumns` tests to match the new output from cudf 26.02. ## Problem After the cudf dependency was upgraded from 25.12 to 26.02 in commit 2cf3756 (facebookincubator#15937), the `velox_cudf_spark_filter_project_test` started failing: [ FAILED ] CudfFilterProjectTest.hashWithSeed [ FAILED ] CudfFilterProjectTest.hashWithSeedMultiColumns The `cudf::hashing::murmurhash3_x86_32()` function now produces different hash values for the same inputs, causing the hardcoded expected values in the tests to no longer match. ## Root Cause The cudf 26.02 upgrade changed the behavior of the MurmurHash3 x86 32-bit hash function. This is likely an intentional change or bug fix in the upstream cudf library. ## Changes Updated the expected hash values in `FilterProjectTest.cpp`: | Test | Index | Old Value | New Value | |------|-------|-----------|-----------| | `hashWithSeed` | 0 | 1049813396 | -1604625029 | | `hashWithSeed` | 1 | 1800792340 | -853646085 | | `hashWithSeedMultiColumns` | 0 | -864217843 | -572895191 | | `hashWithSeedMultiColumns` | 1 | 821064941 | 724095561 | ## Testing - [x] `velox_cudf_spark_filter_project_test` passes with updated values ## Checklist - [x] Tests pass locally - [x] No new warnings introduced Pull Request resolved: facebookincubator#16026 Reviewed By: mbasmanova Differential Revision: D91045880 Pulled By: kgpai fbshipit-source-id: 1b05a687907ce39844f04413ceb7be6786e29669
Summary: Updates cudf to a prerelease of version 26.02. This is needed to get some fixes like rapidsai/cudf#20834. We may also need rapidsai/cudf#20982 -- I will see if CI passes first, and update again if needed. Pull Request resolved: facebookincubator#15937 Reviewed By: pratikpugalia Differential Revision: D90518369 Pulled By: kevinwilfong fbshipit-source-id: 624d17c1ecca1f360e7dbaa1e097776cb48d2616
Summary: This PR pins cuDF's dependencies: rapids-cmake, rmm, and kvikio. This is a follow-up to #15937, which updates the cuDF dependency to 26.02. It pulls a recent cuDF commit from `main`. However, cuDF's core RAPIDS dependencies (rapids-cmake, RMM, KvikIO) are currently unpinned, meaning that they will continue to pull the latest from `main` while cuDF remains pinned. We would like to ensure that builds are stable and reproducible, which means we should pin these core cuDF dependencies. To make future updates simpler, I added a script `scripts/update-cudf-deps.sh`. To update to a recent branch, developers can run: ```bash ./scripts/update-cudf-deps.sh --branch main ./scripts/update-cudf-deps.sh --branch release/26.02 ``` A pain point that cuDF developers have faced is testing Velox with cuDF pull requests in progress. To support that use case, developers can run: ```bash ./scripts/update-cudf-deps.sh --pr <pr-number> ``` To use a specific cuDF commit with compatible dependency versions, developers can run: ```bash ./scripts/update-cudf-deps.sh --commit <sha> ``` This automatically finds compatible rapids-cmake, rmm, and kvikio versions by selecting the most recent main branch commit before the specified cuDF commit date, ensuring all dependencies are temporally compatible. Pull Request resolved: #15992 Reviewed By: kgpai Differential Revision: D91639452 Pulled By: kagamiori fbshipit-source-id: f9867713cae9357bc23dd9a4f6004151fac6b622
Updates cudf to a prerelease of version 26.02. This is needed to get some fixes like rapidsai/cudf#20834. We may also need rapidsai/cudf#20982 -- I will see if CI passes first, and update again if needed.