[Chapel Merge] Ensure uGNI comm domain IDs really are unique with

Branch: refs/heads/main
Revision: d635866
Author: gbtitus
Link: Ensure uGNI comm domain IDs really are unique within nodes. by gbtitus · Pull Request #19370 · chapel-lang/chapel · GitHub
Log Message:

Merge pull request #19370 from gbtitus/ugni-allow-node-overload

Ensure uGNI comm domain IDs really are unique within nodes.

(Reviewed by @ronawho and @jhh67.)

The GNI_CdmCreate() documentation says, in effect, that the instance
identifiers associated with all the communication domains defined on a
given NIC (node) have to be unique. Prior to this, we've just been
using the intra-process comm domain index, but that isn't unique when
we're running more than one locale per node. Admittedly running more
than one locale per node is not an execution model we recommend for
production use, but still it ought to work. Here, make sure the comm
domain instance IDs are unique within the job. That's overkill, but
making them merely unique within the node would have required a larger
change.

With this change in place I've successfully run hello6-taskpar-dist at
16 locales per node.

Modified Files:
M runtime/src/comm/ugni/comm-ugni.c

Compare: https://github.com/chapel-lang/chapel/compare/ebce725b9d6c...d6358666b465