osc-portals4: Initialize datatype in MPI_Get_accumulate and MPI_Rget_accumulate
Fix code paths that didn't convert the MPI datatype to the corresponding Portals4 datatype. Thanks to Nicolas Chevalier (@shawone) for finding this bug and submitting a patch.
Этот коммит содержится в:
родитель
8cc39f7192
Коммит
141b20d991
@ -473,6 +473,11 @@ ompi_osc_portals4_rget_accumulate(const void *origin_addr,
|
|||||||
OMPI_OSC_PORTALS4_REQUEST_RETURN(request);
|
OMPI_OSC_PORTALS4_REQUEST_RETURN(request);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
ret = ompi_osc_portals4_get_dt(origin_dt, &ptl_dt);
|
||||||
|
if (OMPI_SUCCESS != ret) {
|
||||||
|
OMPI_OSC_PORTALS4_REQUEST_RETURN(request);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
length *= origin_count;
|
length *= origin_count;
|
||||||
|
|
||||||
result_md_offset = (ptl_size_t) result_addr;
|
result_md_offset = (ptl_size_t) result_addr;
|
||||||
@ -835,6 +840,10 @@ ompi_osc_portals4_get_accumulate(const void *origin_addr,
|
|||||||
if (OMPI_SUCCESS != ret) {
|
if (OMPI_SUCCESS != ret) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
ret = ompi_osc_portals4_get_dt(origin_dt, &ptl_dt);
|
||||||
|
if (OMPI_SUCCESS != ret) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
length *= origin_count;
|
length *= origin_count;
|
||||||
|
|
||||||
result_md_offset = (ptl_size_t) result_addr;
|
result_md_offset = (ptl_size_t) result_addr;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user