1
1

Merge pull request #7873 from devreal/osc-ucx-rget-rput-fetch-alignment-v4.1.x

OSC UCX: make sure no-op fetch in rget/rput is properly aligned (v4.1.x)
Этот коммит содержится в:
Jeff Squyres 2020-06-29 15:20:12 -04:00 коммит произвёл GitHub
родитель 249c57a4bc d4219f8144
Коммит bc6587d3fa
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23

Просмотреть файл

@ -904,9 +904,10 @@ int ompi_osc_ucx_rput(const void *origin_addr, int origin_count,
return OMPI_ERROR;
}
/* TODO: investigate whether ucp_worker_flush_nb is a better choice here */
internal_req = ucp_atomic_fetch_nb(ep, UCP_ATOMIC_FETCH_OP_FADD, 0,
&(module->req_result), sizeof(uint64_t),
remote_addr, rkey, req_completion);
remote_addr & (~0x7), rkey, req_completion);
if (UCS_PTR_IS_PTR(internal_req)) {
internal_req->external_req = ucx_req;
@ -965,9 +966,10 @@ int ompi_osc_ucx_rget(void *origin_addr, int origin_count,
return OMPI_ERROR;
}
/* TODO: investigate whether ucp_worker_flush_nb is a better choice here */
internal_req = ucp_atomic_fetch_nb(ep, UCP_ATOMIC_FETCH_OP_FADD, 0,
&(module->req_result), sizeof(uint64_t),
remote_addr, rkey, req_completion);
remote_addr & (~0x7), rkey, req_completion);
if (UCS_PTR_IS_PTR(internal_req)) {
internal_req->external_req = ucx_req;