Start to add a MCA parameter to fix the limit between eager and rendez-vous protocol (gm_max_eager_fragments).
This commit was SVN r3856.
Этот коммит содержится в:
родитель
7f5c731cdf
Коммит
d70a22b057
@ -45,12 +45,16 @@ struct mca_ptl_gm_component_t {
|
|||||||
struct mca_ptl_gm_module_t **gm_ptl_modules; /**< array of available PTL modules */
|
struct mca_ptl_gm_module_t **gm_ptl_modules; /**< array of available PTL modules */
|
||||||
size_t gm_num_ptl_modules; /**< number of ptls actually used */
|
size_t gm_num_ptl_modules; /**< number of ptls actually used */
|
||||||
size_t gm_max_ptl_modules; /**< maximum number of ptls - available */
|
size_t gm_max_ptl_modules; /**< maximum number of ptls - available */
|
||||||
int gm_free_list_num; /**< initial size of free lists */
|
uint32_t gm_free_list_num; /**< initial size of free lists */
|
||||||
int gm_free_list_max; /**< maximum size of free lists */
|
uint32_t gm_free_list_max; /**< maximum size of free lists */
|
||||||
int gm_free_list_inc; /**< number of elements to alloc when growing free lists */
|
uint32_t gm_free_list_inc; /**< number of elements to alloc when growing free lists */
|
||||||
int gm_max_port_number; /**< maximum number of ports by board */
|
uint32_t gm_max_port_number; /**< maximum number of ports by board */
|
||||||
int gm_max_boards_number; /**< maximum number of boards on the node */
|
uint32_t gm_max_boards_number; /**< maximum number of boards on the node */
|
||||||
int gm_max_rdma_frag_size; /**< maximum fragment size used to transfer data over RDMA */
|
uint32_t gm_max_rdma_frag_size; /**< maximum fragment size used to transfer data over RDMA */
|
||||||
|
uint32_t gm_max_eager_fragments; /**< number of fragments before the rendez-vous protocol. If the
|
||||||
|
**< size of the message is less than this number multiplied by
|
||||||
|
**< the size of the first fragment then GM use a eager protocol.
|
||||||
|
*/
|
||||||
char* gm_port_name; /**< the name used to get the port */
|
char* gm_port_name; /**< the name used to get the port */
|
||||||
|
|
||||||
struct mca_ptl_gm_proc_t* gm_local;
|
struct mca_ptl_gm_proc_t* gm_local;
|
||||||
|
@ -97,12 +97,11 @@ mca_ptl_gm_component_open(void)
|
|||||||
|
|
||||||
/* register GM component parameters */
|
/* register GM component parameters */
|
||||||
mca_ptl_gm_module.super.ptl_first_frag_size =
|
mca_ptl_gm_module.super.ptl_first_frag_size =
|
||||||
mca_ptl_gm_param_register_int ("first_frag_size",
|
mca_ptl_gm_param_register_int ("first_frag_size", ((PTL_GM_FIRST_FRAG_SIZE) - 64));
|
||||||
((PTL_GM_FIRST_FRAG_SIZE) - 64));
|
|
||||||
mca_ptl_gm_module.super.ptl_min_frag_size =
|
mca_ptl_gm_module.super.ptl_min_frag_size =
|
||||||
mca_ptl_gm_param_register_int ("min_frag_size", 1<<16);
|
mca_ptl_gm_param_register_int ("min_frag_size", 1<<16);
|
||||||
mca_ptl_gm_module.super.ptl_max_frag_size =
|
mca_ptl_gm_module.super.ptl_max_frag_size =
|
||||||
mca_ptl_gm_param_register_int ("max_frag_size", 256 * 1024);
|
mca_ptl_gm_param_register_int ("max_frag_size", 256 * 1024 * 1024);
|
||||||
/* Parameters setting the message limits. */
|
/* Parameters setting the message limits. */
|
||||||
mca_ptl_gm_component.gm_port_name =
|
mca_ptl_gm_component.gm_port_name =
|
||||||
mca_ptl_gm_param_register_string( "port_name", "OMPI_GM" );
|
mca_ptl_gm_param_register_string( "port_name", "OMPI_GM" );
|
||||||
@ -112,6 +111,8 @@ mca_ptl_gm_component_open(void)
|
|||||||
mca_ptl_gm_param_register_int ("max_boards_number", 4 );
|
mca_ptl_gm_param_register_int ("max_boards_number", 4 );
|
||||||
mca_ptl_gm_component.gm_max_rdma_frag_size =
|
mca_ptl_gm_component.gm_max_rdma_frag_size =
|
||||||
mca_ptl_gm_param_register_int ("max_rdma_frag_size", 512 * 1024);
|
mca_ptl_gm_param_register_int ("max_rdma_frag_size", 512 * 1024);
|
||||||
|
mca_ptl_gm_component.gm_max_eager_fragments =
|
||||||
|
mca_ptl_gm_param_register_int( "max_eager_fragments", 5 );
|
||||||
mca_ptl_gm_component.gm_max_ptl_modules =
|
mca_ptl_gm_component.gm_max_ptl_modules =
|
||||||
mca_ptl_gm_param_register_int( "max_ptl_modules", 1 );
|
mca_ptl_gm_param_register_int( "max_ptl_modules", 1 );
|
||||||
|
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user