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/PERF: Use final sync up for all UCP ucx_perftest tests #10425

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
7 changes: 1 addition & 6 deletions src/tools/perf/lib/ucp_tests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -728,12 +728,7 @@ class ucp_perf_test_runner {
bool use_ack() const
{
/* TODO: daemon does not support bi-directional flow */
if (m_perf.params.ucp.is_daemon_mode) {
return false;
}

return (CMD == UCX_PERF_CMD_TAG) || (CMD == UCX_PERF_CMD_TAG_SYNC) ||
(CMD == UCX_PERF_CMD_AM);
return !m_perf.params.ucp.is_daemon_mode;
Copy link
Contributor

Choose a reason for hiding this comment

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

is it ok that for UCX_PERF_TEST_TYPE_STREAM_UNI with UCX_PERF_CMD_PUT progress is not invoked on the receiver?

Copy link
Contributor

Choose a reason for hiding this comment

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

This is intentional since put should be a one-sided operation that does not require target side progress

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually this is a very good question...
Unfortunately requester didn't confirm that this fix works for him, so I'll try to reproduce the issue locally and check it this solution actually helps

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 think CMD_PUT is already synchronized with wait_last_iter and send_last_iter functions, which are only enabled for UCX_PERF_CMD_PUT .
Strictly speaking, ACK is not really needed for UCX_PERF_CMD_PUT, but it doesn't harm either.
However I believe it does not fix the requester issue, I will try to debug on his setup.
There must be something else

}

void send_ack(void *buffer, ucp_datatype_t datatype)
Expand Down
Loading