Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions conda/recipes/librapidsmpf/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,6 @@ outputs:
- 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)

- openmpi >=5.0 # See <https://github.com/rapidsai/rapidsmpf/issues/17>

- package:
Expand Down Expand Up @@ -134,6 +133,7 @@ outputs:
- librmm =${{ minor_version }}
- libpmix >=5.0,<6.0
- libucxx ${{ ucxx_version }}
- ucx # librapidsmpf.so links libucp; the version range comes from libucxx
- openmpi >=5.0 # See <https://github.com/rapidsai/rapidsmpf/issues/17>
ignore_run_exports:
from_package:
Expand Down Expand Up @@ -190,7 +190,7 @@ outputs:
- librmm =${{ minor_version }}
- openmpi >=5.0 # See <https://github.com/rapidsai/rapidsmpf/issues/17>
- libucxx ${{ ucxx_version }}
- ucx
- ucx # bare pin to suppress overlinking errors (rely on libucxx's range)
ignore_run_exports:
from_package:
- ${{ compiler("c") }}
Expand Down
4 changes: 4 additions & 0 deletions cpp/tests/test_buffer_resource.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,10 @@ TEST(BufferResource, HostMemoryAvailabilityTracksLiveAllocations) {
}

TEST(BufferResource, RejectsZeroPinnedMaxPoolSize) {
if (!is_pinned_memory_resources_supported()) {
GTEST_SKIP() << "Pinned memory not supported on this system";
}

rmm::mr::cuda_memory_resource cuda_mr;
EXPECT_THROW(
std::ignore = BufferResource::create(
Expand Down
Loading