- changed status to resolved
More scalable construction of upcxx::local_team
The logic in upcxx::init()
to construct the local_team
is using gex_TM_Split()
, which inherently must communicate in order to discover team members with the same "color". It is unfortunate that a global communication is required to construct teams consisting entirely of ranks on the same host.
Currently gex_TM_Split()
is the only available GASNet-EX API for constructing new teams. However, work is underway to specify and implement gex_TM_Contruct()
which will be semantically free of off-node communication for the case of constructing local_team
. It is hoped that the implementation will be entirely free of off-node communication as well, though there is some doubt surrounding allocation of the teamid
used by GASNet-EX collectives.
Once the improved GASNet-EX API is available in the stable branch, upcxx::init
should be updated to use it.
Comments (1)
-
- Log in to comment
Resolved in pull request #243