Data copying in AM fragments receive handlers #9803
Answered
by
evgeny-leksikov
huzhijiang
asked this question in
Q&A
-
Hi, Line 1491 in f3f911f it seems if we send AM data in fragments, the receiver side needs to allocate a contig buffer to hold all of them. This could be a potential perfomance bottleneck. Sending data in a single piece will not leading to this copying on the receiver side but sender side multi-rail function will not work either(see ucx/src/ucp/proto/proto_am.inl Line 423 in f3f911f Do we have any other optimal way (can be AM or TAG, HW offload...) to not only avoid fragments copy on receiver side , but also enable multi-rail on sender side? |
Beta Was this translation helpful? Give feedback.
Answered by
evgeny-leksikov
Apr 8, 2024
Replies: 1 comment 1 reply
-
@huzhijiang rndv protocols should enable multi-rail by default and utilize zcopy rdma capability, you can enable it by env var |
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
huzhijiang
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@huzhijiang rndv protocols should enable multi-rail by default and utilize zcopy rdma capability, you can enable it by env var
UCX_RNDV_THRESH=<msg_size>
or control per message byUCP_AM_SEND_FLAG_RNDV
from your code.