Seems like a reasonable, minimal risk request - will do On Jan 22, 2014, at 4:28 PM, tmish...@jcity.maeda.co.jp wrote:
> > Hi Ralph, I want to ask you one more thing about default setting of > num_procs > when we don't specify the -np option and we set the cpus-per-proc > 1. > > In this case, the round_robin_mapper sets num_procs = num_slots as below: > > rmaps_rr.c: > 130 if (0 == app->num_procs) { > 131 /* set the num_procs to equal the number of slots on these > mapped nodes */ > 132 app->num_procs = num_slots; > 133 } > > However, because of cpus_per_rank > 1, this num_procs will be refused at > the > line 61 in rmaps_rr_mappers.c as below, unless we switch on the > oversubscribe > directive. > > rmaps_rr_mappers.c: > 61 if (num_slots < ((int)app->num_procs * > orte_rmaps_base.cpus_per_rank)) { > 62 if (ORTE_MAPPING_NO_OVERSUBSCRIBE & ORTE_GET_MAPPING_DIRECTIVE > (jdata->map->mapping)) { > 63 orte_show_help("help-orte-rmaps-base.txt", > "orte-rmaps-base:alloc-error", > 64 true, app->num_procs, app->app); > 65 return ORTE_ERR_SILENT; > 66 } > 67 } > > Therefore, I think the default num_procs should be equal to the number of > num_slots divided by cpus/rank: > > app->num_procs = num_slots / orte_rmaps_base.cpus_per_rank; > > This would be more convinient for most of people who want to use the > -cpus-per-proc option. I already confirmed it worked well. Please consider > to apply this fix to 1.7.4. > > Regards, > Tetsuya Mishima > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users