ugni: minor updates
This commit was SVN r26262.
Этот коммит содержится в:
родитель
14d5525fb1
Коммит
f88babfb92
@ -33,7 +33,6 @@ ugni_SOURCES = \
|
||||
btl_ugni_frag.h \
|
||||
btl_ugni_rdma.h \
|
||||
btl_ugni_send.c \
|
||||
btl_ugni_sendi.c \
|
||||
btl_ugni_put.c \
|
||||
btl_ugni_get.c \
|
||||
btl_ugni.h \
|
||||
|
@ -73,10 +73,9 @@ btl_ugni_component_register(void)
|
||||
mca_btl_ugni_component.ugni_eager_num =
|
||||
mca_btl_ugni_param_register_int("eager_num", NULL, 16);
|
||||
mca_btl_ugni_component.ugni_eager_max =
|
||||
mca_btl_ugni_param_register_int("eager_max", NULL, 64);
|
||||
mca_btl_ugni_param_register_int("eager_max", NULL, 128);
|
||||
mca_btl_ugni_component.ugni_eager_inc =
|
||||
mca_btl_ugni_param_register_int("eager_inc", NULL, 16);
|
||||
|
||||
|
||||
mca_btl_ugni_component.cq_size =
|
||||
mca_btl_ugni_param_register_int("cq_size", NULL, 25000);
|
||||
@ -85,7 +84,10 @@ btl_ugni_component_register(void)
|
||||
mca_btl_ugni_component.ugni_smsg_limit =
|
||||
mca_btl_ugni_param_register_int("smsg_limit", "Maximum size message that "
|
||||
"will be sent using the SMSG/MSGQ protocol "
|
||||
"(0 - autoselect(default))", 0);
|
||||
"(0 - autoselect(default), 16k max)", 0);
|
||||
if (mca_btl_ugni_component.ugni_smsg_limit > 16384) {
|
||||
mca_btl_ugni_component.ugni_smsg_limit = 16384;
|
||||
}
|
||||
|
||||
mca_btl_ugni_component.smsg_max_credits =
|
||||
mca_btl_ugni_param_register_int("smsg_max_credits", "Maximum number of "
|
||||
@ -95,11 +97,13 @@ btl_ugni_component_register(void)
|
||||
mca_btl_ugni_component.ugni_fma_limit =
|
||||
mca_btl_ugni_param_register_int("fma_limit", "Maximum size message that "
|
||||
"will be sent using the FMA (Fast Memory "
|
||||
"Access) protocol (default 4095)",
|
||||
4 * 1024 - 1);
|
||||
"Access) protocol (default 1024)",
|
||||
1024);
|
||||
|
||||
mca_btl_ugni_component.ugni_get_limit =
|
||||
mca_btl_ugni_param_register_int("get_limit", NULL, 512 * 1024);
|
||||
mca_btl_ugni_param_register_int("get_limit", "Maximum size message that "
|
||||
"will be sent using the get protocol "
|
||||
"(default 512k)", 512 * 1024);
|
||||
|
||||
mca_btl_ugni_component.rdma_max_retries =
|
||||
mca_btl_ugni_param_register_int("rdma_max_retries", NULL, 8);
|
||||
@ -109,7 +113,7 @@ btl_ugni_component_register(void)
|
||||
/* smsg threshold */
|
||||
mca_btl_ugni_module.super.btl_eager_limit = 8 * 1024;
|
||||
mca_btl_ugni_module.super.btl_rndv_eager_limit = 8 * 1024;
|
||||
mca_btl_ugni_module.super.btl_rdma_pipeline_frag_size = 2 * 1024 * 1024;
|
||||
mca_btl_ugni_module.super.btl_rdma_pipeline_frag_size = 4 * 1024 * 1024;
|
||||
mca_btl_ugni_module.super.btl_max_send_size = 8 * 1024;
|
||||
mca_btl_ugni_module.super.btl_rdma_pipeline_send_length = 8 * 1024;
|
||||
|
||||
@ -256,7 +260,9 @@ mca_btl_ugni_component_init (int *num_btl_modules,
|
||||
|
||||
if (0 == mca_btl_ugni_component.ugni_smsg_limit) {
|
||||
/* auto-set the smsg limit based on the number of ranks */
|
||||
if (nprocs <= 1024) {
|
||||
if (nprocs <= 256) {
|
||||
mca_btl_ugni_component.ugni_smsg_limit = 8192;
|
||||
} else if (nprocs <= 1024) {
|
||||
mca_btl_ugni_component.ugni_smsg_limit = 1024;
|
||||
} else if (nprocs <= 16384) {
|
||||
mca_btl_ugni_component.ugni_smsg_limit = 512;
|
||||
|
@ -142,7 +142,7 @@ static void mca_btl_ugni_retry_send (ompi_common_ugni_post_desc_t *desc, int rc)
|
||||
mca_btl_ugni_base_frag_t *frag = MCA_BTL_UGNI_DESC_TO_FRAG(desc);
|
||||
|
||||
rc = mca_btl_ugni_send (&frag->endpoint->btl->super, frag->endpoint, &frag->base, frag->hdr.send.tag);
|
||||
if (OPAL_UNLIKELY(OMPI_SUCCESS != rc)) {
|
||||
if (OPAL_UNLIKELY(0 > rc)) {
|
||||
opal_list_append (&frag->endpoint->btl->failed_frags, (opal_list_item_t *) frag);
|
||||
}
|
||||
}
|
||||
@ -166,7 +166,7 @@ static inline int mca_btl_ugni_ep_connect_finish (mca_btl_base_endpoint_t *ep) {
|
||||
ep->mailbox->smsg_attrib.mbox_maxcredit, ep->mailbox->smsg_attrib.msg_maxsize));
|
||||
|
||||
rc = GNI_SmsgInit (ep->common->ep_handle, &ep->mailbox->smsg_attrib, &ep->remote_smsg_attrib);
|
||||
if (GNI_RC_SUCCESS != rc) {
|
||||
if (OPAL_UNLIKELY(GNI_RC_SUCCESS != rc)) {
|
||||
BTL_ERROR(("error initializing SMSG protocol. rc = %d", rc));
|
||||
return ompi_common_rc_ugni_to_ompi (rc);
|
||||
}
|
||||
@ -179,7 +179,7 @@ static inline int mca_btl_ugni_ep_connect_finish (mca_btl_base_endpoint_t *ep) {
|
||||
while (NULL != (item = opal_list_remove_first (&ep->pending_list))) {
|
||||
mca_btl_ugni_base_frag_t *frag = (mca_btl_ugni_base_frag_t *) item;
|
||||
rc = mca_btl_ugni_send (&ep->btl->super, ep, &frag->base, frag->hdr.send.tag);
|
||||
if (OPAL_UNLIKELY(OMPI_SUCCESS != rc)) {
|
||||
if (OPAL_UNLIKELY(0 > rc)) {
|
||||
frag->post_desc.cbfunc = mca_btl_ugni_retry_send;
|
||||
opal_list_append (&ep->btl->failed_frags, (opal_list_item_t *) frag);
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ mca_btl_ugni_module_t mca_btl_ugni_module = {
|
||||
mca_btl_ugni_prepare_src,
|
||||
mca_btl_ugni_prepare_dst,
|
||||
mca_btl_ugni_send,
|
||||
mca_btl_ugni_sendi,
|
||||
NULL, /* sendi */
|
||||
mca_btl_ugni_put,
|
||||
mca_btl_ugni_get,
|
||||
NULL, /* mca_btl_base_dump, */
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user