Skip to content

build(cudf): Update cudf dependency to 26.02#15937

Closed
bdice wants to merge 3 commits intofacebookincubator:mainfrom
bdice:update-cudf-26.02
Closed

build(cudf): Update cudf dependency to 26.02#15937
bdice wants to merge 3 commits intofacebookincubator:mainfrom
bdice:update-cudf-26.02

Conversation

@bdice
Copy link
Copy Markdown
Collaborator

@bdice bdice commented Jan 8, 2026

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.

@bdice bdice requested a review from majetideepak as a code owner January 8, 2026 19:59
@netlify
Copy link
Copy Markdown

netlify bot commented Jan 8, 2026

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit 695e8be
🔍 Latest deploy log https://app.netlify.com/projects/meta-velox/deploys/6961500e0d780600086d2f1d

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jan 8, 2026
@bdice bdice changed the title Update cudf dependency to 26.02 build: Update cudf dependency to 26.02 Jan 8, 2026
@bdice bdice self-assigned this Jan 8, 2026
@majetideepak majetideepak added the ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall label Jan 12, 2026
@majetideepak
Copy link
Copy Markdown
Collaborator

majetideepak commented Jan 12, 2026

@bdice what is the minimum GCC version required for cudf 26.02? Can we add a check for this version?

@kevinwilfong kevinwilfong removed the ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall label Jan 12, 2026
@kevinwilfong
Copy link
Copy Markdown
Contributor

@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

@bdice
Copy link
Copy Markdown
Collaborator Author

bdice commented Jan 12, 2026

The minimum GCC version isn't changing -- still 13.3. I'll open a separate PR with that build-time check.

@bdice
Copy link
Copy Markdown
Collaborator Author

bdice commented Jan 12, 2026

@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.

@majetideepak majetideepak added the ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall label Jan 12, 2026
@majetideepak
Copy link
Copy Markdown
Collaborator

@kevinwilfong This PR can land as-is, as @bdice mentioned.

@bdice bdice changed the title build: Update cudf dependency to 26.02 build(cudf): Update cudf dependency to 26.02 Jan 12, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Jan 12, 2026

@kevinwilfong has imported this pull request. If you are a Meta employee, you can view this in D90518369.

@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Jan 12, 2026

@kevinwilfong merged this pull request in 2cf3756.

meta-codesync bot pushed a commit that referenced this pull request Jan 20, 2026
…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
karthikeyann pushed a commit to karthikeyann/velox that referenced this pull request Jan 24, 2026
…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
karthikeyann pushed a commit to karthikeyann/velox that referenced this pull request Jan 24, 2026
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
paul-aiyedun added a commit to paul-aiyedun/velox that referenced this pull request Jan 27, 2026
paul-aiyedun added a commit to paul-aiyedun/velox that referenced this pull request Jan 27, 2026
meta-codesync bot pushed a commit that referenced this pull request Jan 28, 2026
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants