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;
|
ep->btl_proc = NULL;
|
||||||
proc->btl_rdma_offset = 0;
|
ep->btl_rdma_offset = 0;
|
||||||
proc->btl_flags = 0;
|
ep->btl_max_send_size = 0;
|
||||||
|
ep->btl_flags = 0;
|
||||||
|
|
||||||
OBJ_CONSTRUCT(&proc->btl_lock, opal_mutex_t);
|
OBJ_CONSTRUCT(&ep->btl_lock, opal_mutex_t);
|
||||||
OBJ_CONSTRUCT(&proc->btl_eager, mca_bml_base_btl_array_t);
|
OBJ_CONSTRUCT(&ep->btl_eager, mca_bml_base_btl_array_t);
|
||||||
OBJ_CONSTRUCT(&proc->btl_send, mca_bml_base_btl_array_t);
|
OBJ_CONSTRUCT(&ep->btl_send, mca_bml_base_btl_array_t);
|
||||||
OBJ_CONSTRUCT(&proc->btl_rdma, 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(&ep->btl_lock);
|
||||||
OBJ_DESTRUCT(&proc->btl_eager);
|
OBJ_DESTRUCT(&ep->btl_eager);
|
||||||
OBJ_DESTRUCT(&proc->btl_send);
|
OBJ_DESTRUCT(&ep->btl_send);
|
||||||
OBJ_DESTRUCT(&proc->btl_rdma);
|
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 {
|
struct mca_bml_base_endpoint_t {
|
||||||
mca_pml_proc_t super;
|
mca_pml_proc_t super;
|
||||||
struct ompi_proc_t *btl_proc; /**< back-pointer to ompi_proc_t */
|
struct ompi_proc_t *btl_proc; /**< back-pointer to ompi_proc_t */
|
||||||
opal_mutex_t btl_lock; /**< lock to protect against concurrent access */
|
opal_mutex_t btl_lock; /**< lock to protect against concurrent access */
|
||||||
int btl_flags; /**< prefered method of accessing this peer */
|
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_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 */
|
size_t btl_max_send_size; /**< min of max send size for available send btls */
|
||||||
mca_bml_base_btl_array_t btl_send; /**< array of btls to use for remaining fragments */
|
mca_bml_base_btl_array_t btl_eager; /**< array of btls to use for first fragments */
|
||||||
mca_bml_base_btl_array_t btl_rdma; /**< array of btls that support (prefer) rdma */
|
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;
|
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_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_send, mca_bml_r2.num_btl_modules);
|
||||||
mca_bml_base_btl_array_reserve(&bml_endpoint->btl_rdma, 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;
|
bml_endpoint->btl_proc = proc;
|
||||||
proc->proc_pml = (struct mca_pml_proc_t*) bml_endpoint;
|
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;
|
*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 */
|
/* check flags - is rdma prefered */
|
||||||
if(btl->btl_flags & (MCA_BTL_FLAGS_PUT|MCA_BTL_FLAGS_GET) &&
|
if(btl->btl_flags & (MCA_BTL_FLAGS_PUT|MCA_BTL_FLAGS_GET) &&
|
||||||
proc->proc_arch == ompi_proc_local_proc->proc_arch) {
|
proc->proc_arch == ompi_proc_local_proc->proc_arch) {
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user