Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UCP/PROTO: Consider FAST_CMPL flag only for eager protocols #10277

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

ivankochin
Copy link
Contributor

What?

Remove considering FAST_CMPL flag for RNDV protocols

Why?

FAST_CMPL shouldn't affect RNDV protocols since they can be completed only when all operations are done.

@ivankochin ivankochin self-assigned this Nov 5, 2024
params->super.super.select_param->op_attr);

if ((op_attr_mask & UCP_OP_ATTR_FLAG_FAST_CMPL)) {
ucs_warn("RNDV is initialized with FAST_CMPL which is unexpected. "
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe ucs_debug since fast_cmpl is best effort and UCP users should (generally) not even be aware that a multi step protocol is used?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That warning means that user passed FAST_CMPL flag to recv operation and in case of choosing RNDV it can cause undesired performance prediction change. So I would prefer to leave it as warning so users can see that and remove FAST_CMPL from recv operation.

@@ -630,6 +644,8 @@ ucp_proto_rndv_bulk_init(const ucp_proto_multi_init_params_t *init_params,
const char *proto_name;
ucs_status_t status;

ucp_proto_rndv_report_fast_cmpl(init_params);
Copy link
Contributor

Choose a reason for hiding this comment

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

seems we remove FAST_CMPL when we handle RTR. So in which case we sould still have FAST_CMPL here?
maybe it should be an assertion?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

AFAIU that can happen if customer set FAST_CMPL flag for receive operation. In that case RNDV-get would be initialized with FAST_CMPL flag

Copy link
Contributor

Choose a reason for hiding this comment

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

so maybe make the warning more clear, or move it to tag_recv_nbx, or mask-out FAST_CMPL flag during tag_recv?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I can move this warning to tag_recv_nbx (or maybe ucp_proto_rndv_receive_start) but then it would be extra operation on the fast path. And if we want to print a waring/debug message in that case it would cost extra if on fast path. Are we OK with that?

src/ucp/rndv/proto_rndv.c Outdated Show resolved Hide resolved
Co-authored-by: Yossi Itigin <[email protected]>
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.

4 participants