@@ -38,7 +38,6 @@ class ucp_perf_test_runner {
38
38
m_max_outstanding(m_perf.params.max_outstanding),
39
39
m_am_rx_buffer(NULL ),
40
40
m_am_rx_length(0ul )
41
-
42
41
{
43
42
memset (&m_am_rx_params, 0 , sizeof (m_am_rx_params));
44
43
memset (&m_send_params, 0 , sizeof (m_send_params));
@@ -275,11 +274,12 @@ class ucp_perf_test_runner {
275
274
const ucp_am_recv_param_t *rx_params)
276
275
{
277
276
ucs_assert (!(rx_params->recv_attr & UCP_AM_RECV_ATTR_FLAG_DATA));
278
- ucs_assert (length == ucx_perf_get_message_size (&m_perf.params ));
277
+ ucs_assertv (length == m_am_rx_length,
278
+ " length=%zu expected=%zu index=%u" , length, m_am_rx_length,
279
+ rte_call (&m_perf, group_index));
279
280
280
281
ucs_status_ptr_t sp = ucp_am_recv_data_nbx (m_perf.ucp .worker , data,
281
- m_am_rx_buffer,
282
- m_am_rx_length,
282
+ m_am_rx_buffer, length,
283
283
&m_am_rx_params);
284
284
ucs_assert (UCS_PTR_IS_PTR (sp));
285
285
ucp_request_release (sp);
@@ -330,7 +330,7 @@ class ucp_perf_test_runner {
330
330
ucs_assertv (length == test->m_am_rx_length ,
331
331
" wrong buffer length %ld != %ld" ,
332
332
length, test->m_am_rx_length );
333
- memcpy (test->m_am_rx_buffer , data, test-> m_am_rx_length );
333
+ memcpy (test->m_am_rx_buffer , data, length );
334
334
}
335
335
336
336
test->recv_completed ();
@@ -909,6 +909,8 @@ class ucp_perf_test_runner {
909
909
wait_recv_window (m_max_outstanding);
910
910
send_ack (send_buffer, send_datatype);
911
911
} else if (my_index == 1 ) {
912
+ /* Sender may only receive final ack */
913
+ m_am_rx_length = 1 ;
912
914
UCX_PERF_TEST_FOREACH (&m_perf) {
913
915
send (ep, send_buffer, send_length, send_datatype, sn,
914
916
remote_addr, rkey, m_perf.current .iters == 0 );
0 commit comments