Merge pull request #819 from tkordenbrock/allow-atomics-upto-max_fetch_atomic_size
osc-portals4: allow atomic ops on datatypes that are max_fetch_atomic_size bytes in length
Этот коммит содержится в:
Коммит
25c48b96bb
@ -970,7 +970,7 @@ ompi_osc_portals4_compare_and_swap(void *origin_addr,
|
|||||||
ret = ompi_datatype_type_size(dt, &length);
|
ret = ompi_datatype_type_size(dt, &length);
|
||||||
if (OMPI_SUCCESS != ret) return ret;
|
if (OMPI_SUCCESS != ret) return ret;
|
||||||
|
|
||||||
assert(length < module->fetch_atomic_max);
|
assert(length <= module->fetch_atomic_max);
|
||||||
|
|
||||||
result_md_offset = (ptl_size_t) result_addr;
|
result_md_offset = (ptl_size_t) result_addr;
|
||||||
origin_md_offset = (ptl_size_t) origin_addr;
|
origin_md_offset = (ptl_size_t) origin_addr;
|
||||||
@ -1033,7 +1033,7 @@ ompi_osc_portals4_fetch_and_op(void *origin_addr,
|
|||||||
ret = ompi_datatype_type_size(dt, &length);
|
ret = ompi_datatype_type_size(dt, &length);
|
||||||
if (OMPI_SUCCESS != ret) return ret;
|
if (OMPI_SUCCESS != ret) return ret;
|
||||||
|
|
||||||
assert(length < module->fetch_atomic_max);
|
assert(length <= module->fetch_atomic_max);
|
||||||
|
|
||||||
(void)opal_atomic_add_64(&module->opcount, 1);
|
(void)opal_atomic_add_64(&module->opcount, 1);
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user