Remove a compilation warning from the RDMA engine.
Correct the problem introduced by the commit 8933 (thanks Tim). In order to avoid to much trafic on the bus we do not compute the bytes_delivered (require an atomic size_t add) we have to set it in the begining or otherwise we will report the wrong count in the MPI status. This commit was SVN r8968.
Этот коммит содержится в:
родитель
9c1547373d
Коммит
a4619b1a11
@ -661,7 +661,7 @@ void mca_pml_ob1_recv_request_schedule(mca_pml_ob1_recv_request_t* recvreq)
|
||||
/* lookup and/or create a cached registration */
|
||||
ompi_ddt_type_lb(recvreq->req_recv.req_convertor.pDesc, &lb);
|
||||
base = recvreq->req_recv.req_convertor.pBaseBuf + lb + recvreq->req_rdma_offset;
|
||||
reg = mca_pml_ob1_rdma_register(bml_btl, base, size);
|
||||
reg = mca_pml_ob1_rdma_register(bml_btl, (unsigned char*)base, size);
|
||||
release = true;
|
||||
}
|
||||
}
|
||||
|
@ -194,18 +194,20 @@ do {
|
||||
*
|
||||
*/
|
||||
|
||||
#define MCA_PML_OB1_RECV_REQUEST_MATCHED( request, hdr ) \
|
||||
do { \
|
||||
(request)->req_recv.req_base.req_ompi.req_status.MPI_TAG = (hdr)->hdr_tag; \
|
||||
(request)->req_recv.req_base.req_ompi.req_status.MPI_SOURCE = (hdr)->hdr_src; \
|
||||
if((request)->req_recv.req_bytes_packed != 0) { \
|
||||
ompi_convertor_copy_and_prepare_for_recv( \
|
||||
(request)->req_recv.req_base.req_proc->proc_convertor, \
|
||||
(request)->req_recv.req_base.req_datatype, \
|
||||
(request)->req_recv.req_base.req_count, \
|
||||
(request)->req_recv.req_base.req_addr, \
|
||||
&(request)->req_recv.req_convertor ); \
|
||||
} \
|
||||
#define MCA_PML_OB1_RECV_REQUEST_MATCHED( request, hdr ) \
|
||||
do { \
|
||||
(request)->req_recv.req_base.req_ompi.req_status.MPI_TAG = (hdr)->hdr_tag; \
|
||||
(request)->req_recv.req_base.req_ompi.req_status.MPI_SOURCE = (hdr)->hdr_src; \
|
||||
if((request)->req_recv.req_bytes_packed != 0) { \
|
||||
ompi_convertor_copy_and_prepare_for_recv( \
|
||||
(request)->req_recv.req_base.req_proc->proc_convertor, \
|
||||
(request)->req_recv.req_base.req_datatype, \
|
||||
(request)->req_recv.req_base.req_count, \
|
||||
(request)->req_recv.req_base.req_addr, \
|
||||
&(request)->req_recv.req_convertor ); \
|
||||
ompi_convertor_get_unpacked_size( &(request)->req_recv.req_convertor, \
|
||||
&(request)->req_bytes_delivered ); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user