Open rkowalewski opened 5 years ago
So I did a small fix for me and mapped DART_UNDEFINED_UNIT_ID
to MPI_PROC_NULL
, see this code. But we need a more general solution there since it affects all communication routines.
Interesting use-case, didn't think we'd need that. Introducing that globally should be straight-forward (afaics, it's only relevant for put
/get
/send
/recv
/sendrecv
, right?). Except for sendrecv
, we can short-cut and avoid a call to MPI alltogether...
You may be right. It is not really urgent since I have a "fix" for my use case, so prioritize more critical stuff for you.
All DART API calls validate the unitId arguments (source and destination) to be in the range
0 <= unitId < team_size
. Unfortunately, this prohibits the possibility to passDART_UNEFINED_UNIT_ID
as an equivalent toMPI_PROC_NULL
which is a valid parameter in MPI communication routines. This greatly simplifies code and leaves possible optimizations to MPI. We do not have a notion ofDART_UNIT_ID_NULL
or something similar. That is something we certainly need. At least I need it indash::sort
to provide a very simple ring-communication based ondart_sendrecv
.