1
1

ugni: update smsg defaults and add parameter to control local completion queue size

This commit was SVN r26399.
Этот коммит содержится в:
Nathan Hjelm 2012-05-07 17:22:49 +00:00
родитель bfcf67391a
Коммит 584c457352
2 изменённых файлов: 7 добавлений и 1 удалений

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

@ -93,6 +93,7 @@ typedef struct mca_btl_ugni_component_t {
uint32_t ugni_max_btls;
/* Maximum number of entries a completion queue can hold */
uint32_t cq_size;
uint32_t local_cq_size;
/* number of ugni modules */
uint32_t ugni_num_btls;

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

@ -80,6 +80,9 @@ btl_ugni_component_register(void)
mca_btl_ugni_component.cq_size =
mca_btl_ugni_param_register_int("cq_size", NULL, 40000);
mca_btl_ugni_component.local_cq_size =
mca_btl_ugni_param_register_int("local_cq_size", NULL, 8192);
/* SMSG limit. 0 - autoselect */
mca_btl_ugni_component.ugni_smsg_limit =
mca_btl_ugni_param_register_int("smsg_limit", "Maximum size message that "
@ -276,9 +279,11 @@ 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 <= 256) {
if (nprocs <= 512) {
mca_btl_ugni_component.ugni_smsg_limit = 8192;
} else if (nprocs <= 1024) {
mca_btl_ugni_component.ugni_smsg_limit = 2048;
} else if (nprocs <= 8192) {
mca_btl_ugni_component.ugni_smsg_limit = 1024;
} else if (nprocs <= 16384) {
mca_btl_ugni_component.ugni_smsg_limit = 512;