convert openib btl to use new mca_param registration.. Also, change rr_buf_min
and rr_buf_max to rd_min and rd_max This commit was SVN r7786.
Этот коммит содержится в:
родитель
c944988b9e
Коммит
3efecaaeda
@ -80,24 +80,34 @@ mca_btl_openib_component_t mca_btl_openib_component = {
|
||||
* utility routines for parameter registration
|
||||
*/
|
||||
|
||||
static inline char* mca_btl_openib_param_register_string(
|
||||
const char* param_name,
|
||||
const char* default_value)
|
||||
static inline void mca_btl_openib_param_register_string(
|
||||
const char* param_name,
|
||||
const char* param_desc,
|
||||
const char* default_value,
|
||||
char** out_value)
|
||||
{
|
||||
char *param_value;
|
||||
int id = mca_base_param_register_string("btl","openib",param_name,NULL,default_value);
|
||||
mca_base_param_lookup_string(id, ¶m_value);
|
||||
return param_value;
|
||||
mca_base_param_reg_string(&mca_btl_openib_component.super.btl_version,
|
||||
param_name,
|
||||
param_desc,
|
||||
false,
|
||||
false,
|
||||
default_value,
|
||||
out_value);
|
||||
}
|
||||
|
||||
static inline int mca_btl_openib_param_register_int(
|
||||
const char* param_name,
|
||||
int default_value)
|
||||
static inline void mca_btl_openib_param_register_int(
|
||||
const char* param_name,
|
||||
const char* param_desc,
|
||||
int default_value,
|
||||
int* out_value)
|
||||
{
|
||||
int id = mca_base_param_register_int("btl","openib",param_name,NULL,default_value);
|
||||
int param_value = default_value;
|
||||
mca_base_param_lookup_int(id,¶m_value);
|
||||
return param_value;
|
||||
mca_base_param_reg_int(&mca_btl_openib_component.super.btl_version,
|
||||
param_name,
|
||||
param_desc,
|
||||
false,
|
||||
false,
|
||||
default_value,
|
||||
out_value);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -118,97 +128,71 @@ int mca_btl_openib_component_open(void)
|
||||
OBJ_CONSTRUCT(&mca_btl_openib_component.ib_procs, opal_list_t);
|
||||
|
||||
/* register IB component parameters */
|
||||
mca_btl_openib_component.ib_free_list_num =
|
||||
mca_btl_openib_param_register_int ("free_list_num", 8);
|
||||
mca_btl_openib_component.ib_free_list_max =
|
||||
mca_btl_openib_param_register_int ("free_list_max", 1024);
|
||||
mca_btl_openib_component.ib_free_list_inc =
|
||||
mca_btl_openib_param_register_int ("free_list_inc", 32);
|
||||
mca_btl_openib_component.ib_mpool_name =
|
||||
mca_btl_openib_param_register_string("mpool", "openib");
|
||||
mca_btl_openib_component.ib_rr_buf_max =
|
||||
mca_btl_openib_param_register_int("rr_buf_max", 16);
|
||||
mca_btl_openib_component.ib_rr_buf_min =
|
||||
mca_btl_openib_param_register_int("rr_buf_min", 8);
|
||||
mca_btl_openib_component.reg_mru_len =
|
||||
mca_btl_openib_param_register_int("reg_mru_len", 16);
|
||||
mca_btl_openib_component.use_srq =
|
||||
mca_btl_openib_param_register_int("use_srq", 0);
|
||||
|
||||
mca_btl_openib_component.ib_cq_size =
|
||||
mca_btl_openib_param_register_int("ib_cq_size",
|
||||
500);
|
||||
mca_btl_openib_component.ib_wq_size =
|
||||
mca_btl_openib_param_register_int("ib_wq_size",
|
||||
500);
|
||||
mca_btl_openib_component.ib_sg_list_size =
|
||||
mca_btl_openib_param_register_int("ib_sg_list_size",
|
||||
1);
|
||||
mca_btl_openib_component.ib_pkey_ix =
|
||||
mca_btl_openib_param_register_int("ib_pkey_ix",
|
||||
0);
|
||||
mca_btl_openib_component.ib_psn =
|
||||
mca_btl_openib_param_register_int("ib_psn",
|
||||
0);
|
||||
mca_btl_openib_component.ib_qp_ous_rd_atom =
|
||||
mca_btl_openib_param_register_int("ib_qp_ous_rd_atom",
|
||||
1);
|
||||
mca_btl_openib_component.ib_mtu =
|
||||
mca_btl_openib_param_register_int("ib_mtu",
|
||||
IBV_MTU_1024);
|
||||
mca_btl_openib_component.ib_min_rnr_timer =
|
||||
mca_btl_openib_param_register_int("ib_min_rnr_timer",
|
||||
5);
|
||||
mca_btl_openib_component.ib_timeout =
|
||||
mca_btl_openib_param_register_int("ib_timeout",
|
||||
10);
|
||||
mca_btl_openib_component.ib_retry_count =
|
||||
mca_btl_openib_param_register_int("ib_retry_count",
|
||||
7);
|
||||
mca_btl_openib_component.ib_rnr_retry =
|
||||
mca_btl_openib_param_register_int("ib_rnr_retry",
|
||||
7);
|
||||
mca_btl_openib_component.ib_max_rdma_dst_ops =
|
||||
mca_btl_openib_param_register_int("ib_max_rdma_dst_ops",
|
||||
16);
|
||||
|
||||
mca_btl_openib_component.ib_service_level =
|
||||
mca_btl_openib_param_register_int("ib_service_level",
|
||||
0);
|
||||
mca_btl_openib_component.ib_static_rate =
|
||||
mca_btl_openib_param_register_int("ib_static_rate",
|
||||
0);
|
||||
mca_btl_openib_component.ib_src_path_bits =
|
||||
mca_btl_openib_param_register_int("ib_src_path_bits",
|
||||
0);
|
||||
mca_btl_openib_component.rd_per_peer =
|
||||
mca_btl_openib_param_register_int("rd_per_peer",
|
||||
16);
|
||||
|
||||
|
||||
|
||||
mca_btl_openib_module.super.btl_exclusivity =
|
||||
mca_btl_openib_param_register_int ("exclusivity", MCA_BTL_EXCLUSIVITY_DEFAULT);
|
||||
mca_btl_openib_module.super.btl_eager_limit =
|
||||
mca_btl_openib_param_register_int ("eager_limit", (64*1024))
|
||||
- sizeof(mca_btl_openib_header_t);
|
||||
|
||||
mca_btl_openib_module.super.btl_min_send_size =
|
||||
mca_btl_openib_param_register_int ("min_send_size", (64*1024))
|
||||
- sizeof(mca_btl_openib_header_t);
|
||||
|
||||
mca_btl_openib_module.super.btl_max_send_size =
|
||||
mca_btl_openib_param_register_int ("max_send_size", (128*1024))
|
||||
- sizeof(mca_btl_openib_header_t);
|
||||
mca_btl_openib_module.super.btl_min_rdma_size =
|
||||
mca_btl_openib_param_register_int("min_rdma_size",
|
||||
1024*1024);
|
||||
mca_btl_openib_module.super.btl_max_rdma_size =
|
||||
mca_btl_openib_param_register_int("max_rdma_size",
|
||||
1024*1024);
|
||||
mca_btl_openib_module.super.btl_flags =
|
||||
mca_btl_openib_param_register_int("flags",
|
||||
MCA_BTL_FLAGS_PUT);
|
||||
mca_btl_openib_param_register_int ("free_list_num", "intial size of free lists",
|
||||
8, &mca_btl_openib_component.ib_free_list_num);
|
||||
mca_btl_openib_param_register_int ("free_list_max", "maximum size of free lists",
|
||||
1024, &mca_btl_openib_component.ib_free_list_max);
|
||||
mca_btl_openib_param_register_int ("free_list_inc", "increment size of free lists",
|
||||
32, &mca_btl_openib_component.ib_free_list_inc);
|
||||
mca_btl_openib_param_register_string("mpool", "name of the memory pool to be used",
|
||||
"openib", &mca_btl_openib_component.ib_mpool_name);
|
||||
mca_btl_openib_param_register_int("rd_max", "maximum number of receive descriptors to post to a QP",
|
||||
16, (int*) &mca_btl_openib_component.ib_rr_buf_max);
|
||||
mca_btl_openib_param_register_int("rd_min", "minimum number of receive descriptors before reposting occurs",
|
||||
8, (int*) &mca_btl_openib_component.ib_rr_buf_min);
|
||||
mca_btl_openib_param_register_int("reg_mru_len", "length of the registration cache most recently used list",
|
||||
16, (int*) &mca_btl_openib_component.reg_mru_len);
|
||||
mca_btl_openib_param_register_int("use_srq", "if 1 use the IB shared receive queue to post receive descriptors",
|
||||
0, (int*) &mca_btl_openib_component.use_srq);
|
||||
mca_btl_openib_param_register_int("ib_cq_size", "size of the IB completion queue",
|
||||
500, (int*) &mca_btl_openib_component.ib_cq_size);
|
||||
mca_btl_openib_param_register_int("ib_wq_size", "size of the IB work queue",
|
||||
500, (int*) &mca_btl_openib_component.ib_wq_size);
|
||||
mca_btl_openib_param_register_int("ib_sg_list_size", "size of IB segment list",
|
||||
1, (int*) &mca_btl_openib_component.ib_sg_list_size);
|
||||
mca_btl_openib_param_register_int("ib_pkey_ix", "IB pkey index",
|
||||
0, (int*) &mca_btl_openib_component.ib_pkey_ix);
|
||||
mca_btl_openib_param_register_int("ib_psn", "IB Packet sequence starting number",
|
||||
0, (int*) &mca_btl_openib_component.ib_psn);
|
||||
mca_btl_openib_param_register_int("ib_qp_ous_rd_atom", "IB outstanding atomic reads",
|
||||
1, (int*) &mca_btl_openib_component.ib_qp_ous_rd_atom);
|
||||
mca_btl_openib_param_register_int("ib_mtu", "IB MTU",
|
||||
IBV_MTU_1024, (int*) &mca_btl_openib_component.ib_mtu);
|
||||
mca_btl_openib_param_register_int("ib_min_rnr_timer", "IB min rnr timer",
|
||||
5, (int*) &mca_btl_openib_component.ib_min_rnr_timer);
|
||||
mca_btl_openib_param_register_int("ib_timeout", "IB transmit timeout",
|
||||
10, (int*) &mca_btl_openib_component.ib_timeout);
|
||||
mca_btl_openib_param_register_int("ib_retry_count", "IB transmit retry count",
|
||||
7, (int*) &mca_btl_openib_component.ib_retry_count);
|
||||
mca_btl_openib_param_register_int("ib_rnr_retry", "IB rnr retry",
|
||||
7, (int*) mca_btl_openib_component.ib_rnr_retry);
|
||||
mca_btl_openib_param_register_int("ib_max_rdma_dst_ops", "IB max rdma destination operations",
|
||||
16, (int*) &mca_btl_openib_component.ib_max_rdma_dst_ops);
|
||||
mca_btl_openib_param_register_int("ib_service_level", "IB service level",
|
||||
0, (int*) &mca_btl_openib_component.ib_service_level);
|
||||
mca_btl_openib_param_register_int("ib_static_rate", "IB static rate",
|
||||
0, (int*) &mca_btl_openib_component.ib_static_rate);
|
||||
mca_btl_openib_param_register_int("ib_src_path_bits", "IB source path bits",
|
||||
0, (int*) &mca_btl_openib_component.ib_src_path_bits);
|
||||
mca_btl_openib_param_register_int("rd_per_peer", "receive descriptors posted per peer, SRQ mode only",
|
||||
16, (int*) &mca_btl_openib_component.rd_per_peer);
|
||||
mca_btl_openib_param_register_int ("exclusivity", "BTL exclusivity",
|
||||
MCA_BTL_EXCLUSIVITY_DEFAULT, (int*) &mca_btl_openib_module.super.btl_exclusivity);
|
||||
mca_btl_openib_param_register_int ("eager_limit", "eager send limit",
|
||||
(64*1024),(int*) &mca_btl_openib_module.super.btl_eager_limit);
|
||||
mca_btl_openib_module.super.btl_eager_limit -= sizeof(mca_btl_openib_header_t);
|
||||
mca_btl_openib_param_register_int ("min_send_size", "minimum send size",
|
||||
(64*1024),(int*) &mca_btl_openib_module.super.btl_min_send_size);
|
||||
mca_btl_openib_module.super.btl_min_send_size -= sizeof(mca_btl_openib_header_t);
|
||||
mca_btl_openib_param_register_int ("max_send_size", "maximum send size",
|
||||
(128*1024), (int*) &mca_btl_openib_module.super.btl_max_send_size);
|
||||
mca_btl_openib_module.super.btl_max_send_size -= sizeof(mca_btl_openib_header_t);
|
||||
mca_btl_openib_param_register_int("min_rdma_size", "minimum rdma size",
|
||||
1024*1024, (int*) &mca_btl_openib_module.super.btl_min_rdma_size);
|
||||
mca_btl_openib_param_register_int("max_rdma_size", "maximium rdma size",
|
||||
1024*1024, (int*) &mca_btl_openib_module.super.btl_max_rdma_size);
|
||||
mca_btl_openib_param_register_int("flags", "BTL flags, SEND=0, PUT=1, GET=2",
|
||||
MCA_BTL_FLAGS_PUT, (int*) &mca_btl_openib_module.super.btl_flags);
|
||||
|
||||
|
||||
param = mca_base_param_find("mpi", NULL, "leave_pinned");
|
||||
@ -392,7 +376,7 @@ mca_btl_base_module_t** mca_btl_openib_component_init(int *num_btl_modules,
|
||||
|
||||
/* Allocate space for btl modules */
|
||||
mca_btl_openib_component.openib_btls = (mca_btl_openib_module_t*) malloc(sizeof(mca_btl_openib_module_t) *
|
||||
mca_btl_openib_component.ib_num_btls);
|
||||
mca_btl_openib_component.ib_num_btls);
|
||||
|
||||
if(NULL == mca_btl_openib_component.openib_btls) {
|
||||
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user