changes required by dr
This commit was SVN r8580.
Этот коммит содержится в:
родитель
1f9a559245
Коммит
3c170c410c
@ -25,25 +25,26 @@
|
||||
|
||||
|
||||
|
||||
static void mca_bml_base_endpoint_construct(mca_bml_base_endpoint_t* proc)
|
||||
static void mca_bml_base_endpoint_construct(mca_bml_base_endpoint_t* ep)
|
||||
{
|
||||
proc->btl_proc = NULL;
|
||||
proc->btl_rdma_offset = 0;
|
||||
proc->btl_flags = 0;
|
||||
ep->btl_proc = NULL;
|
||||
ep->btl_rdma_offset = 0;
|
||||
ep->btl_max_send_size = 0;
|
||||
ep->btl_flags = 0;
|
||||
|
||||
OBJ_CONSTRUCT(&proc->btl_lock, opal_mutex_t);
|
||||
OBJ_CONSTRUCT(&proc->btl_eager, mca_bml_base_btl_array_t);
|
||||
OBJ_CONSTRUCT(&proc->btl_send, mca_bml_base_btl_array_t);
|
||||
OBJ_CONSTRUCT(&proc->btl_rdma, mca_bml_base_btl_array_t);
|
||||
OBJ_CONSTRUCT(&ep->btl_lock, opal_mutex_t);
|
||||
OBJ_CONSTRUCT(&ep->btl_eager, mca_bml_base_btl_array_t);
|
||||
OBJ_CONSTRUCT(&ep->btl_send, mca_bml_base_btl_array_t);
|
||||
OBJ_CONSTRUCT(&ep->btl_rdma, mca_bml_base_btl_array_t);
|
||||
}
|
||||
|
||||
|
||||
static void mca_bml_base_endpoint_destruct(mca_bml_base_endpoint_t* proc)
|
||||
static void mca_bml_base_endpoint_destruct(mca_bml_base_endpoint_t* ep)
|
||||
{
|
||||
OBJ_DESTRUCT(&proc->btl_lock);
|
||||
OBJ_DESTRUCT(&proc->btl_eager);
|
||||
OBJ_DESTRUCT(&proc->btl_send);
|
||||
OBJ_DESTRUCT(&proc->btl_rdma);
|
||||
OBJ_DESTRUCT(&ep->btl_lock);
|
||||
OBJ_DESTRUCT(&ep->btl_eager);
|
||||
OBJ_DESTRUCT(&ep->btl_send);
|
||||
OBJ_DESTRUCT(&ep->btl_rdma);
|
||||
}
|
||||
|
||||
|
||||
|
@ -204,13 +204,14 @@ static inline mca_bml_base_btl_t* mca_bml_base_btl_array_find(
|
||||
*/
|
||||
struct mca_bml_base_endpoint_t {
|
||||
mca_pml_proc_t super;
|
||||
struct ompi_proc_t *btl_proc; /**< back-pointer to ompi_proc_t */
|
||||
opal_mutex_t btl_lock; /**< lock to protect against concurrent access */
|
||||
int btl_flags; /**< prefered method of accessing this peer */
|
||||
size_t btl_rdma_offset; /**< max of min rdma size for available rmda btls */
|
||||
mca_bml_base_btl_array_t btl_eager; /**< array of btls to use for first fragments */
|
||||
mca_bml_base_btl_array_t btl_send; /**< array of btls to use for remaining fragments */
|
||||
mca_bml_base_btl_array_t btl_rdma; /**< array of btls that support (prefer) rdma */
|
||||
struct ompi_proc_t *btl_proc; /**< back-pointer to ompi_proc_t */
|
||||
opal_mutex_t btl_lock; /**< lock to protect against concurrent access */
|
||||
int btl_flags; /**< prefered method of accessing this peer */
|
||||
size_t btl_rdma_offset; /**< max of min rdma size for available rmda btls */
|
||||
size_t btl_max_send_size; /**< min of max send size for available send btls */
|
||||
mca_bml_base_btl_array_t btl_eager; /**< array of btls to use for first fragments */
|
||||
mca_bml_base_btl_array_t btl_send; /**< array of btls to use for remaining fragments */
|
||||
mca_bml_base_btl_array_t btl_rdma; /**< array of btls that support (prefer) rdma */
|
||||
};
|
||||
typedef struct mca_bml_base_endpoint_t mca_bml_base_endpoint_t;
|
||||
|
||||
|
@ -248,6 +248,7 @@ int mca_bml_r2_add_procs(
|
||||
mca_bml_base_btl_array_reserve(&bml_endpoint->btl_eager, mca_bml_r2.num_btl_modules);
|
||||
mca_bml_base_btl_array_reserve(&bml_endpoint->btl_send, mca_bml_r2.num_btl_modules);
|
||||
mca_bml_base_btl_array_reserve(&bml_endpoint->btl_rdma, mca_bml_r2.num_btl_modules);
|
||||
bml_endpoint->btl_max_send_size = -1;
|
||||
bml_endpoint->btl_proc = proc;
|
||||
proc->proc_pml = (struct mca_pml_proc_t*) bml_endpoint;
|
||||
|
||||
@ -368,6 +369,10 @@ int mca_bml_r2_add_procs(
|
||||
*bml_btl_new = *bml_btl;
|
||||
}
|
||||
|
||||
/* set endpoint max send size as min of available btls */
|
||||
if(bml_endpoint->btl_max_send_size > btl->btl_max_send_size)
|
||||
bml_endpoint->btl_max_send_size = btl->btl_max_send_size;
|
||||
|
||||
/* check flags - is rdma prefered */
|
||||
if(btl->btl_flags & (MCA_BTL_FLAGS_PUT|MCA_BTL_FLAGS_GET) &&
|
||||
proc->proc_arch == ompi_proc_local_proc->proc_arch) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user