fix mpi_leave_pinned case for arbitrary datatypes
George will be streamlining this with a new convertor function soon... This commit was SVN r14174.
Этот коммит содержится в:
родитель
680d08ed64
Коммит
a78672be2b
@ -247,9 +247,14 @@ static int mca_pml_ob1_recv_request_ack(
|
||||
|
||||
if(ompi_convertor_need_buffers(&recvreq->req_recv.req_convertor) == 0 &&
|
||||
hdr->hdr_match.hdr_common.hdr_flags & MCA_PML_OB1_HDR_FLAGS_CONTIG) {
|
||||
char *base;
|
||||
ptrdiff_t lb;
|
||||
ompi_ddt_type_lb(recvreq->req_recv.req_convertor.pDesc, &lb);
|
||||
base = recvreq->req_recv.req_convertor.pBaseBuf + lb;
|
||||
|
||||
recvreq->req_rdma_cnt = mca_pml_ob1_rdma_btls(
|
||||
bml_endpoint,
|
||||
(unsigned char*)recvreq->req_recv.req_base.req_addr,
|
||||
(unsigned char*) base,
|
||||
recvreq->req_recv.req_bytes_packed,
|
||||
recvreq->req_rdma);
|
||||
|
||||
|
@ -286,9 +286,14 @@ static inline int mca_pml_ob1_send_request_start_btl(
|
||||
rc = mca_pml_ob1_send_request_start_buffered(sendreq, bml_btl, size);
|
||||
} else if
|
||||
(ompi_convertor_need_buffers(&sendreq->req_send.req_convertor) == false) {
|
||||
char *base;
|
||||
ptrdiff_t lb;
|
||||
ompi_ddt_type_lb(sendreq->req_send.req_convertor.pDesc, &lb);
|
||||
base = sendreq->req_send.req_convertor.pBaseBuf + lb;
|
||||
|
||||
if( 0 != (sendreq->req_rdma_cnt = (uint32_t)mca_pml_ob1_rdma_btls(
|
||||
sendreq->req_endpoint,
|
||||
(unsigned char*)sendreq->req_send.req_addr,
|
||||
(unsigned char*) base,
|
||||
sendreq->req_send.req_bytes_packed,
|
||||
sendreq->req_rdma))) {
|
||||
rc = mca_pml_ob1_send_request_start_rdma(sendreq, bml_btl,
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user