# -*- text -*-
#
# Copyright (c) 2026      Nanook Consulting  All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# This is the US/English help file for PRTE's DVM-wide collectives.
#
[fence-op-mismatch]

Participants in a fence asked for different operations. A fence is a
barrier when PMIX_COLLECT_DATA is false or absent, and an allgather when
it is true, and every participant must ask for the same one:

   Node reporting the disagreement: %s

This is an error in the application or in the library calling
PMIx_Fence: the directive is part of the collective's definition, so
passing different values from different participants asks the runtime
for two collectives at once. The fence has been failed rather than
completed with a result that only some participants would recognize.

Note that a participant contributing no data is NOT this error. An
allgather over participants that happen to have nothing to publish is
still an allgather, and is expected — only the directive decides.
#
[release-radix-noop]

The low-radix fence release was requested, but the release tree it would
use has the same radix as the routing tree, so it describes exactly the
same tree:

   Routing radix (rml_base_radix): %d
   Release radix (rml_base_radix2): %d

grpcomm_low_radix_release moves a fence's release off the routing tree
and onto a tree of its own, so that the rollup and the fanout can be
given the radices each of them wants: a gathering daemon receives r
messages and sends one aggregate, so a wide tree costs it nothing, while
a broadcasting daemon receives one copy and sends r, so the width is the
whole cost. The point of the second tree is therefore to be NARROWER
than the first.

At equal radices it is not narrower, it is identical - every daemon
relays to the same children it already had. The release will still be
correct, but it buys nothing and is carried through more machinery than
the routing tree needs, so it can only be slower.

Set rml_base_radix2 to the radix you actually want for the release - it
defaults to 4, which is where the cost model puts the optimum for a
payload the size of a modex - or turn grpcomm_low_radix_release off. The
runtime is continuing with the settings as given.
