[mpich-discuss] MPIX Streams Usage

Ryan Deng ryandeng at mit.edu
Sat Jul 5 01:48:00 CDT 2025


Hi,

I had some questions about how MPIX_Streams work under the hood. I had posted a couple of times on the github issues page before about it but thought this might be a more appropriate place for it.

Right now, my code involves many MPIX_Stream_isends/MPIX_Stream_irecvs as processes asynchronously communicate with one another, and I have a separate thread in the background constantly advancing progress on streams.

It's my understanding that all operations on a stream must occur serially. I assume this means that things operations like sending and receiving, calling MPIX_Stream_progress/MPI_Wait cannot occur at the same time without locks? Are there any other operations on streams that cannot occur concurrently?

In addition, I had also triggered the assertion here<https://urldefense.us/v3/__https://github.com/pmodels/mpich/blob/837914f6e810bbbd5e7ad391bbad9f546ffe3dab/src/mpid/ch4/shm/posix/posix_progress.h*L72__;Iw!!G_uCfscf7eWS!cK1AJPZW8zQ8gnmJ2XatdQNoOydpD7-3SuzANwgQMZT68UGmFP9sXZO2GMboYtXFR9JgbT21tIZTWvg$ >.
[https://urldefense.us/v3/__https://opengraph.githubassets.com/a68c91e94d3a9dcfc8cbfd9fbffd5b2cc6514180d7dd8cffd36c9ccf563b3fa9/pmodels/mpich__;!!G_uCfscf7eWS!cK1AJPZW8zQ8gnmJ2XatdQNoOydpD7-3SuzANwgQMZT68UGmFP9sXZO2GMboYtXFR9JgbT217u1Y9sI$ ]<https://urldefense.us/v3/__https://github.com/pmodels/mpich/blob/837914f6e810bbbd5e7ad391bbad9f546ffe3dab/src/mpid/ch4/shm/posix/posix_progress.h*L72__;Iw!!G_uCfscf7eWS!cK1AJPZW8zQ8gnmJ2XatdQNoOydpD7-3SuzANwgQMZT68UGmFP9sXZO2GMboYtXFR9JgbT21tIZTWvg$ >
mpich/src/mpid/ch4/shm/posix/posix_progress.h at 837914f6e810bbbd5e7ad391bbad9f546ffe3dab · pmodels/mpich<https://urldefense.us/v3/__https://github.com/pmodels/mpich/blob/837914f6e810bbbd5e7ad391bbad9f546ffe3dab/src/mpid/ch4/shm/posix/posix_progress.h*L72__;Iw!!G_uCfscf7eWS!cK1AJPZW8zQ8gnmJ2XatdQNoOydpD7-3SuzANwgQMZT68UGmFP9sXZO2GMboYtXFR9JgbT21tIZTWvg$ >
Official MPICH Repository. Contribute to pmodels/mpich development by creating an account on GitHub.
github.com
Does this mean that I cannot send multiple messages at the same time if it's between two different streams? On the github issue here<https://urldefense.us/v3/__https://github.com/pmodels/mpich/issues/7492__;!!G_uCfscf7eWS!cK1AJPZW8zQ8gnmJ2XatdQNoOydpD7-3SuzANwgQMZT68UGmFP9sXZO2GMboYtXFR9JgbT21hjYM3bE$ >, Hui Zhou mentioned that it is due to messaging protocol consistency. I'm not quite sure what he means by it and what that means in terms of what I can and cannot do in my application involving MPIX_Streams.

Thanks,
Ryan


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20250705/381d1ad9/attachment.html>


More information about the discuss mailing list