1
1

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.
Этот коммит содержится в:
George Bosilca 2004-12-21 06:23:42 +00:00
родитель 7f5c731cdf
Коммит d70a22b057
2 изменённых файлов: 14 добавлений и 9 удалений

Просмотреть файл

@ -45,12 +45,16 @@ struct mca_ptl_gm_component_t {
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_max_ptl_modules; /**< maximum number of ptls - available */
int gm_free_list_num; /**< initial size of free lists */
int gm_free_list_max; /**< maximum size of free lists */
int gm_free_list_inc; /**< number of elements to alloc when growing free lists */
int gm_max_port_number; /**< maximum number of ports by board */
int 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_free_list_num; /**< initial size of free lists */
uint32_t gm_free_list_max; /**< maximum size of free lists */
uint32_t gm_free_list_inc; /**< number of elements to alloc when growing free lists */
uint32_t gm_max_port_number; /**< maximum number of ports by board */
uint32_t gm_max_boards_number; /**< maximum number of boards on the node */
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 */
struct mca_ptl_gm_proc_t* gm_local;

Просмотреть файл

@ -97,12 +97,11 @@ mca_ptl_gm_component_open(void)
/* register GM component parameters */
mca_ptl_gm_module.super.ptl_first_frag_size =
mca_ptl_gm_param_register_int ("first_frag_size",
((PTL_GM_FIRST_FRAG_SIZE) - 64));
mca_ptl_gm_param_register_int ("first_frag_size", ((PTL_GM_FIRST_FRAG_SIZE) - 64));
mca_ptl_gm_module.super.ptl_min_frag_size =
mca_ptl_gm_param_register_int ("min_frag_size", 1<<16);
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. */
mca_ptl_gm_component.gm_port_name =
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_component.gm_max_rdma_frag_size =
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_param_register_int( "max_ptl_modules", 1 );