Rename btl_rdma_offset to btl_pipeline_send_length.
This commit was SVN r15153.
Этот коммит содержится в:
родитель
78df098aee
Коммит
b88b7dedfe
@ -27,7 +27,7 @@
|
||||
|
||||
static void mca_bml_base_endpoint_construct(mca_bml_base_endpoint_t* ep)
|
||||
{
|
||||
ep->btl_rdma_offset = 0;
|
||||
ep->btl_pipeline_send_length = 0;
|
||||
ep->btl_max_send_size = 0;
|
||||
ep->btl_rdma_align = 0;
|
||||
ep->btl_send_limit = 0;
|
||||
|
@ -59,7 +59,7 @@ struct mca_bml_base_btl_t {
|
||||
size_t btl_eager_limit; /**< BTL eager limit */
|
||||
size_t btl_min_send_size; /**< BTL min send size */
|
||||
size_t btl_max_send_size; /**< BTL max send size */
|
||||
size_t btl_rdma_pipeline_offset; /**< BTL rdma offset */
|
||||
size_t btl_rdma_pipeline_send_length; /**< BTL send length */
|
||||
size_t btl_rdma_pipeline_frag_size; /**< BTL rdma frag size */
|
||||
size_t btl_min_rdma_pipeline_size; /**< BTL min rdma size */
|
||||
struct mca_btl_base_module_t *btl; /**< BTL module */
|
||||
@ -242,7 +242,7 @@ static inline mca_bml_base_btl_t* mca_bml_base_btl_array_find(
|
||||
struct mca_bml_base_endpoint_t {
|
||||
opal_list_item_t super; /**< base_endpoint is a list item */
|
||||
struct ompi_proc_t* btl_proc; /**< backpointer to target ompi_proc_t */
|
||||
size_t btl_rdma_offset; /**< max of min rdma size for available rmda btls */
|
||||
size_t btl_pipeline_send_length; /**< max of pipeline send_length of available BTLs */
|
||||
size_t btl_send_limit; /**< max of min rdma pipeline for available rmda btls */
|
||||
size_t btl_max_send_size; /**< min of max send size for available send btls */
|
||||
size_t btl_rdma_align; /**< max of min rdma size for available rmda btls */
|
||||
|
@ -295,8 +295,8 @@ int mca_bml_r2_add_procs(
|
||||
bml_btl->btl_eager_limit = btl->btl_eager_limit;
|
||||
bml_btl->btl_min_send_size = btl->btl_min_send_size;
|
||||
bml_btl->btl_max_send_size = btl->btl_max_send_size;
|
||||
bml_btl->btl_rdma_pipeline_offset =
|
||||
btl->btl_rdma_pipeline_offset;
|
||||
bml_btl->btl_rdma_pipeline_send_length =
|
||||
btl->btl_rdma_pipeline_send_length;
|
||||
bml_btl->btl_rdma_pipeline_frag_size =
|
||||
btl->btl_rdma_pipeline_frag_size;
|
||||
bml_btl->btl_min_rdma_pipeline_size =
|
||||
@ -428,8 +428,10 @@ int mca_bml_r2_add_procs(
|
||||
proc->proc_arch == ompi_proc_local_proc->proc_arch) {
|
||||
mca_bml_base_btl_t* bml_btl_rdma = mca_bml_base_btl_array_insert(&bml_endpoint->btl_rdma);
|
||||
*bml_btl_rdma = *bml_btl;
|
||||
if(bml_endpoint->btl_rdma_offset < bml_btl_rdma->btl_rdma_pipeline_offset) {
|
||||
bml_endpoint->btl_rdma_offset = bml_btl_rdma->btl_rdma_pipeline_offset;
|
||||
if(bml_endpoint->btl_pipeline_send_length <
|
||||
bml_btl_rdma->btl_rdma_pipeline_send_length) {
|
||||
bml_endpoint->btl_pipeline_send_length =
|
||||
bml_btl_rdma->btl_rdma_pipeline_send_length;
|
||||
}
|
||||
if(bml_endpoint->btl_send_limit < bml_btl_rdma->btl_min_rdma_pipeline_size) {
|
||||
bml_endpoint->btl_send_limit = bml_btl_rdma->btl_min_rdma_pipeline_size;
|
||||
@ -712,8 +714,10 @@ int mca_bml_r2_del_proc_btl(ompi_proc_t* proc, mca_btl_base_module_t* btl)
|
||||
mca_bml_base_btl_t* bml_btl = mca_bml_base_btl_array_get_index(&ep->btl_rdma, b);
|
||||
/* update aggregate endpoint info */
|
||||
total_bandwidth += bml_btl->btl->btl_bandwidth;
|
||||
if (ep->btl_rdma_offset < bml_btl->btl_rdma_pipeline_offset) {
|
||||
ep->btl_rdma_offset = bml_btl->btl_rdma_pipeline_offset;
|
||||
if (ep->btl_pipeline_send_length <
|
||||
bml_btl->btl_rdma_pipeline_send_length) {
|
||||
ep->btl_pipeline_send_length =
|
||||
bml_btl->btl_rdma_pipeline_send_length;
|
||||
}
|
||||
if (ep->btl_send_limit < bml_btl->btl_min_rdma_pipeline_size) {
|
||||
ep->btl_send_limit = bml_btl->btl_min_rdma_pipeline_size;
|
||||
|
@ -67,18 +67,18 @@ int mca_btl_base_param_register(mca_base_component_t *version,
|
||||
module->btl_max_send_size, 1, size_t);
|
||||
|
||||
if(module->btl_flags & MCA_BTL_FLAGS_PUT) {
|
||||
/* Obsolete synonym for rdma_pipeline_offset -- no help
|
||||
/* Obsolete synonym for rdma_pipeline_send_length -- no help
|
||||
message needed because it's a "hidden" parameter. */
|
||||
mca_base_param_reg_int(version, "min_rdma_size", "", true, false,
|
||||
0, &value);
|
||||
if (0 != value) {
|
||||
opal_output(0, "The min_rdma_size BTL parameter is deprecated. Please use the rdma_pipeline_offset BTL parameter instead");
|
||||
module->btl_rdma_pipeline_offset = (size_t)value;
|
||||
0, &value);
|
||||
if(value != 0) {
|
||||
opal_output(0, "min_rdma_size BTL parameter is deprecated. Please "
|
||||
"use the rdma_pipeline_send_length BTL parameter instead\n");
|
||||
module->btl_rdma_pipeline_send_length = (size_t)value;
|
||||
}
|
||||
|
||||
REG_INT("rdma_pipeline_offset", "Length of the \"phase 2\" portion of a large message (in bytes) when using the pipeline protocol. This part of the message will be split into fragments of size max_send_size and sent using send/receive semantics (must be >= 0; only relevant when the PUT flag is set)",
|
||||
module->btl_rdma_pipeline_offset,
|
||||
0, size_t);
|
||||
REG_INT("rdma_pipeline_send_length", "Length of the \"phase 2\" portion of a large message (in bytes) when using the pipeline protocol. This part of the message will be split into fragments of size max_send_size and sent using send/receive semantics (must be >= 0; only relevant when the PUT flag is set)",
|
||||
module->btl_rdma_pipeline_send_length, 0, size_t);
|
||||
|
||||
/* Obsolete synonym for rdma_pipeline_frag_size -- no help
|
||||
message needed because it's a "hidden" parameter. */
|
||||
@ -92,12 +92,12 @@ int mca_btl_base_param_register(mca_base_component_t *version,
|
||||
REG_INT("rdma_pipeline_frag_size", "Maximum size (in bytes) of a single \"phase 3\" fragment from a long message when using the pipeline protocol. These fragments will be sent using RDMA semantics (must be >= 1; only relevant when the PUT flag is set)",
|
||||
module->btl_rdma_pipeline_frag_size, 1, size_t);
|
||||
|
||||
REG_INT("min_rdma_pipeline_size", "Messages smaller than this size (in bytes) will not use the RDMA pipeline protocol. Instead, they will be split into fragments of max_send_size and sent using send/receive semantics (must be >=0, and is automatically adjusted up to at least (eager_limit+rdma_pipeline_offset); only relevant when the PUT flag is set)",
|
||||
REG_INT("min_rdma_pipeline_size", "Messages smaller than this size (in bytes) will not use the RDMA pipeline protocol. Instead, they will be split into fragments of max_send_size and sent using send/receive semantics (must be >=0, and is automatically adjusted up to at least (eager_limit+btl_rdma_pipeline_send_length); only relevant when the PUT flag is set)",
|
||||
module->btl_min_rdma_pipeline_size, 0, size_t);
|
||||
if (module->btl_min_rdma_pipeline_size <
|
||||
(module->btl_eager_limit + module->btl_rdma_pipeline_offset)) {
|
||||
(module->btl_eager_limit + module->btl_rdma_pipeline_send_length)) {
|
||||
module->btl_min_rdma_pipeline_size =
|
||||
module->btl_eager_limit + module->btl_rdma_pipeline_offset;
|
||||
module->btl_eager_limit + module->btl_rdma_pipeline_send_length;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -572,7 +572,7 @@ struct mca_btl_base_module_t {
|
||||
size_t btl_eager_limit; /**< maximum size of first fragment -- eager send */
|
||||
size_t btl_min_send_size; /**< threshold below which the BTL should not fragment */
|
||||
size_t btl_max_send_size; /**< maximum send fragment size supported by the BTL */
|
||||
size_t btl_rdma_pipeline_offset; /**< offset to start RDMAing data from */
|
||||
size_t btl_rdma_pipeline_send_length; /**< amount of bytes that should be send by pipeline protocol */
|
||||
size_t btl_rdma_pipeline_frag_size; /**< maximum rdma fragment size supported by the BTL */
|
||||
size_t btl_min_rdma_pipeline_size; /**< minimum packet size for pipeline protocol */
|
||||
uint32_t btl_exclusivity; /**< indicates this BTL should be used exclusively */
|
||||
|
@ -62,7 +62,7 @@ mca_btl_gm_module_t mca_btl_gm_module = {
|
||||
0, /* max size of first fragment */
|
||||
0, /* min send fragment size */
|
||||
0, /* max send fragment size */
|
||||
0, /* btl_rdma_pipeline_offset */
|
||||
0, /* btl_rdma_pipeline_send_length */
|
||||
0, /* btl_rdma_pipeline_frag_size */
|
||||
0, /* btl_min_rdma_pipeline_size */
|
||||
0, /* exclusivity */
|
||||
|
@ -155,7 +155,7 @@ int mca_btl_gm_component_open(void)
|
||||
mca_btl_gm_module.super.btl_eager_limit = 32*1024;
|
||||
mca_btl_gm_module.super.btl_min_send_size = 32*1024;
|
||||
mca_btl_gm_module.super.btl_max_send_size = 64*1024;
|
||||
mca_btl_gm_module.super.btl_rdma_pipeline_offset = 512*1024;
|
||||
mca_btl_gm_module.super.btl_rdma_pipeline_send_length = 512*1024;
|
||||
mca_btl_gm_module.super.btl_rdma_pipeline_frag_size = 128*1024;
|
||||
mca_btl_gm_module.super.btl_min_rdma_pipeline_size = 128*1024;
|
||||
#if OMPI_MCA_BTL_GM_HAVE_RDMA_PUT
|
||||
|
@ -43,7 +43,7 @@ mca_btl_mvapi_module_t mca_btl_mvapi_module = {
|
||||
0, /* max size of first fragment */
|
||||
0, /* min send fragment size */
|
||||
0, /* max send fragment size */
|
||||
0, /* btl_rdma_pipeline_offset */
|
||||
0, /* btl_rdma_pipeline_send_length */
|
||||
0, /* btl_rdma_pipeline_frag_size */
|
||||
0, /* btl_min_rdma_pipeline_size */
|
||||
0, /* exclusivity */
|
||||
|
@ -226,7 +226,7 @@ int mca_btl_mvapi_component_open(void)
|
||||
mca_btl_mvapi_module.super.btl_eager_limit = 12*1024;
|
||||
mca_btl_mvapi_module.super.btl_min_send_size = 32*1024;
|
||||
mca_btl_mvapi_module.super.btl_max_send_size = 64*1024;
|
||||
mca_btl_mvapi_module.super.btl_rdma_pipeline_offset = 1024*1024;
|
||||
mca_btl_mvapi_module.super.btl_rdma_pipeline_send_length = 1024*1024;
|
||||
mca_btl_mvapi_module.super.btl_rdma_pipeline_frag_size = 1024*1024;
|
||||
mca_btl_mvapi_module.super.btl_min_rdma_pipeline_size = 256*1024;
|
||||
mca_btl_mvapi_module.super.btl_flags = MCA_BTL_FLAGS_RDMA;
|
||||
|
@ -512,7 +512,7 @@ mca_btl_mx_module_t mca_btl_mx_module = {
|
||||
0, /* max size of first fragment */
|
||||
0, /* min send fragment size */
|
||||
0, /* max send fragment size */
|
||||
0, /* btl_rdma_pipeline_offset */
|
||||
0, /* btl_rdma_pipeline_send_length */
|
||||
0, /* btl_rdma_pipeline_frag_size */
|
||||
0, /* btl_min_rdma_pipeline_size */
|
||||
0, /* exclusivity */
|
||||
|
@ -146,7 +146,7 @@ int mca_btl_mx_component_open(void)
|
||||
mca_btl_mx_module.super.btl_eager_limit = 4096;
|
||||
mca_btl_mx_module.super.btl_min_send_size = 4096;
|
||||
mca_btl_mx_module.super.btl_max_send_size = 64*1024;
|
||||
mca_btl_mx_module.super.btl_rdma_pipeline_offset = 256*1024;
|
||||
mca_btl_mx_module.super.btl_rdma_pipeline_send_length = 256*1024;
|
||||
mca_btl_mx_module.super.btl_rdma_pipeline_frag_size = 8*1024*1024;
|
||||
mca_btl_mx_module.super.btl_min_rdma_pipeline_size = 0;
|
||||
mca_btl_mx_module.super.btl_flags = MCA_BTL_FLAGS_SEND_INPLACE | MCA_BTL_FLAGS_PUT | MCA_BTL_FLAGS_SEND;
|
||||
|
@ -59,7 +59,7 @@ mca_btl_openib_module_t mca_btl_openib_module = {
|
||||
0, /* max size of first fragment */
|
||||
0, /* min send fragment size */
|
||||
0, /* max send fragment size */
|
||||
0, /* btl_rdma_pipeline_offset */
|
||||
0, /* btl_rdma_pipeline_send_length */
|
||||
0, /* btl_rdma_pipeline_frag_size */
|
||||
0, /* btl_min_rdma_pipeline_size */
|
||||
0, /* exclusivity */
|
||||
|
@ -414,7 +414,7 @@ int btl_openib_register_mca_params(void)
|
||||
mca_btl_openib_module.super.btl_eager_limit = 12 * 1024;
|
||||
mca_btl_openib_module.super.btl_min_send_size = 32 * 1024;
|
||||
mca_btl_openib_module.super.btl_max_send_size = 64 * 1024;
|
||||
mca_btl_openib_module.super.btl_rdma_pipeline_offset = 1024 * 1024;
|
||||
mca_btl_openib_module.super.btl_rdma_pipeline_send_length = 1024 * 1024;
|
||||
mca_btl_openib_module.super.btl_rdma_pipeline_frag_size = 1024 * 1024;
|
||||
mca_btl_openib_module.super.btl_min_rdma_pipeline_size = 256 * 1024;
|
||||
mca_btl_openib_module.super.btl_flags = MCA_BTL_FLAGS_RDMA |
|
||||
|
@ -45,7 +45,7 @@ mca_btl_portals_module_t mca_btl_portals_module = {
|
||||
0, /* max size of first frag */
|
||||
0, /* min send size */
|
||||
0, /* max send size */
|
||||
0, /* btl_rdma_pipeline_offset */
|
||||
0, /* btl_rdma_pipeline_send_length */
|
||||
0, /* btl_rdma_pipeline_frag_size */
|
||||
0, /* btl_min_rdma_pipeline_size */
|
||||
0, /* exclusivity - higher than sm, lower than self */
|
||||
|
@ -132,7 +132,7 @@ mca_btl_portals_component_open(void)
|
||||
mca_btl_portals_module.super.btl_eager_limit = 32 * 1024;
|
||||
mca_btl_portals_module.super.btl_min_send_size = 32 * 1024;
|
||||
mca_btl_portals_module.super.btl_max_send_size = 64 * 1024;
|
||||
mca_btl_portals_module.super.btl_rdma_pipeline_offset = 64 * 1024;
|
||||
mca_btl_portals_module.super.btl_rdma_pipeline_send_length = 64 * 1024;
|
||||
mca_btl_portals_module.super.btl_rdma_pipeline_frag_size = INT_MAX;
|
||||
mca_btl_portals_module.super.btl_min_rdma_pipeline_size = 0;
|
||||
mca_btl_portals_module.super.btl_flags = MCA_BTL_FLAGS_RDMA;
|
||||
|
@ -48,7 +48,7 @@ mca_btl_base_module_t mca_btl_self = {
|
||||
0, /* btl_eager_limit */
|
||||
0, /* btl_min_send_size */
|
||||
0, /* btl_max_send_size */
|
||||
0, /* btl_rdma_pipeline_offset */
|
||||
0, /* btl_rdma_pipeline_send_length */
|
||||
0, /* btl_rdma_pipeline_frag_size */
|
||||
0, /* btl_min_rdma_pipeline_size */
|
||||
0, /* btl_exclusivity */
|
||||
|
@ -94,7 +94,7 @@ int mca_btl_self_component_open(void)
|
||||
mca_btl_self.btl_eager_limit = 128 * 1024;
|
||||
mca_btl_self.btl_min_send_size = 256 * 1024;
|
||||
mca_btl_self.btl_max_send_size = 256 * 1024;
|
||||
mca_btl_self.btl_rdma_pipeline_offset = INT_MAX;
|
||||
mca_btl_self.btl_rdma_pipeline_send_length = INT_MAX;
|
||||
mca_btl_self.btl_rdma_pipeline_frag_size = INT_MAX;
|
||||
mca_btl_self.btl_min_rdma_pipeline_size = 0;
|
||||
mca_btl_self.btl_flags = MCA_BTL_FLAGS_PUT | MCA_BTL_FLAGS_SEND_INPLACE;
|
||||
|
@ -88,7 +88,7 @@ mca_btl_sm_t mca_btl_sm = {
|
||||
0, /* btl_eager_limit */
|
||||
0, /* btl_min_send_size */
|
||||
0, /* btl_max_send_size */
|
||||
0, /* btl_rdma_pipeline_offset */
|
||||
0, /* btl_rdma_pipeline_send_length */
|
||||
0, /* btl_rdma_pipeline_frag_size */
|
||||
0, /* btl_min_rdma_pipeline_size */
|
||||
0, /* btl_exclusivity */
|
||||
|
@ -161,7 +161,7 @@ int mca_btl_sm_component_open(void)
|
||||
mca_btl_sm.super.btl_eager_limit = 4*1024;
|
||||
mca_btl_sm.super.btl_min_send_size = 32*1024;
|
||||
mca_btl_sm.super.btl_max_send_size = 32*1024;
|
||||
mca_btl_sm.super.btl_rdma_pipeline_offset = 32*1024;
|
||||
mca_btl_sm.super.btl_rdma_pipeline_send_length = 32*1024;
|
||||
mca_btl_sm.super.btl_rdma_pipeline_frag_size = 32*1024;
|
||||
mca_btl_sm.super.btl_min_rdma_pipeline_size = 0;
|
||||
mca_btl_sm.super.btl_flags = MCA_BTL_FLAGS_SEND;
|
||||
|
@ -42,7 +42,7 @@ mca_btl_tcp_module_t mca_btl_tcp_module = {
|
||||
0, /* max size of first fragment */
|
||||
0, /* min send fragment size */
|
||||
0, /* max send fragment size */
|
||||
0, /* btl_rdma_pipeline_offset */
|
||||
0, /* btl_rdma_pipeline_send_length */
|
||||
0, /* btl_rdma_pipeline_frag_size */
|
||||
0, /* btl_min_rdma_pipeline_size */
|
||||
0, /* exclusivity */
|
||||
|
@ -218,7 +218,7 @@ int mca_btl_tcp_component_open(void)
|
||||
mca_btl_tcp_module.super.btl_eager_limit = 64*1024;
|
||||
mca_btl_tcp_module.super.btl_min_send_size = 64*1024;
|
||||
mca_btl_tcp_module.super.btl_max_send_size = 128*1024;
|
||||
mca_btl_tcp_module.super.btl_rdma_pipeline_offset = 128*1024;
|
||||
mca_btl_tcp_module.super.btl_rdma_pipeline_send_length = 128*1024;
|
||||
mca_btl_tcp_module.super.btl_rdma_pipeline_frag_size = INT_MAX;
|
||||
mca_btl_tcp_module.super.btl_min_rdma_pipeline_size = 0;
|
||||
mca_btl_tcp_module.super.btl_flags = MCA_BTL_FLAGS_PUT |
|
||||
|
@ -54,7 +54,7 @@ mca_btl_udapl_module_t mca_btl_udapl_module = {
|
||||
0, /* max size of first fragment */
|
||||
0, /* min send fragment size */
|
||||
0, /* max send fragment size */
|
||||
0, /* btl_rdma_pipeline_offset */
|
||||
0, /* btl_rdma_pipeline_send_length */
|
||||
0, /* btl_rdma_pipeline_frag_size */
|
||||
0, /* btl_min_rdma_pipeline_size */
|
||||
0, /* exclusivity */
|
||||
|
@ -264,7 +264,7 @@ int mca_btl_udapl_register_mca_params(void)
|
||||
mca_btl_udapl_module.super.btl_eager_limit = 8*1024;
|
||||
mca_btl_udapl_module.super.btl_min_send_size = 16*1024;
|
||||
mca_btl_udapl_module.super.btl_max_send_size = 64*1024;
|
||||
mca_btl_udapl_module.super.btl_rdma_pipeline_offset = 512*1024;
|
||||
mca_btl_udapl_module.super.btl_rdma_pipeline_send_length = 512*1024;
|
||||
mca_btl_udapl_module.super.btl_rdma_pipeline_frag_size = 128 * 1024;
|
||||
mca_btl_udapl_module.super.btl_min_rdma_pipeline_size = 0;
|
||||
mca_btl_udapl_module.super.btl_flags = MCA_BTL_FLAGS_PUT | MCA_BTL_FLAGS_SEND;
|
||||
|
@ -262,12 +262,13 @@ static int mca_pml_ob1_recv_request_ack(
|
||||
recvreq->req_send_offset = hdr->hdr_msg_length;
|
||||
/* are rdma devices available for long rdma protocol */
|
||||
} else if (bml_endpoint->btl_send_limit < hdr->hdr_msg_length &&
|
||||
bml_endpoint->btl_rdma_offset < hdr->hdr_msg_length &&
|
||||
bml_endpoint->btl_pipeline_send_length <
|
||||
hdr->hdr_msg_length &&
|
||||
mca_bml_base_btl_array_get_size(&bml_endpoint->btl_rdma)) {
|
||||
|
||||
/* use convertor to figure out the rdma offset for this request */
|
||||
recvreq->req_send_offset = hdr->hdr_msg_length -
|
||||
bml_endpoint->btl_rdma_offset;
|
||||
bml_endpoint->btl_pipeline_send_length;
|
||||
if(recvreq->req_send_offset < bytes_received) {
|
||||
recvreq->req_send_offset = bytes_received;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user