-
Notifications
You must be signed in to change notification settings - Fork 890
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
--stream-buffering=0
is not behaving as expected
#13087
Comments
See #12594 for the explanation - or you could just ask
|
I found this documentation: I do expect I could however not find where the doc is generated from - Thank you for your fast response and sorry I missed the other documentation. |
Nope - at least, not here, unless someone else wants to write it. PRRTE uses a hierarchical help system, which is actually loosely modeled on what MPICH's hydra does.
I don't think that cmd line option exists any more, though the OMPI folks have the ability to re-create it (just translate it to the new option under-the-covers). However, I don't think anyone over here has interest in doing so. |
I do not think that is needed, but then it should not be mentioned in the documentation. It is still mentioned here: If I click on edit or view source, it is not mentioned. Is the html version outdated and needs to be rebuild? |
--stream-buffering
The generation of the Specifically, that We'd love to have a fix for that text -- opening a PR against https://github.com/open-mpi/prrte will fix the text, and then we would need to update the git submodule here in OMPI to pull in those changes (which then automatically re-generates + re-deploys the docs). There will likely need to be a few PRs:
EDITED: fixed repo / branch names. |
No, that's not correct - your v5.0.x branch points to upstream PRRTE v3.0 branch, not your local fork. So the fix would have to go upstream first. |
Oops! @rhc54 is correct -- sorry for the confusion.
|
I'd like to clarify something here: the
If you pass an unrecognized option to
Hence, this is not a "we need to fix the documentation to remove the Is that correct, @dschwoerer? |
Using a slightly simpler example, I can replicate the behavior that @dschwoerer reported in the original description:
Should emit Instead, it emits @rhc54 I see #12594, but I'm still not clear on exactly what is supposed to happen. I see that both Is there something else that needs to be done w.r.t. PMIX to effect how IOF transports the output back to |
Actually, I'm not sure that the original example is a good example of this behavior. The shell adds its own layer of stdout buffering. Instead, using a trivial C program is a better example: #include <stdio.h>
#include <unistd.h>
#include "mpi.h"
int main(int argc, char* argv[])
{
MPI_Init(&argc, &argv);
printf("Hello world\n");
printf("Hello");
sleep(5);
printf(" World\n");
MPI_Finalize();
return 0;
} Running this program, I would expect:
With This is important because if you run with Back to the C example: I see the same output with This tells me that the value of 0 isn't behaving the way we expect. This basically leads me back to my question to @rhc54 if we need to do something more than |
--stream-buffering
--stream-buffering=0
is not behaving as expected
I return to my original answer - you need to hook it up to the RAW setting on output. I have no idea what the different values for "stream-buffering" are supposed to do. PRRTE/PMIx only respects the two options noted in the help output. If your option isn't doing what you expect, then you probably aren't hooking it up to a recognized PRRTE option so it can set PMIx up correctly. |
Just to be clear:
No idea what you are talking about here. PRRTE isn't calling All PRRTE does is set PMIx up so it doesn't buffer full lines (up to a newline) before output. Nothing more. |
Background information
I would like to see progress information in my simulation, to ensure it is not stuck, or if it is, to handle appropriately.
However only on a newline the output is printed.
What version of Open MPI are you using? (e.g., v4.1.6, v5.0.1, git branch name and hash, etc.)
v5.0.5 (openmpi-5.0.5-2.fc41.x86_64)
Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)
From fedora package
If you are building/installing from a git clone, please copy-n-paste the output from
git submodule status
.Please describe the system on which you are running
I also tried v5.0.6 from fedora 42 but on a infiniband system with the same issue
Details of the problem
The output is always line buffered, even if explicitly requested to not do it.
Full buffering is similarly ignored. Printing to stderr instead of stdout does not help either.
Example program:
mpirun --stream-buffering=0 -np 2 sh -c "echo a ; printf b ; sleep 1; echo c"
Expected output:
Actual output:
Previous openmpi version (4.1.x) did not introduce line buffering. Mpich is also not causing linebuffering.
The text was updated successfully, but these errors were encountered: