Skip to content

Conversation

@Sergei-Lebedev
Copy link
Contributor

What?

Add UCT_COMPONENT_FLAG_RKEY_PTR to cuda_ipc component. With this flag ucp_rkey_ptr can use cuda_ipc


/* For non-CPU receive memory types, avoid selecting the rkey_ptr mtype
* pipeline. It relies on obtaining a host pointer and CPU-side copy. */
if (!UCP_MEM_IS_ACCESSIBLE_FROM_CPU(init_params->select_param->mem_type)) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Seems weird since rndv_rkey_ptr_mtype should support local/remote cuda buffers.
can we do this inside the code that search for rkey_ptr lane in ucp_proto_common_find_lanes ? by adjusting the filter callback (ucp_proto_common_filter_min_frag) to filter out lanes according to some mask of rkey_ptr_mem_types that is set by the protocol.

@yosefe
Copy link
Contributor

yosefe commented Dec 22, 2025

The test failure seems relevant:

[ RUN      ] shm_ib_ipc/test_ucp_mmap_atomic.reuse_buffer/1 <shm,ib,cuda_ipc,rocm_ipc,cuda_copy,rocm_copy/map_nb>
[swx-rdmz-ucx-gpu-01:60224:0:60224] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x97)
==== backtrace (tid:  60224) ====
 0  /__w/1/s/build-test/src/ucs/.libs/libucs.so.0(ucs_handle_error+0x2ec) [0x7f4be065a5bc]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants