@@ -63,11 +63,11 @@ UCS_F_DEVICE void ucp_device_request_init(uct_device_ep_t *device_ep,
6363/* *
6464 * Macro for device put operations with retry logic
6565 */
66- #define UCP_DEVICE_PUT_BLOCKING (_level, _uct_device_ep_put , _device_ep, ...) \
66+ #define UCP_DEVICE_SEND_BLOCKING (_level, _uct_device_ep_send , _device_ep, ...) \
6767 ({ \
6868 ucs_status_t _status; \
6969 do { \
70- _status = _uct_device_ep_put <_level>(_device_ep, __VA_ARGS__); \
70+ _status = _uct_device_ep_send <_level>(_device_ep, __VA_ARGS__); \
7171 if (_status != UCS_ERR_NO_RESOURCE) { \
7272 break ; \
7373 } \
@@ -77,8 +77,8 @@ UCS_F_DEVICE void ucp_device_request_init(uct_device_ep_t *device_ep,
7777 })
7878
7979
80- UCS_F_DEVICE ucs_status_t ucp_device_prepare_single (
81- ucp_device_mem_list_handle_h mem_list_h, unsigned mem_list_index ,
80+ UCS_F_DEVICE ucs_status_t ucp_device_prepare_send (
81+ ucp_device_mem_list_handle_h mem_list_h, unsigned first_mem_elem_index ,
8282 ucp_device_request_t *req, uct_device_ep_t *&device_ep,
8383 const uct_device_mem_element_t *&uct_elem,
8484 uct_device_completion_t *&comp)
@@ -87,34 +87,14 @@ UCS_F_DEVICE ucs_status_t ucp_device_prepare_single(
8787 size_t elem_offset;
8888
8989 if ((mem_list_h->version != UCP_DEVICE_MEM_LIST_VERSION_V1) ||
90- (mem_list_index >= mem_list_h->mem_list_length )) {
90+ (first_mem_elem_index >= mem_list_h->mem_list_length )) {
9191 return UCS_ERR_INVALID_PARAM;
9292 }
9393
9494 device_ep = mem_list_h->uct_device_eps [lane];
95- elem_offset = mem_list_index * mem_list_h->uct_mem_element_size [lane];
96- uct_elem = (uct_device_mem_element_t *)UCS_PTR_BYTE_OFFSET (mem_list_h + 1 ,
97- elem_offset);
98- ucp_device_request_init (device_ep, req, comp);
99-
100- return UCS_OK;
101- }
102-
103-
104- UCS_F_DEVICE ucs_status_t
105- ucp_device_prepare_multi (ucp_device_mem_list_handle_h mem_list_h,
106- ucp_device_request_t *req, uct_device_ep_t *&device_ep,
107- const uct_device_mem_element_t *&uct_mem_list,
108- uct_device_completion_t *&comp)
109- {
110- const unsigned lane = 0 ;
111-
112- if (mem_list_h->version != UCP_DEVICE_MEM_LIST_VERSION_V1) {
113- return UCS_ERR_INVALID_PARAM;
114- }
115-
116- device_ep = mem_list_h->uct_device_eps [lane];
117- uct_mem_list = (uct_device_mem_element_t *)(mem_list_h + 1 );
95+ elem_offset = first_mem_elem_index * mem_list_h->uct_mem_element_size [lane];
96+ uct_elem = (uct_device_mem_element_t *)UCS_PTR_BYTE_OFFSET (mem_list_h + 1 ,
97+ elem_offset);
11898 ucp_device_request_init (device_ep, req, comp);
11999
120100 return UCS_OK;
@@ -161,15 +141,15 @@ UCS_F_DEVICE ucs_status_t ucp_device_put_single(
161141 uct_device_ep_t *device_ep;
162142 ucs_status_t status;
163143
164- status = ucp_device_prepare_single (mem_list_h, mem_list_index, req,
165- device_ep, uct_elem, comp);
144+ status = ucp_device_prepare_send (mem_list_h, mem_list_index, req, device_ep ,
145+ uct_elem, comp);
166146 if (status != UCS_OK) {
167147 return status;
168148 }
169149
170- return UCP_DEVICE_PUT_BLOCKING (level, uct_device_ep_put_single, device_ep,
171- uct_elem, address, remote_address, length,
172- flags, comp);
150+ return UCP_DEVICE_SEND_BLOCKING (level, uct_device_ep_put_single, device_ep,
151+ uct_elem, address, remote_address, length,
152+ flags, comp);
173153}
174154
175155
@@ -212,14 +192,15 @@ UCS_F_DEVICE ucs_status_t ucp_device_counter_inc(
212192 uct_device_ep_t *device_ep;
213193 ucs_status_t status;
214194
215- status = ucp_device_prepare_single (mem_list_h, mem_list_index, req,
216- device_ep, uct_elem, comp);
195+ status = ucp_device_prepare_send (mem_list_h, mem_list_index, req, device_ep ,
196+ uct_elem, comp);
217197 if (status != UCS_OK) {
218198 return status;
219199 }
220200
221- return uct_device_ep_atomic_add<level>(device_ep, uct_elem, inc_value,
222- remote_address, flags, comp);
201+ return UCP_DEVICE_SEND_BLOCKING (level, uct_device_ep_atomic_add, device_ep,
202+ uct_elem, inc_value, remote_address, flags,
203+ comp);
223204}
224205
225206
@@ -275,17 +256,17 @@ UCS_F_DEVICE ucs_status_t ucp_device_put_multi(
275256 uct_device_ep_t *device_ep;
276257 ucs_status_t status;
277258
278- status = ucp_device_prepare_multi (mem_list_h, req, device_ep, uct_mem_list ,
279- comp);
259+ status = ucp_device_prepare_send (mem_list_h, 0 , req, device_ep ,
260+ uct_mem_list, comp);
280261 if (status != UCS_OK) {
281262 return status;
282263 }
283264
284- return UCP_DEVICE_PUT_BLOCKING (level, uct_device_ep_put_multi, device_ep,
285- uct_mem_list, mem_list_h->mem_list_length ,
286- addresses, remote_addresses, lengths,
287- counter_inc_value, counter_remote_address,
288- flags, comp);
265+ return UCP_DEVICE_SEND_BLOCKING (level, uct_device_ep_put_multi, device_ep,
266+ uct_mem_list, mem_list_h->mem_list_length ,
267+ addresses, remote_addresses, lengths,
268+ counter_inc_value, counter_remote_address,
269+ flags, comp);
289270}
290271
291272
@@ -350,17 +331,17 @@ UCS_F_DEVICE ucs_status_t ucp_device_put_multi_partial(
350331 uct_device_ep_t *device_ep;
351332 ucs_status_t status;
352333
353- status = ucp_device_prepare_multi (mem_list_h, req, device_ep, uct_mem_list ,
354- comp);
334+ status = ucp_device_prepare_send (mem_list_h, 0 , req, device_ep ,
335+ uct_mem_list, comp);
355336 if (status != UCS_OK) {
356337 return status;
357338 }
358339
359- return UCP_DEVICE_PUT_BLOCKING (level, uct_device_ep_put_multi_partial,
360- device_ep, uct_mem_list, mem_list_indices,
361- mem_list_count, addresses, remote_addresses,
362- lengths, counter_index, counter_inc_value,
363- counter_remote_address, flags, comp);
340+ return UCP_DEVICE_SEND_BLOCKING (level, uct_device_ep_put_multi_partial,
341+ device_ep, uct_mem_list, mem_list_indices,
342+ mem_list_count, addresses, remote_addresses,
343+ lengths, counter_index, counter_inc_value,
344+ counter_remote_address, flags, comp);
364345}
365346
366347
0 commit comments