pmodels / mpich

Official MPICH Repository
http://www.mpich.org
Other
541 stars 280 forks source link

coll: remove ssend in allgatherv linear algorithm #7122

Closed hzhou closed 1 month ago

hzhou commented 1 month ago

Pull Request Description

The ssend is meant to avoid large messages arriving unexpectedly overwhelming the root. This was originally an issue on BG/P. Most modern lower layer, e.g. ucx, will use some sort of rndv or traffic control for large messages anyway, thus the ssend is unnecessary but only adds to performance overhead.

Currently, ch4 doesn't implement ssend as an explicit rndv anyway, and will have the same issue as the direct send.

This commit removes the ssend, just do direct send.

Reference discussions in https://github.com/pmodels/mpich/pull/7121

[skip warnings]

TODO

Author Checklist

hzhou commented 1 month ago

test:mpich/ch3/most test:mpich/ch4/most

hzhou commented 1 month ago

Don't know about the removal of all the ssend implementation in case we may need them again in the future? But LGTM otherwise.

We can add them back when needed.