Skip to content

Ensure librapidsmpf supports the same UCX version range as libucxx - #1271

Merged
rapids-bot[bot] merged 7 commits into
rapidsai:mainfrom
TomAugspurger:ignore-ucx-run-export
Oct 22, 2026
Merged

rapids-bot[bot] merged 7 commits into
rapidsai:mainfrom
TomAugspurger:ignore-ucx-run-export

Conversation

@TomAugspurger

@TomAugspurger TomAugspurger commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

This removes ucx from the host section of librapidsmpf's conda recipe.

rapidsai/ucxx@86378fa is a recent commit to ucxx to exclude a ucx==1.20.0. See the linked issue for more on why, but the tl/dr is that it caused segfaults in rapidsmpf and cudf. That was merged yesterday.

https://github.com/NVIDIA/cudf/actions/runs/39553618541/job/119068217342#step:13:180 is today's nightly cudf run which, despite running after the ucxx commit, picked up the old libucxx (0.53.00a27 instead of 0.53.00a28).

#1271 (comment) has details on why this fixes the issue.

I expect this to fix the cudf nightlies and potentially the build error on rapidsmpf main: https://github.com/rapidsai/rapidsmpf/actions/runs/39506224519/job/118915813636

The bare ucx host dependency exports a run requirement of
ucx >=<build version>,<next minor>. Built against ucx 1.22.0 this
becomes ucx >=1.22.0, which conflicts with libucxx excluding
ucx 1.22.0 (rapidsai/ucxx#784). Let libucxx define the supported UCX range.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@TomAugspurger
TomAugspurger requested a review from a team as a code owner October 21, 2026 14:19
@TomAugspurger
TomAugspurger requested review from jameslamb and removed request for jameslamb October 21, 2026 14:19
@TomAugspurger TomAugspurger added bug Something isn't working non-breaking Introduces a non-breaking change labels Oct 21, 2026
@TomAugspurger TomAugspurger changed the title Ignore ucx run_exports in librapidsmpf Ignore ucx run_exports in librapidsmpf conda recipe Oct 21, 2026
TomAugspurger and others added 3 commits October 21, 2026 15:12
librapidsmpf.so links libucp directly, so the overlinking check needs ucx
as a run dependency now that its run_export is ignored.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Slow CI runners hit the 30s timeout in ConcurrentShuffle and
ShufflerManyStreams.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@TomAugspurger
TomAugspurger requested a review from a team as a code owner October 21, 2026 21:32
nirandaperera and others added 2 commits October 21, 2026 16:36
BufferResource::create checks pinned memory support before validating
max_pool_size, so on systems without pinned memory support it throws
std::runtime_error instead of std::invalid_argument.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- libpmix-devel >=5.0,<6.0
- librmm =${{ minor_version }}
- libucxx ${{ ucxx_version }}
- ucx

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just pushed 45f876e removing ucx from the host environment.

Here's what I think is happening:

  1. Upgrade conda builds to latest rattler-build #1258 added ucx to the host environment explicitly
  2. as a result, ucx's run_exports make it into librapidsmpf's runtime dependencies (run_exports only get triggered if you explicitly list something in a recipe)
  3. at that time, the latest was v1.22.0, so that got pulled in, resulting in this:
│ ucx              ┆ >=1.22.0,<1.23.0a0 (RE of [host: ucx])                │

(build link)

  1. In Exclude ucx=1.22.0 from supported versions. ucxx#784, libucxx explicitly added a !=1.22.0 to skip that ucx version
  2. sad, now anything depending on librapidsmpf and libucxx has to fall back to older versions of one of them because they have incompatible requirements (<- bad and not sustainable!)

We should be grateful, this is actually a packaging bug. It meant that librapidsmpf and anything depending on it would have had a constraint of "only very-new UCX", so e.g. you couldn't create an environment with cudf-polars and ucx=1.20 or similar.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So far, this is looking better 😁

librapidsmpf packages getting a ucx * pin (so no new constraint, totally relying on whatever libucxx supports):

 Finalized run dependencies (librapidsmpf-26.12.00a57-cuda12_261022144244_45f876e1):
 ╭──────────────────┬───────────────────────────────────────────────╮
 │ Name             ┆ Spec                                          │
 ╞══════════════════╪═══════════════════════════════════════════════╡
 │ Run dependencies ┆                                               │
 │ cuda-cupti       ┆ *                                             │
 │ cuda-version     ┆ >=12,<13.0a0 (PC)                             │
...
 │ libucxx          ┆ 0.53.*                                        │
 │                  ┆ >=0.53.0a28,<0.54.0a0 (RE of [host: libucxx]) │
 │                  ┆ >=0.53.0a28,<0.54.0a0 (RE of [host: libucxx]) │
 │ openmpi          ┆ >=5.0                                         │
 │ ucx              ┆ *                                             │
 ╰──────────────────┴───────────────────────────────────────────────╯

(conda-cpp-build link)

@TomAugspurger TomAugspurger changed the title Ignore ucx run_exports in librapidsmpf conda recipe Ensure librapidsmpf supports the same UCX version range as libucxx Oct 22, 2026

@jameslamb jameslamb left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_

@TomAugspurger

Copy link
Copy Markdown
Contributor Author

/merge

1 similar comment
@jameslamb

Copy link
Copy Markdown
Member

/merge

@rapids-bot
rapids-bot Bot merged commit fd1565e into rapidsai:main Oct 22, 2026
59 checks passed
@TomAugspurger
TomAugspurger deleted the ignore-ucx-run-export branch October 22, 2026 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants