Describe your usage question
Hi, I was reading the implementation of extendGroupSizeTo and noticed that newly added ranks always get an identity local-to-global mapping:
// mooncake_backend.cpp
for (int i = oldSize; i < newSize; ++i) {
local2global_rank_map_[i] = i;
}
But the constructor reads global_ranks_in_group from distBackendOpts to build this mapping properly, supporting cases where local rank ≠ global rank.
My question: is extendGroupSizeTo intended to be used only on full-world groups (where local rank always equals global rank)?
I haven't hit an issue in practice since all the existing tests use full-world groups, just want to understand the intended contract before relying on it in a setup where sub-groups might be involved.
Before submitting a new issue...
Describe your usage question
Hi, I was reading the implementation of extendGroupSizeTo and noticed that newly added ranks always get an identity local-to-global mapping:
But the constructor reads global_ranks_in_group from distBackendOpts to build this mapping properly, supporting cases where local rank ≠ global rank.
My question: is extendGroupSizeTo intended to be used only on full-world groups (where local rank always equals global rank)?
I haven't hit an issue in practice since all the existing tests use full-world groups, just want to understand the intended contract before relying on it in a setup where sub-groups might be involved.
Before submitting a new issue...