ucx
ucx copied to clipboard
UCP/PROTOV2: Fix AM multi-eager protocols
What
Fix UCP AM multi-eager protocols for protoV2
Why
When reporting maximal allowed AM header size to the user, we consider the minimal UCT fragment size among all enabled transports. However, we may decide to send less that transport's max fragment size, for example in case its bandwidth is lower than other lanes. (to fill which assert fails)
How ?
Need to take into account max AM user header size when calculating how much data UCP can send on a single lane. (because user header and all UCP headers must fit into the first fragment)
this PR affects performance estimations - now UCP AM multi-eager protocol always assumes that maximal user header is being sent (which is not always the true). The fix needs to be reconsidered
Should we revert 0e92c1d8fa749daa4c1b9ee4be6c807f4688eb75 in this PR to confirm the fix?