1
1
This commit was SVN r8429.
Этот коммит содержится в:
Tim Woodall 2005-12-09 23:27:55 +00:00
родитель 7f1e31cf67
Коммит 1929a97d2f
5 изменённых файлов: 20 добавлений и 7 удалений

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

@ -28,6 +28,7 @@
#include "btl_gm_proc.h"
#include "btl_gm_endpoint.h"
#include "datatype/convertor.h"
#include "datatype/datatype.h"
#include "mca/mpool/base/base.h"
#include "mca/mpool/mpool.h"
#include "ompi/proc/proc.h"
@ -379,6 +380,7 @@ mca_btl_base_descriptor_t* mca_btl_gm_prepare_dst(
#if (OMPI_MCA_BTL_GM_HAVE_RDMA_GET || OMPI_MCA_BTL_GM_HAVE_RDMA_PUT)
mca_btl_gm_frag_t* frag;
mca_mpool_base_module_t* mpool = btl->btl_mpool;
long lb;
int rc;
MCA_BTL_GM_FRAG_ALLOC_USER(btl, frag, rc);
@ -386,8 +388,9 @@ mca_btl_base_descriptor_t* mca_btl_gm_prepare_dst(
return NULL;
}
ompi_ddt_type_lb(convertor, &lb);
frag->segment.seg_len = *size;
frag->segment.seg_addr.pval = convertor->pBaseBuf + convertor->bConverted;
frag->segment.seg_addr.pval = convertor->pBaseBuf + lb + convertor->bConverted;
frag->base.des_src = NULL;
frag->base.des_src_cnt = 0;

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

@ -28,6 +28,7 @@
#include "btl_mvapi_proc.h"
#include "btl_mvapi_endpoint.h"
#include "datatype/convertor.h"
#include "datatype/datatype.h"
#include "mca/mpool/base/base.h"
#include "mca/mpool/mpool.h"
#include "mca/mpool/mvapi/mpool_mvapi.h"
@ -454,6 +455,7 @@ mca_btl_base_descriptor_t* mca_btl_mvapi_prepare_dst(
mca_btl_mvapi_module_t* mvapi_btl;
mca_btl_mvapi_frag_t* frag;
mca_mpool_mvapi_registration_t * vapi_reg;
long lb;
int rc;
mvapi_btl = (mca_btl_mvapi_module_t*) btl;
@ -465,9 +467,9 @@ mca_btl_base_descriptor_t* mca_btl_mvapi_prepare_dst(
return NULL;
}
ompi_ddt_type_lb(convertor, &lb);
frag->segment.seg_len = *size;
frag->segment.seg_addr.pval = convertor->pBaseBuf + convertor->bConverted;
frag->segment.seg_addr.pval = convertor->pBaseBuf + lb + convertor->bConverted;
frag->base.des_flags = 0;
if(NULL!= vapi_reg){

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

@ -29,6 +29,7 @@
#include "btl_openib_proc.h"
#include "btl_openib_endpoint.h"
#include "datatype/convertor.h"
#include "datatype/datatype.h"
#include "mca/mpool/base/base.h"
#include "mca/mpool/mpool.h"
#include "mca/mpool/openib/mpool_openib.h"
@ -455,6 +456,7 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_dst(
mca_btl_openib_frag_t* frag;
mca_mpool_openib_registration_t * openib_reg;
int rc;
long lb;
size_t reg_len;
openib_btl = (mca_btl_openib_module_t*) btl;
@ -466,9 +468,9 @@ mca_btl_base_descriptor_t* mca_btl_openib_prepare_dst(
return NULL;
}
ompi_ddt_type_lb(convertor, &lb);
frag->segment.seg_len = *size;
frag->segment.seg_addr.pval = convertor->pBaseBuf + convertor->bConverted;
frag->segment.seg_addr.pval = convertor->pBaseBuf + lb + convertor->bConverted;
frag->base.des_flags = 0;
if(NULL!= openib_reg){

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

@ -27,6 +27,7 @@
#include "opal/threads/mutex.h"
#include "ompi/datatype/convertor.h"
#include "ompi/datatype/datatype.h"
#include "include/sys/atomic.h"
#include "opal/util/output.h"
#include "opal/util/if.h"
@ -261,6 +262,7 @@ struct mca_btl_base_descriptor_t* mca_btl_self_prepare_dst(
{
mca_btl_self_frag_t* frag;
size_t max_data = *size;
long lb;
int rc;
MCA_BTL_SELF_FRAG_ALLOC_RDMA(frag, rc);
@ -269,7 +271,8 @@ struct mca_btl_base_descriptor_t* mca_btl_self_prepare_dst(
}
/* setup descriptor to point directly to user buffer */
frag->segment.seg_addr.pval = (unsigned char*)convertor->pBaseBuf + convertor->bConverted;
ompi_ddt_type_lb( convertor->pDesc, &lb );
frag->segment.seg_addr.pval = (unsigned char*)convertor->pBaseBuf + lb + convertor->bConverted;
frag->segment.seg_len = reserve + max_data;
frag->base.des_src = NULL;
frag->base.des_src_cnt = 0;

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

@ -28,6 +28,7 @@
#include "btl_tcp_proc.h"
#include "btl_tcp_endpoint.h"
#include "datatype/convertor.h"
#include "datatype/datatype.h"
#include "mca/mpool/base/base.h"
#include "mca/mpool/mpool.h"
#include "ompi/proc/proc.h"
@ -330,6 +331,7 @@ mca_btl_base_descriptor_t* mca_btl_tcp_prepare_dst(
size_t* size)
{
mca_btl_tcp_frag_t* frag;
long lb;
int rc;
MCA_BTL_TCP_FRAG_ALLOC_USER(frag, rc);
@ -337,8 +339,9 @@ mca_btl_base_descriptor_t* mca_btl_tcp_prepare_dst(
return NULL;
}
ompi_ddt_type_lb(convertor, &lb);
frag->segments->seg_len = *size;
frag->segments->seg_addr.pval = convertor->pBaseBuf + convertor->bConverted;
frag->segments->seg_addr.pval = convertor->pBaseBuf + lb + convertor->bConverted;
frag->base.des_src = NULL;
frag->base.des_src_cnt = 0;