Hi Ralph, it seems you are rounding the final turn to release 1.7.4!
I hope this will be my final request for openmpi-1.7.4 as well.

I mostly use rr_mapper but sometimes use ppr_mapper. I have a simple
request to ask you to improve its usability. Namely, I propose to
remove redfining-policy-check routine in rmaps_ppr_component.c
(the line 130-138) :

130          if (ORTE_MAPPING_GIVEN & ORTE_GET_MAPPING_DIRECTIVE
(orte_rmaps_base.mapping)) {
131              /* if a non-default mapping is already specified, then we
132               * have an error
133               */
134              orte_show_help("help-orte-rmaps-base.txt",
"redefining-policy", true, "mapping",
135                             "PPR", orte_rmaps_base_print_mapping
(orte_rmaps_base.mapping));
136              ORTE_SET_MAPPING_DIRECTIVE(orte_rmaps_base.mapping,
ORTE_MAPPING_CONFLICTED);
137              return ORTE_ERR_SILENT;
138          }

The reasons are as follows:

1) The final mapper to be used should be selected by the priority set
by system or mca param. The ppr_priority is fixed to be 90 and the
rr_priority can be set by mca param(default = 10).

2) If we set "rmaps_base_mapping_policy = something" in
mca-params.conf, -ppr option is always refused by this check as
below:
[mishima@manage demos]$ mpirun -np 2 -ppr 1:socket
~/mis/openmpi/demos/myprog
--------------------------------------------------------------------------
Conflicting directives for mapping policy are causing the policy
to be redefined:

  New policy:   PPR
  Prior policy:  BYSOCKET

Please check that only one policy is defined.

3) This fix does not seem to affect any other behavior as far as
I confirmed.

Regard,
Tetsuya Mishima

> Kewl - thanks!
>
> On Jan 27, 2014, at 4:08 PM, tmish...@jcity.maeda.co.jp wrote:
>
> >
> >
> > Thanks, Ralph. I quickly checked the fix. It worked fine for me.
> >
> > Tetsuya Mishima
> >
> >> I fixed that in today's final cleanup
> >>
> >> On Jan 27, 2014, at 3:17 PM, tmish...@jcity.maeda.co.jp wrote:
> >>
> >>
> >>
> >> As for the NEWS - it is actually already correct. We default to map-by
> >> core, not slot, as of 1.7.4.
> >>
> >> Is it correct? As far as I browse the source code, map-by slot is used
if
> >> np <=2.
> >>
> >> [mishima@manage openmpi-1.7.4rc2r30425]$ cat -n
> >> orte/mca/rmaps/base/rmaps_base_map_job.c
> >> ...
> >>   107              /* default based on number of procs */
> >>   108              if (nprocs <= 2) {
> >>   109                  opal_output_verbose(5,
> >> orte_rmaps_base_framework.framework_output,
> >>   110                                      "mca:rmaps mapping not
given -
> >> using byslot");
> >>   111                  ORTE_SET_MAPPING_POLICY(map->mapping,
> >> ORTE_MAPPING_BYSLOT);
> >>   112              } else {
> >>   113                  opal_output_verbose(5,
> >> orte_rmaps_base_framework.framework_output,
> >>   114                                      "mca:rmaps mapping not
given -
> >> using bysocket");
> >>   115                  ORTE_SET_MAPPING_POLICY(map->mapping,
> >> ORTE_MAPPING_BYSOCKET);
> >>   116              }
> >>
> >> Regards,
> >> Tetsuya Mishima
> >>
> >> On Jan 26, 2014, at 3:02 PM, tmish...@jcity.maeda.co.jp wrote:
> >>
> >>
> >> Hi Ralph,
> >>
> >> I tried latest nightly snapshots of openmpi-1.7.4rc2r30425.tar.gz.
> >> Almost everything works fine, except that the unexpected output
appears
> >> as below:
> >>
> >> [mishima@node04 ~]$ mpirun -cpus-per-proc 4 ~/mis/openmpi/demos/myprog
> >> App launch reported: 3 (out of 3) daemons - 8 (out of 12) procs
> >> ...
> >>
> >> You dropped the if-statement checking "orte_report_launch_progress" in
> >> plm_base_receive.c @ r30423, which causes the problem.
> >>
> >> --- orte/mca/plm/base/plm_base_receive.c.org2014-01-25
> >> 11:51:59.000000000 +0900
> >> +++ orte/mca/plm/base/plm_base_receive.c2014-01-26
> >> 12:20:10.000000000
> >> +0900
> >> @@ -315,9 +315,11 @@
> >>            /* record that we heard back from a daemon during app
> >> launch
> >> */
> >>            if (running && NULL != jdata) {
> >>                jdata->num_daemons_reported++;
> >> -                if (0 == jdata->num_daemons_reported % 100 ||
> >> -                    jdata->num_daemons_reported ==
> >> orte_process_info.num_procs) {
> >> -                    ORTE_ACTIVATE_JOB_STATE(jdata,
> >> ORTE_JOB_STATE_REPORT_PROGRESS);
> >> +                if (orte_report_launch_progress) {
> >> +                    if (0 == jdata->num_daemons_reported % 100 ||
> >> +                        jdata->num_daemons_reported ==
> >> orte_process_info.num_procs) {
> >> +                        ORTE_ACTIVATE_JOB_STATE(jdata,
> >> ORTE_JOB_STATE_REPORT_PROGRESS);
> >> +                    }
> >>                }
> >>            }
> >>            /* prepare for next job */
> >>
> >> Regards,
> >> Tetsuya Mishima
> >>
> >> P.S. It's also better to change the line 65 in NEWS.
> >>
> >> ...
> >> 64   * Mapping:
> >> 65   *   if #procs <= 2, default to map-by core  -> map-by slot
> >>                                   ^^^^^^^^^^^
> >> 66   *   if #procs > 2, default to map-by socket
> >> ...
> >>
> >> _______________________________________________
> >> users mailing list
> >> us...@open-mpi.org
> >> http://www.open-mpi.org/mailman/listinfo.cgi/users
> >>
> >> _______________________________________________
> >> users mailing list
> >> us...@open-mpi.org
> >> http://www.open-mpi.org/mailman/listinfo.cgi/users
> >>
> >> _______________________________________________
> >> users mailing list
> >> us...@open-mpi.org
> >>
> >
http://www.open-mpi.org/mailman/listinfo.cgi/users_______________________________________________

> >
> >> users mailing list
> >> users@open-mpi.orghttp://www.open-mpi.org/mailman/listinfo.cgi/users
> >
> > _______________________________________________
> > users mailing list
> > us...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to